<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7091769368651685109</atom:id><lastBuildDate>Mon, 19 Dec 2011 06:57:53 +0000</lastBuildDate><category>install</category><category>ruby</category><category>bugfix</category><category>googleCL</category><category>block</category><category>clear</category><category>display</category><category>list</category><category>relative</category><category>bugs</category><category>Zend Framework</category><category>ru-center</category><category>uTorrent</category><category>CodeIgniter</category><category>events</category><category>auth</category><category>Test</category><category>library</category><category>inherit</category><category>Kohana</category><category>console</category><category>xampp</category><category>DOM</category><category>applications</category><category>css</category><category>python</category><category>helper</category><category>ipfilter.dat</category><category>show_403</category><category>coding standart</category><category>vim</category><category>$HTTP_RAW_POST_DATA</category><category>зависания</category><category>float</category><category>opera</category><category>YandexBot</category><category>changes</category><category>guide</category><category>mysql</category><category>absolute</category><category>php</category><category>Google Code</category><category>социальные сети</category><category>static</category><category>.vimrc</category><category>reCAPTCHA</category><category>example</category><category>tutorial</category><category>DX Auth</category><category>migration</category><category>наследование</category><category>position</category><category>config</category><category>denwer</category><category>google chrome</category><category>socket</category><category>permissions</category><category>controller</category><category>SEO</category><category>fixed</category><category>view</category><category>ripn</category><category>html</category><category>framework</category><category>release</category><category>model</category><category>ubuntu</category><category>exploit</category><category>User-Agent</category><category>google</category><category>Ion Auth</category><title>Заметки разработчика</title><description>Заметки об используемых в работе языках программирования, фреймворках, инструментах и технологиях.</description><link>http://dev-mark.blogspot.com/</link><managingEditor>noreply@blogger.com (snake nf)</managingEditor><generator>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dev-mark" /><feedburner:info uri="dev-mark" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>dev-mark</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-8924943095907535374</guid><pubDate>Sun, 20 Mar 2011 09:24:00 +0000</pubDate><atom:updated>2011-03-20T15:38:07.870+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">mysql</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Ubuntu: Устанавливаем и настраиваем MySQL</title><description>&lt;p&gt;Немного о установке и настройке &lt;strong&gt;MySQL&lt;/strong&gt; сервера на &lt;strong&gt;Ubuntu&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Сам процесс установки не является чем-то сложным (если не рассматривать сборку из исходников связки &lt;strong&gt;Apache&lt;/strong&gt; + &lt;strong&gt;PHP&lt;/strong&gt; + &lt;strong&gt;MySQL&lt;/strong&gt;, хотя и это несложно :) ) устанавливаются пакеты и немного правятся файлы конфигурации.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2011/03/ubuntu-mysql.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-8924943095907535374?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N2NJwefjweuEsTW-ICYfJ6XrYzM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N2NJwefjweuEsTW-ICYfJ6XrYzM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N2NJwefjweuEsTW-ICYfJ6XrYzM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N2NJwefjweuEsTW-ICYfJ6XrYzM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/kOwrq82Y6Rs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/kOwrq82Y6Rs/ubuntu-mysql.html</link><author>noreply@blogger.com (snake nf)</author><thr:total>1</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/03/ubuntu-mysql.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-8753552978512405081</guid><pubDate>Tue, 08 Feb 2011 19:10:00 +0000</pubDate><atom:updated>2011-04-05T13:24:48.579+07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">migration</category><category domain="http://www.blogger.com/atom/ns#">guide</category><title>Kohana 3.1: Руководство по обновлению и миграции</title><description>&lt;h3&gt;Изменения в классе Request&lt;/h3&gt;&lt;p&gt;Класс &lt;strong&gt;Request&lt;/strong&gt; был разделён на два класс &lt;strong&gt;Request&lt;/strong&gt; и &lt;strong&gt;Response&lt;/strong&gt;. Для установки ответа вы использовали:&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;$this-&amp;gt;request-&amp;gt;response = 'foo';
&lt;/pre&gt;&lt;p&gt;Оно было изменено на:&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;$this-&amp;gt;response-&amp;gt;body('foo');
&lt;/pre&gt;&lt;p&gt;Некоторые свойста существовавшие в классе &lt;span class='monospace'&gt;Request&lt;/span&gt; были преобразованы в методы класса:&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;Request::$controller -&amp;gt; Request::controller()
&lt;/pre&gt;&lt;pre class='brush: php; gutter: false;'&gt;Request::$action -&amp;gt; Request::action()
&lt;/pre&gt;&lt;pre class='brush: php; gutter: false;'&gt;Request::$directory -&amp;gt; Request::directory()
&lt;/pre&gt;&lt;pre class='brush: php; gutter: false;'&gt;Request::$uri -&amp;gt; Request::uri()
&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Request::instance()&lt;/strong&gt; был заменен на &lt;strong&gt;Request::current()&lt;/strong&gt; и &lt;strong&gt;Request::initial()&lt;/strong&gt;. Обычно вы будете использовать &lt;span class='monospace'&gt;Request::current()&lt;/span&gt;, но если вы уверены что хотите оригинальный запрос (когда запущен HMVC), используйте &lt;span class='monospace'&gt;Request::initial()&lt;/span&gt;&lt;/p&gt;&lt;!-- --&gt;&lt;br /&gt;
&lt;h3&gt;Изменения в классе Validation&lt;/h3&gt;&lt;p&gt;Класс проверки был улучшен для включения поддержки &amp;quot;контекста&amp;quot;, из-за этого изменился &lt;span class='monospace'&gt;API&lt;/span&gt;. Кроме того класс был разделён: ядро логики проверки теперь отделено от встроенных правил проверки. Новый класс ядра называется &lt;strong&gt;Validation&lt;/strong&gt;, а правила расположены в классе &lt;strong&gt;Valid&lt;/strong&gt;.&lt;/p&gt;&lt;!-- --&gt;&lt;br /&gt;
&lt;h3&gt;Проверка контекста&lt;/h3&gt;&lt;p&gt;Класс проверки теперь содержит поддержку &amp;quot;контекста&amp;quot;. Это позволило объединить методы &lt;strong&gt;rule()&lt;/strong&gt; и &lt;strong&gt;callback()&lt;/strong&gt;, и в теперь это просто метод &lt;span class='monospace'&gt;rule()&lt;/span&gt; который может использоваться в обоих случаях.&lt;/p&gt;&lt;p&gt;Старый вариант использования:&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;rule('password', 'matches', array('repeat_password'))
&lt;/pre&gt;&lt;p&gt;Новый вариант использования:&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;rule('password', 'matches', array(':validation', 'password', 'repeat_password'))
&lt;/pre&gt;&lt;p&gt;Третий параметр содержит все параметры которые должны пройти проверку правилом. Если взглянуть на &lt;strong&gt;Valid::matches()&lt;/strong&gt;, то увидим:&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;public static function matches($array, $field, $match)
&lt;/pre&gt;&lt;p&gt;&lt;span class='monospace'&gt;:validation&lt;/span&gt; первый параметр, &lt;span class='monospace'&gt;'password'&lt;/span&gt; - второй (поле которое мы хотим проверить) и &lt;span class='monospace'&gt;'repeat_password'&lt;/span&gt; это третье (которое мы хотим сравнить)&lt;/p&gt;&lt;p&gt;&lt;span class='monospace'&gt;:validation&lt;/span&gt; это специальная переменная &amp;quot;контекста&amp;quot; которая указывает классу &lt;strong&gt;Validation&lt;/strong&gt; о замене текущего класса проверки. Таким образом правила &lt;strong&gt;matches()&lt;/strong&gt; не отличаются от &lt;strong&gt;callback()&lt;/strong&gt; в работе, но более мощные. Есть и другие контекстные переменные:&lt;/p&gt;&lt;p&gt;&lt;span class='monospace'&gt;:validation&lt;/span&gt; - Объект проверки&lt;/p&gt;&lt;p&gt;&lt;span class='monospace'&gt;:field&lt;/span&gt; - Имя поля (rule('username', 'min_length', array(':field', 4)))&lt;/p&gt;&lt;p&gt;&lt;span class='monospace'&gt;:value&lt;/span&gt; - Значение поля&lt;/p&gt;&lt;p&gt;Можно использовать любую php функцию, если она возвращает логическое значение.&lt;/p&gt;&lt;!-- --&gt;&lt;br /&gt;
&lt;h3&gt;Куки salt&lt;/h3&gt;&lt;p&gt;Класс &lt;strong&gt;Cookie&lt;/strong&gt; вызывает исключение, если &lt;strong&gt;salt&lt;/strong&gt; не установлена, по умолчанию &lt;span class='monospace'&gt;salt&lt;/span&gt; не установлена. Вы должны убедиться, что установили &lt;span class='monospace'&gt;salt&lt;/span&gt; в файле инициализации (&lt;span class='monospace'&gt;bootstrap.php&lt;/span&gt;):&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;Cookie::$salt = 'foobar';
&lt;/pre&gt;&lt;p&gt;Или определить расширение класса &lt;strong&gt;Cookie&lt;/strong&gt; в вашем приложении:&lt;/p&gt;&lt;pre class='brush: php'&gt;class Cookie extends Kohana_Cookie
{
    public static $salt = 'foobar';
}
&lt;/pre&gt;&lt;!-- --&gt;&lt;br /&gt;
&lt;h3&gt;Изменение конструктора контроллера&lt;/h3&gt;&lt;p&gt;Если по какой-то причине вы хотите изменить свой конструктор контроллера, он изменился на:&lt;/p&gt;&lt;pre class='brush: php; gutter: false;'&gt;public function __construct(Request $request, Response $response)
&lt;/pre&gt;&lt;!-- --&gt;&lt;br /&gt;
&lt;h3&gt;Изменения index.php и bootstrap.php&lt;/h3&gt;&lt;p&gt;Основным изменением стало удаление запроса из &lt;strong&gt;bootstrap.php&lt;/strong&gt; и перенос его в &lt;strong&gt;index.php&lt;/strong&gt;. Это позволит использовать один файл инициализации для выполнения тестирования. Причина изменения в том, что инициализации выполняет только установку среды, она не должна запускать её.&lt;/p&gt;&lt;!-- --&gt;&lt;br /&gt;
&lt;h3&gt;Обработка 404&lt;/h3&gt;&lt;p&gt;Теперь &lt;strong&gt;Kohana&lt;/strong&gt; имеет встроенную поддержку исключения для 404 и других кодов статуса HTTP. Если вы использовали &lt;span class='monospace'&gt;ReflectionException&lt;/span&gt; для обнаружения 404, то сейчас должны использовать &lt;strong&gt;Http_Exception_404&lt;/strong&gt;. Подробности &lt;a href='http://kohanaframework.org/3.1/guide/kohana/errors'&gt;обработка ошибок&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-8753552978512405081?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6xUuLr0gRysZjl6Wu-p4Di2rZTA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6xUuLr0gRysZjl6Wu-p4Di2rZTA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6xUuLr0gRysZjl6Wu-p4Di2rZTA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6xUuLr0gRysZjl6Wu-p4Di2rZTA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/90AomGbddgA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/90AomGbddgA/kohana-31_09.html</link><author>noreply@blogger.com (snake nf)</author><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/02/kohana-31_09.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-3057639518012986657</guid><pubDate>Tue, 08 Feb 2011 18:40:00 +0000</pubDate><atom:updated>2011-02-09T01:12:14.513+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">release</category><title>Kohana 3.1</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Вышел новый релиз фреймворка &lt;strong&gt;Kohana 3.1&lt;/strong&gt;. Вместе со сменой версии произошли изменения &lt;span class='monospace'&gt;API&lt;/span&gt;, поэтому необходимо провести миграцию приложений на новый &lt;span class='monospace'&gt;API&lt;/span&gt;, если вы хотите использовать его для существующих приложений.&lt;/p&gt;&lt;div style='clear: both'&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href='http://kohanaframework.org/download'&gt;Скачать&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev.kohanaframework.org/projects/kohana3/issues?query_id=36'&gt;Изменения&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://kohanaframework.org/3.1/guide'&gt;Руководство пользователя&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Также следует отметить, что этот релиз означает начало конца поддержки 3.0.x. В течении 6 месяцев в 3.0.x не будет исправлений ошибок и новых релизов. Когда выйдет 3.2.0 (летом 2011), 3.0.x больше не будет поддерживаться, 3.1.x будет поддерживаться в течении одного года, после этого релиза (выход 3.3.0 будет означать конец поддержки 3.1.x)&lt;/p&gt;&lt;p&gt;Кроме того, есть &lt;a href='http://dev-mark.blogspot.com/2011/02/kohana-31_09.html'&gt;руководство по обновлению/миграции&lt;/a&gt; включающее в себя большую часть информации, возможно некоторые не существенные детали там отсутствуют.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-3057639518012986657?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3KVjlcRopD5flKe9Z8y9Y3L5jfs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3KVjlcRopD5flKe9Z8y9Y3L5jfs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3KVjlcRopD5flKe9Z8y9Y3L5jfs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3KVjlcRopD5flKe9Z8y9Y3L5jfs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/4Cn7S4VWOOw" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/4Cn7S4VWOOw/kohana-31.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s72-c/kohana_.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/02/kohana-31.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-2661331007335743133</guid><pubDate>Sat, 05 Feb 2011 14:05:00 +0000</pubDate><atom:updated>2011-02-06T00:13:57.239+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">framework</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">model</category><title>Kohana 3: Работа с моделью</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Мы уже более-менее разобрались с двумя компонентами архитектуры &lt;strong&gt;MVC&lt;/strong&gt;, остался третий &lt;strong&gt;M&lt;/strong&gt; - &lt;em&gt;Model&lt;/em&gt; (Модель).&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Модель&lt;/strong&gt; - это &lt;span class="monospace"&gt;PHP класс&lt;/span&gt; предназначенный для работы с информацией предоставленной или запрошенной контроллером. Например у вас есть гостевая книга, контроллер передаёт запрос в модель на получение последних десяти записей, модель возвращает эти записи контроллеру, который может передать эти данные в отображение. Контроллер так же может посылать новые записи в модель, обновлять или удалять существующие.&lt;p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Проще говоря, модель занимается обработкой и управлением данными.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2011/02/kohana-3.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-2661331007335743133?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sC3MfBupkmZQKOJcRvswDE6DO_o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sC3MfBupkmZQKOJcRvswDE6DO_o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sC3MfBupkmZQKOJcRvswDE6DO_o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sC3MfBupkmZQKOJcRvswDE6DO_o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/bINa1cs72js" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/bINa1cs72js/kohana-3.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s72-c/kohana_.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/02/kohana-3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-5259313086709233743</guid><pubDate>Sat, 29 Jan 2011 10:17:00 +0000</pubDate><atom:updated>2011-01-29T16:26:27.216+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">Google Code</category><title>Kohana 3: Примеры из руководства</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TUPn-JLfbII/AAAAAAAACWY/wUfVR6v98ls/s1600/google_code_logo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TUPn-JLfbII/AAAAAAAACWY/wUfVR6v98ls/s1600/google_code_logo.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;В связи с тем, что в примерах руководства по &lt;strong&gt;Kohana 3&lt;/strong&gt; становиться всё больше файлов, я начал их выкладывать на &lt;a href='http://code.google.com/p/dev-mark/'&gt;google code&lt;/a&gt;.&lt;/p&gt;&lt;pre class='brush: bash'&gt;svn checkout http://dev-mark.googlecode.com/svn/trunk/dev-mark/Kohana3-tutorial Kohana3-tutorial
&lt;/pre&gt;&lt;p&gt;Что бы не захламлять репозитарий выкладываются только те файлы, которые используются в руководстве. То есть, нужно предварительно установить &lt;strong&gt;фреймворк Kohana 3&lt;/strong&gt;, а затем в него скопировать файлы руководства.&lt;/p&gt;&lt;p&gt;Имена каталогов с файлами руководства обозначаются по принципу: &lt;span class='monospace'&gt;tutorial_XX&lt;/span&gt;, где &lt;span class='monospace'&gt;XX&lt;/span&gt; - номер руководства.&lt;/p&gt;&lt;p&gt;Каталоги с дополнениями к руководству именуются по такому же принципу, только вместо номера руководства будет название дополения. Например каталог с файлами для &lt;a href='http://dev-mark.blogspot.com/2011/01/kohana-3-ubuntu.html'&gt;Kohana 3: Установка под Ubuntu&lt;/a&gt; будет называться &lt;span class='monospace'&gt;'tutorial_ubuntu'&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Структура содержимого папок с файлами руководства:&lt;/p&gt;&lt;p&gt;&lt;em&gt;kohana&lt;/em&gt; - каталог с файлами фреймворка для проекта, файлы расположены в соответствующих каталогах&lt;/p&gt;&lt;p&gt;&lt;em&gt;webroot&lt;/em&gt; - DocumentRoot проекта&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-5259313086709233743?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YOw3V8ObyBUEYV5J0_U55SLchgA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YOw3V8ObyBUEYV5J0_U55SLchgA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YOw3V8ObyBUEYV5J0_U55SLchgA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YOw3V8ObyBUEYV5J0_U55SLchgA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/8YGCqdlJ7MY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/8YGCqdlJ7MY/kohana-3_6944.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TUPn-JLfbII/AAAAAAAACWY/wUfVR6v98ls/s72-c/google_code_logo.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/01/kohana-3_6944.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-1584217139723810963</guid><pubDate>Sat, 29 Jan 2011 06:28:00 +0000</pubDate><atom:updated>2011-03-10T23:53:44.146+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">controller</category><category domain="http://www.blogger.com/atom/ns#">framework</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><title>Kohana 3: Работа с контроллерами</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;В прошлой части мы познакомились с отображениями, в этой части мы  будем расширять классы &lt;span class="monospace"&gt;Controller&lt;/span&gt;, что позволит нам создавать шаблоны для сайтов. Шаблон - обычное отображение которое более или менее базируется на &lt;span class="monospace"&gt;(X)HTML&lt;/span&gt; коде. Это позволит содержать наши отображения в рамках &lt;abbr title="Don&amp;#39;t Repeat Yourself"&gt;DRY&lt;/abbr&gt; или &lt;abbr title="Duplication is Evil"&gt;DIE&lt;/abbr&gt; принципа разработки.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2011/01/kohana-3_29.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-1584217139723810963?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FGtjTDRJgtr_vzezvt8HHYNE4ec/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FGtjTDRJgtr_vzezvt8HHYNE4ec/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FGtjTDRJgtr_vzezvt8HHYNE4ec/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FGtjTDRJgtr_vzezvt8HHYNE4ec/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/z2c-UuOjjxE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/z2c-UuOjjxE/kohana-3_29.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s72-c/kohana_.jpg" height="72" width="72" /><thr:total>6</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/01/kohana-3_29.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-8102395343345036534</guid><pubDate>Sun, 23 Jan 2011 15:10:00 +0000</pubDate><atom:updated>2011-10-07T15:11:22.567+07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">install</category><category domain="http://www.blogger.com/atom/ns#">framework</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Kohana 3: Установка под Ubuntu</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/__3gdP9V-RAU/TTwp6cfQAMI/AAAAAAAACVU/xrB5KFn4Ic8/s1600/LAMPKohana.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/__3gdP9V-RAU/TTwp6cfQAMI/AAAAAAAACVU/xrB5KFn4Ic8/s1600/LAMPKohana.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Раскопав в закромах немного старого железа, было решено взгромоздить всё это дело Ubuntu и использовать под небольшой www сервер.&lt;/p&gt;&lt;p&gt;В &lt;a href="http://dev-mark.blogspot.com/2011/01/kohana3.html"&gt;Kohana 3: Первые шаги&lt;/a&gt; я обещал рассказать о процеесе установки фреймворка &lt;strong&gt;Kohana 3&lt;/strong&gt; под linux, чем далее и займусь.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2011/01/kohana-3-ubuntu.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-8102395343345036534?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZSK0njchextiMHQTKXqrn6KsBVY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZSK0njchextiMHQTKXqrn6KsBVY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZSK0njchextiMHQTKXqrn6KsBVY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZSK0njchextiMHQTKXqrn6KsBVY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/wWrl5TEm440" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/wWrl5TEm440/kohana-3-ubuntu.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/__3gdP9V-RAU/TTwp6cfQAMI/AAAAAAAACVU/xrB5KFn4Ic8/s72-c/LAMPKohana.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/01/kohana-3-ubuntu.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-2420479368447061730</guid><pubDate>Mon, 10 Jan 2011 08:26:00 +0000</pubDate><atom:updated>2011-02-06T00:12:30.683+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">framework</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">view</category><title>Kohana 3: Работа с отображениями</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;В предыдущей части &lt;a href="http://dev-mark.blogspot.com/2011/01/kohana3.html"&gt;&lt;strong&gt;Kohana 3&lt;/strong&gt;: Первые шаги&lt;/a&gt; мы научились устанавливать фреймворк из репозитария, настраивать &lt;span class="monospace"&gt;index.php&lt;/span&gt;, создавать контроллер, создавать метод вызываемый по умолчанию и немного общаться с внешним миром. В этой части мы познакомимся с отображениями (&lt;strong&gt;views&lt;/strong&gt;), научимся передавать данные в отображения, работать с вложенными отображениями и переменными отображений.&lt;/p&gt;&lt;blockquote&gt;Используется несколько вариантов перевода &lt;strong&gt;View&lt;/strong&gt; на русский язык, в основном используется три: &lt;em&gt;представление&lt;/em&gt;, &lt;em&gt;вид&lt;/em&gt; или &lt;em&gt;отображение&lt;/em&gt;. Я буду использовать &lt;em&gt;отображение&lt;/em&gt;, мне оно привычнее.&lt;/blockquote&gt;&lt;a href="http://dev-mark.blogspot.com/2011/01/kohana-3.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-2420479368447061730?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yvJdtj2a1GERtaw-af70SlFX4S4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yvJdtj2a1GERtaw-af70SlFX4S4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yvJdtj2a1GERtaw-af70SlFX4S4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yvJdtj2a1GERtaw-af70SlFX4S4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/nI2ZTb6nbu8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/nI2ZTb6nbu8/kohana-3.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s72-c/kohana_.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/01/kohana-3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-8539847897852736081</guid><pubDate>Fri, 07 Jan 2011 11:57:00 +0000</pubDate><atom:updated>2011-02-06T00:11:29.712+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kohana</category><category domain="http://www.blogger.com/atom/ns#">install</category><category domain="http://www.blogger.com/atom/ns#">framework</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><title>Kohana 3: Первые шаги</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s800/kohana_.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Давно хотелось по плотнее взяться за фреймворк &lt;strong&gt;Kohana&lt;/strong&gt;, тем более что сталкиваться с ним приходилось, а нормально по работать не удалось. Будем считать, что начнётся изучение с нуля, но базовые знания настроек&lt;span class="monospace"&gt; Apache&lt;/span&gt; и программирования на &lt;span class="monospace"&gt;php&lt;/span&gt; уже имеются. Так как линуксового сервера под рукой нет, то будем использовать WinXp с установленным &lt;em&gt;XAMPP&lt;/em&gt;, но к линуксовому серверу вернёмся по позже, как я его до собираю (скорее всего будет &lt;em&gt;ubuntu server&lt;/em&gt;).&lt;/p&gt;&lt;p&gt;У нас имеется XAMPP 1.7.3 установленный в &lt;span class="monospace"&gt;c:\xampp&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Apache 2.2.14 &lt;span class="monospace"&gt;c:\xampp\apache&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;PHP 5.3.1 &lt;span class="monospace"&gt;c:\xampp\php&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;MySQL 5.1.41. &lt;span class="monospace"&gt;c:\xampp\mysql&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://dev-mark.blogspot.com/2011/01/kohana3.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-8539847897852736081?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oQs3TnoCndaAwbhj0T-9c2JtQNI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oQs3TnoCndaAwbhj0T-9c2JtQNI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oQs3TnoCndaAwbhj0T-9c2JtQNI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oQs3TnoCndaAwbhj0T-9c2JtQNI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/FR0BIhW7_1s" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/FR0BIhW7_1s/kohana3.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/__3gdP9V-RAU/TSb7HAuQ-dI/AAAAAAAACTg/MZmIVzYx6j0/s72-c/kohana_.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/01/kohana3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-1686716399945517287</guid><pubDate>Wed, 05 Jan 2011 16:53:00 +0000</pubDate><atom:updated>2011-01-05T22:53:39.605+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">.vimrc</category><category domain="http://www.blogger.com/atom/ns#">vim</category><category domain="http://www.blogger.com/atom/ns#">config</category><title>Vim: Параметры отступов и типы файлов</title><description>&lt;div style="text-align: center; clear: both" class="separator"&gt;&lt;img style="margin-bottom: 1em; float: left; clear: left; margin-right: 1em" border="0" src="http://lh5.ggpht.com/__3gdP9V-RAU/TO-Gi0SmITI/AAAAAAAACKE/x5Xz3jORaSc/s800/2010-11-26_155742.jpg" width="320" height="245"&gt;&lt;/div&gt;&lt;p&gt;Разные типы файлов могут требовать разных настроек отступов. Например в &lt;span class="monospace"&gt;YAML-файле&lt;/span&gt; для отступов используется пробелы, в &lt;span class="monospace"&gt;Make-файле&lt;/span&gt; - табуляция, а в &lt;span class="monospace"&gt;Python-файле&lt;/span&gt; - 4 пробела. Эти настройки можно устанавливать автоматически в зависимости от типа файлов.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2011/01/vim.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-1686716399945517287?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/h2fgDU2Eu3-lMZj_FDrjmDMCGxU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h2fgDU2Eu3-lMZj_FDrjmDMCGxU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/h2fgDU2Eu3-lMZj_FDrjmDMCGxU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h2fgDU2Eu3-lMZj_FDrjmDMCGxU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/PAOmuyYNUYE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/PAOmuyYNUYE/vim.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/__3gdP9V-RAU/TO-Gi0SmITI/AAAAAAAACKE/x5Xz3jORaSc/s72-c/2010-11-26_155742.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/01/vim.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-5857035841551431567</guid><pubDate>Mon, 03 Jan 2011 19:07:00 +0000</pubDate><atom:updated>2011-01-04T01:07:56.558+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">float</category><category domain="http://www.blogger.com/atom/ns#">clear</category><category domain="http://www.blogger.com/atom/ns#">css</category><title>CSS: Всё о float</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://farm3.static.flickr.com/2715/4085916139_04b960db33_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://farm3.static.flickr.com/2715/4085916139_04b960db33_m.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;В современном веб дизайне свойство &lt;strong&gt;float&lt;/strong&gt; используется почти на каждом шагу. Но не смотря на такую распространённость не все понимают механизм работы плавающих блоков, их поведение и какие последствия могут быть от их использования.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2011/01/css-float.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-5857035841551431567?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zaleqvGEyC3dNWXgmiMObur6FeQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zaleqvGEyC3dNWXgmiMObur6FeQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zaleqvGEyC3dNWXgmiMObur6FeQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zaleqvGEyC3dNWXgmiMObur6FeQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/AulELZJoq3g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/AulELZJoq3g/css-float.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://farm3.static.flickr.com/2715/4085916139_04b960db33_t.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2011/01/css-float.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-7220316149018748044</guid><pubDate>Thu, 23 Dec 2010 08:18:00 +0000</pubDate><atom:updated>2011-01-03T02:55:34.289+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DOM</category><category domain="http://www.blogger.com/atom/ns#">html</category><category domain="http://www.blogger.com/atom/ns#">наследование</category><category domain="http://www.blogger.com/atom/ns#">css</category><title>CSS: Наследование</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TRL_ed4viJI/AAAAAAAACPE/q0q7gUd-fSY/s1600/css_inheritance.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="149" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TRL_ed4viJI/AAAAAAAACPE/q0q7gUd-fSY/s200/css_inheritance.jpg" width="200"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Наследование&lt;/strong&gt;, это процесс при котором свойства родительского элемента передаются к дочерним элементам, даже если эти свойства не были чётко определены. Некоторые свойства наследуются автоматически, элемент получает свойства своего предка.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/css_23.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-7220316149018748044?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jO1oUiyPTP5aBlBjZuB6xxklTBE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jO1oUiyPTP5aBlBjZuB6xxklTBE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jO1oUiyPTP5aBlBjZuB6xxklTBE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jO1oUiyPTP5aBlBjZuB6xxklTBE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/EOBmtXSxbIU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/EOBmtXSxbIU/css_23.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TRL_ed4viJI/AAAAAAAACPE/q0q7gUd-fSY/s72-c/css_inheritance.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/css_23.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-1864073701297316784</guid><pubDate>Wed, 22 Dec 2010 19:13:00 +0000</pubDate><atom:updated>2010-12-23T01:13:37.663+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">vim</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><title>Vim: Небольшой справочник</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TRJMR0ux7oI/AAAAAAAACOs/AFoR4-cK8RY/s1600/vim-help.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TRJMR0ux7oI/AAAAAAAACOs/AFoR4-cK8RY/s1600/vim-help.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Я давно использую &lt;strong&gt;Vim&lt;/strong&gt; в качестве основного редактора. И хотя над большими проектами работаю в &lt;strong&gt;eclipse&lt;/strong&gt;, для внесения незначительных правок проще использовать &lt;strong&gt;Vim&lt;/strong&gt;, чем ждать загрузки &lt;strong&gt;eclipse&lt;/strong&gt;. Но &lt;strong&gt;Vim&lt;/strong&gt; не совсем &lt;em&gt;&amp;quot;простой текстовый редактор&amp;quot;&lt;/em&gt; у него три режима работы и множество команд. Изучение команд и возможностей &lt;strong&gt;Vim&lt;/strong&gt; занимает время, но потраченное на изучение время быстро окупается.&lt;/p&gt;&lt;p&gt;Основные команды &lt;strong&gt;Vim&lt;/strong&gt; очень простые, но сочетание простых команд может быть довольно мощным инструментом.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/vim_23.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-1864073701297316784?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5w9DTghcdl81VWgb2CSYAPCm9d4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5w9DTghcdl81VWgb2CSYAPCm9d4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5w9DTghcdl81VWgb2CSYAPCm9d4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5w9DTghcdl81VWgb2CSYAPCm9d4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/zvgT-r9-XtE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/zvgT-r9-XtE/vim_23.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TRJMR0ux7oI/AAAAAAAACOs/AFoR4-cK8RY/s72-c/vim-help.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/vim_23.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-1471489853691412666</guid><pubDate>Wed, 22 Dec 2010 16:55:00 +0000</pubDate><atom:updated>2010-12-22T23:03:58.755+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">static</category><category domain="http://www.blogger.com/atom/ns#">relative</category><category domain="http://www.blogger.com/atom/ns#">position</category><category domain="http://www.blogger.com/atom/ns#">fixed</category><category domain="http://www.blogger.com/atom/ns#">inherit</category><category domain="http://www.blogger.com/atom/ns#">absolute</category><category domain="http://www.blogger.com/atom/ns#">css</category><title>CSS: Свойство position</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/__3gdP9V-RAU/TQ-WdtkrEmI/AAAAAAAACOU/gtolLjIbYSQ/s1600/ant_box.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/__3gdP9V-RAU/TQ-WdtkrEmI/AAAAAAAACOU/gtolLjIbYSQ/s1600/ant_box.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Свойство position распространяется на все элементы и может иметь одно из пяти возможных значений:&lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;span class="monospace"&gt;static&lt;/span&gt;&lt;/li&gt;
 &lt;li&gt;&lt;span class="monospace"&gt;relative&lt;/span&gt;&lt;/li&gt;
 &lt;li&gt;&lt;span class="monospace"&gt;absolute&lt;/span&gt;&lt;/li&gt;
 &lt;li&gt;&lt;span class="monospace"&gt;fixed&lt;/span&gt;&lt;/li&gt;
 &lt;li&gt;&lt;span class="monospace"&gt;inherit&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/css-position.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-1471489853691412666?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N9OB_vviW2bLmjtAkvPiz1Qc2hI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N9OB_vviW2bLmjtAkvPiz1Qc2hI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N9OB_vviW2bLmjtAkvPiz1Qc2hI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N9OB_vviW2bLmjtAkvPiz1Qc2hI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/4GMFI-6zC6I" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/4GMFI-6zC6I/css-position.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/__3gdP9V-RAU/TQ-WdtkrEmI/AAAAAAAACOU/gtolLjIbYSQ/s72-c/ant_box.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/css-position.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-1227013220730478734</guid><pubDate>Mon, 20 Dec 2010 13:51:00 +0000</pubDate><atom:updated>2010-12-20T19:51:41.573+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">inherit</category><category domain="http://www.blogger.com/atom/ns#">css</category><title>CSS: Значение свойства: inherit</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQ9enTxhpLI/AAAAAAAACNs/uTpRp-ff1D0/s1600/css_inheretance.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQ9enTxhpLI/AAAAAAAACNs/uTpRp-ff1D0/s1600/css_inheretance.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Хотя некоторые характеристики в &lt;strong&gt;CSS&lt;/strong&gt; наследуются автоматически, могут быть ситуации когда необходимо увеличить вес наследуемого свойства. Указание значения &lt;span class="monospace"&gt;inherit&lt;/span&gt; для любого свойства &lt;strong&gt;CSS&lt;/strong&gt;, применённого к элементу передаст вычисленное значение свойства элемента-родителя данному элементу. Указав в авторском стиле, что свойство наследует своё значение от предка, вы можете увеличить его вес.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/css-inherit.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-1227013220730478734?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dbwQqlH1kgAE3NHvpdz3CzuxnSk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dbwQqlH1kgAE3NHvpdz3CzuxnSk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dbwQqlH1kgAE3NHvpdz3CzuxnSk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dbwQqlH1kgAE3NHvpdz3CzuxnSk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/1A2-aPTNQx0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/1A2-aPTNQx0/css-inherit.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQ9enTxhpLI/AAAAAAAACNs/uTpRp-ff1D0/s72-c/css_inheretance.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/css-inherit.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-8091286167373483591</guid><pubDate>Fri, 17 Dec 2010 19:38:00 +0000</pubDate><atom:updated>2010-12-18T01:38:38.688+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">permissions</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Примеры. Пример с правами доступа</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;В последнем фрагменте перевода, руководства пользователя библиотеки &lt;strong&gt;DX Auth&lt;/strong&gt; фреймворка &lt;strong&gt;CodeIgniter&lt;/strong&gt;, мы рассмотрим пример установки прав доступа используя модель &lt;span class="monospace"&gt;application/models/dx_auth/permissions.php&lt;/span&gt;.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_18.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-8091286167373483591?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GcVjZWKnWDIQz4u0grtMvNK7ttY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GcVjZWKnWDIQz4u0grtMvNK7ttY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GcVjZWKnWDIQz4u0grtMvNK7ttY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GcVjZWKnWDIQz4u0grtMvNK7ttY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/ZXg0jJJu63w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/ZXg0jJJu63w/dx-auth_18.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_18.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-4787754179829736956</guid><pubDate>Fri, 17 Dec 2010 17:35:00 +0000</pubDate><atom:updated>2010-12-17T23:35:13.504+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">example</category><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">reCAPTCHA</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Примеры. Пример использования reCAPTCHA</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Десятая часть перевода документации библиотеки авторизации &lt;strong&gt;DX Auth&lt;/strong&gt; для фреймворка &lt;strong&gt;CodeIgniter&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Рассмотрим расширенный пример контроллера &lt;span class="monospace"&gt;Auth&lt;/span&gt;, демонстрирующий возможность использования &lt;strong&gt;reCAPTCHA&lt;/strong&gt; с библиотекой &lt;strong&gt;DX Auth&lt;/strong&gt;. Убедитесь, что вы указали общий и личный ключ в &lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_470.html"&gt;файле конфигурации&lt;/a&gt;, иначе пример не будет работать.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth-recaptcha.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-4787754179829736956?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tNQB9smyYov-TIIbyv0_ULzRQg0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tNQB9smyYov-TIIbyv0_ULzRQg0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tNQB9smyYov-TIIbyv0_ULzRQg0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tNQB9smyYov-TIIbyv0_ULzRQg0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/5KG22jF2GDY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/5KG22jF2GDY/dx-auth-recaptcha.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth-recaptcha.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-9156693799089678345</guid><pubDate>Fri, 17 Dec 2010 12:14:00 +0000</pubDate><atom:updated>2010-12-17T18:14:10.304+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ru-center</category><category domain="http://www.blogger.com/atom/ns#">ripn</category><title>.NET.RU, .ORG.RU, и .PP.RU на сопровождение в RU-CENTER</title><description>&lt;p&gt;Пришло письмо &amp;quot;счастья&amp;quot; от RIPN:&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/netru-orgru-ppru-ru-center.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-9156693799089678345?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aVSETX5mYGhs9iL2nL0N5H7g840/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aVSETX5mYGhs9iL2nL0N5H7g840/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aVSETX5mYGhs9iL2nL0N5H7g840/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aVSETX5mYGhs9iL2nL0N5H7g840/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/1HlWQnAYXLs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/1HlWQnAYXLs/netru-orgru-ppru-ru-center.html</link><author>noreply@blogger.com (snake nf)</author><thr:total>1</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/netru-orgru-ppru-ru-center.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-1809228155965755172</guid><pubDate>Wed, 15 Dec 2010 11:11:00 +0000</pubDate><atom:updated>2010-12-17T23:41:05.293+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">example</category><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Примеры. Расширенный пример</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;Девятая часть перевода документации библиотеки авторизации &lt;b&gt;DX Auth&lt;/b&gt; для фреймворка &lt;b&gt;CodeIgniter&lt;/b&gt;.&lt;br&gt;
Это более расширенный пример использования библиотеки &lt;b&gt;DX Auth&lt;/b&gt;, для реализации контроллера &lt;span class="monospace"&gt;Auth&lt;/span&gt;.&lt;br&gt;
Все пояснения вы можете увидеть в комментариях кода контроллера.&lt;br&gt;
&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_1038.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-1809228155965755172?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KUefFU5wvsCg3Lrs_TbIcZT7YDI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUefFU5wvsCg3Lrs_TbIcZT7YDI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KUefFU5wvsCg3Lrs_TbIcZT7YDI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUefFU5wvsCg3Lrs_TbIcZT7YDI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/_WsBY9_fL44" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/_WsBY9_fL44/dx-auth_1038.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_1038.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-6046311033062387723</guid><pubDate>Tue, 14 Dec 2010 18:43:00 +0000</pubDate><atom:updated>2010-12-17T23:40:39.387+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">example</category><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Примеры. Простой пример</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Перед тестированием пример убедитесь, что вы установили &lt;strong&gt;DX Auth&lt;/strong&gt; в соответствии с инструкцией.&lt;/p&gt;&lt;p&gt;Библиотека &lt;strong&gt;DX Auth&lt;/strong&gt; довольно проста в использовании, например создадим контроллер &lt;span class="monospace"&gt;Auth&lt;/span&gt;, с классом &lt;span class="monospace"&gt;Auth&lt;/span&gt;.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_15.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-6046311033062387723?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hiBMevYCppRmyZX2X_b9ixBdQ58/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hiBMevYCppRmyZX2X_b9ixBdQ58/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hiBMevYCppRmyZX2X_b9ixBdQ58/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hiBMevYCppRmyZX2X_b9ixBdQ58/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/1NKXqOvVjl4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/1NKXqOvVjl4/dx-auth_15.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_15.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-5348381157223120863</guid><pubDate>Mon, 13 Dec 2010 12:15:00 +0000</pubDate><atom:updated>2010-12-17T23:40:06.140+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Руководство пользователя. Анатомия таблиц</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Седьмая часть перевода документации библиотеки авторизации &lt;strong&gt;DX Auth&lt;/strong&gt; для фреймворка &lt;strong&gt;CodeIgniter&lt;/strong&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/codeigniter-dx-auth.html"&gt;&lt;strong&gt;CodeIgniter&lt;/strong&gt;: библиотека &lt;strong&gt;DX Auth&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: руководство пользователя. Начало&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_06.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Справочник по функциям&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_12.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. События&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_470.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Конфигурация&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_544.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Модели&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Анатомия таблиц&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_15.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Простой пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_1038.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Расширенный пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth-recaptcha.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;. Примеры. Пример использования &lt;strong&gt;reCAPTCHA&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Описание таблиц и их полей, используемых в DX Auth&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_13.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-5348381157223120863?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nwwfrYnH_z1RypKqc3uJnyPO334/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nwwfrYnH_z1RypKqc3uJnyPO334/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nwwfrYnH_z1RypKqc3uJnyPO334/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nwwfrYnH_z1RypKqc3uJnyPO334/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/fb2iqf69qQk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/fb2iqf69qQk/dx-auth_13.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_13.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-3224134836777280880</guid><pubDate>Sun, 12 Dec 2010 12:13:00 +0000</pubDate><atom:updated>2010-12-17T23:39:39.875+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">model</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Руководство пользователя. Модели.</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Шестая часть перевода документации библиотеки авторизации &lt;strong&gt;DX Auth&lt;/strong&gt; для фреймворка &lt;strong&gt;CodeIgniter&lt;/strong&gt;. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/codeigniter-dx-auth.html'&gt;&lt;strong&gt;CodeIgniter&lt;/strong&gt;: библиотека &lt;strong&gt;DX Auth&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: руководство пользователя. Начало&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth_06.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Справочник по функциям&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth_12.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. События&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth_470.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Конфигурация&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Модели&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth_13.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Анатомия таблиц&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth_15.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Простой пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth_1038.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Расширенный пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href='http://dev-mark.blogspot.com/2010/12/dx-auth-recaptcha.html'&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;. Примеры. Пример использования &lt;strong&gt;reCAPTCHA&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Библиотека DX Auth поставляется с несколькими моделями, которые расположены в каталоге &lt;span class='monospace'&gt;'models/dx_auth/'&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Модели содержат функции для работы с определёнными таблицами. Вы можете использовать функционал этих моделей для создания своей административной панели. По названию функций легко понять какие действия они выполняют, что облегчает их использование.&lt;/p&gt;&lt;p&gt;Итак, вот список моделей расположенных в каталоге 'models/dx_auth/':&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;users.php&lt;/strong&gt; содержит набор функций для работы с таблицей &lt;span class='monospace'&gt;'DX_users_table'&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;user_profile.php&lt;/strong&gt; содержит набор функций для работы с таблицей &lt;span class='monospace'&gt;'DX_user_profile_table'&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;user_temp.php&lt;/strong&gt; содержит набор функций для работы с таблицей &lt;span class='monospace'&gt;'DX_user_temp_table'&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;user_autologin.php&lt;/strong&gt; содержит набор функций для работы с таблицей &lt;span class='monospace'&gt;'DX_user_autologin'&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;roles.php&lt;/strong&gt; содержит набор функций для работы с таблицей &lt;span class='monospace'&gt;'DX_roles_table'&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;permissions.php&lt;/strong&gt; содержит набор функций для работы с таблицей &lt;span class='monospace'&gt;'DX_permissions_table'&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;login_attempts.php&lt;/strong&gt; содержит набор функций для работы с таблицей &lt;span class='monospace'&gt;'DX_login_attempts_table'&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-3224134836777280880?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8Z1Au6DTKnqYcMmXQvZGIMWuuV0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8Z1Au6DTKnqYcMmXQvZGIMWuuV0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8Z1Au6DTKnqYcMmXQvZGIMWuuV0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8Z1Au6DTKnqYcMmXQvZGIMWuuV0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/ajwWjAVuOYQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/ajwWjAVuOYQ/dx-auth_544.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_544.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-5692683915998024654</guid><pubDate>Sun, 12 Dec 2010 10:49:00 +0000</pubDate><atom:updated>2010-12-17T23:39:20.639+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">config</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Руководство пользователя. Конфигурация</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Пятая часть перевода документации библиотеки авторизации &lt;strong&gt;DX Auth&lt;/strong&gt; для фреймворка &lt;strong&gt;CodeIgniter&lt;/strong&gt;. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/codeigniter-dx-auth.html"&gt;&lt;strong&gt;CodeIgniter&lt;/strong&gt;: библиотека &lt;strong&gt;DX Auth&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: руководство пользователя. Начало&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_06.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Справочник по функциям&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_12.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. События&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Конфигурация&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_544.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Модели&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_13.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Анатомия таблиц&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_15.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Простой пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_1038.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Расширенный пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth-recaptcha.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;. Примеры. Пример использования &lt;strong&gt;reCAPTCHA&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Это файл конфигурации библиотеки DX Auth. Все параметры прокомментированы в коде.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_470.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-5692683915998024654?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yH9hHDPTa0HQlewLEEtPdEurpKI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yH9hHDPTa0HQlewLEEtPdEurpKI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yH9hHDPTa0HQlewLEEtPdEurpKI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yH9hHDPTa0HQlewLEEtPdEurpKI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/bKbCBp6E4lo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/bKbCBp6E4lo/dx-auth_470.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_470.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-4626127668512885740</guid><pubDate>Sun, 12 Dec 2010 09:03:00 +0000</pubDate><atom:updated>2010-12-17T23:38:57.498+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">events</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Руководство пользователя. События</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Четвёртая часть перевода документации библиотеки авторизации &lt;strong&gt;DX Auth&lt;/strong&gt; для фреймворка &lt;strong&gt;CodeIgniter&lt;/strong&gt;. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/codeigniter-dx-auth.html"&gt;&lt;strong&gt;CodeIgniter&lt;/strong&gt;: библиотека &lt;strong&gt;DX Auth&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: руководство пользователя. Начало&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_06.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Справочник по функциям&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. События&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_470.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Конфигурация&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_544.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Модели&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_13.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Анатомия таблиц&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_15.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Простой пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_1038.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Расширенный пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth-recaptcha.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;. Примеры. Пример использования &lt;strong&gt;reCAPTCHA&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;События, функции которые вызываются при определённых условиях. В данном случае срабатывание происходит, когда их вызывают определённые функции библиотеки &lt;strong&gt;DX Auth&lt;/strong&gt;. Для обработки этих событий вам нужно открыть &lt;span class="monospace"&gt;&amp;#39;libraries/DX_Auth_Event.php&amp;#39;&lt;/span&gt; и разместить ваш код в нужных функциях - обработчиках событий.&lt;/p&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_12.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-4626127668512885740?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cUt06Om4meGgz8a4yvHaRGPgZYM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cUt06Om4meGgz8a4yvHaRGPgZYM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cUt06Om4meGgz8a4yvHaRGPgZYM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cUt06Om4meGgz8a4yvHaRGPgZYM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/YTogKbs6rRQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/YTogKbs6rRQ/dx-auth_12.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_12.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7091769368651685109.post-4301195374907912021</guid><pubDate>Sun, 05 Dec 2010 18:42:00 +0000</pubDate><atom:updated>2010-12-17T23:38:31.890+06:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DX Auth</category><category domain="http://www.blogger.com/atom/ns#">CodeIgniter</category><category domain="http://www.blogger.com/atom/ns#">library</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">auth</category><title>DX Auth: Руководство пользователя. Справочник по функциям класса</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s1600/CI_DXAuth.jpg"&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Третья часть перевода документации библиотеки авторизации &lt;strong&gt;DX Auth&lt;/strong&gt; для фреймворка &lt;strong&gt;CodeIgniter&lt;/strong&gt;. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/codeigniter-dx-auth.html"&gt;&lt;strong&gt;CodeIgniter&lt;/strong&gt;: библиотека &lt;strong&gt;DX Auth&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: руководство пользователя. Начало&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Справочник по функциям&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_12.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. События&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_470.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Конфигурация&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_544.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Модели&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_13.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Руководство пользователя. Анатомия таблиц&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_15.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Простой пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_1038.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;: Примеры. Расширенный пример&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth-recaptcha.html"&gt;&lt;strong&gt;DX Auth&lt;/strong&gt;. Примеры. Пример использования &lt;strong&gt;reCAPTCHA&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;
&lt;p&gt;Далее приведён список функций которые вы можете использовать в работе с библиотекой DX Auth.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Основные функции&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;reCAPTCHA функции&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Устаревшие функции&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;a href="http://dev-mark.blogspot.com/2010/12/dx-auth_06.html#more"&gt;Дальше »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7091769368651685109-4301195374907912021?l=dev-mark.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eO8oLOHbUr87miTn9MFmkoMwFuw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eO8oLOHbUr87miTn9MFmkoMwFuw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eO8oLOHbUr87miTn9MFmkoMwFuw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eO8oLOHbUr87miTn9MFmkoMwFuw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/dev-mark/~4/M5eQF1zDrj4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/dev-mark/~3/M5eQF1zDrj4/dx-auth_06.html</link><author>noreply@blogger.com (snake nf)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/__3gdP9V-RAU/TQoNDdUkw3I/AAAAAAAACMs/qwZ1wjcvAF4/s72-c/CI_DXAuth.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dev-mark.blogspot.com/2010/12/dx-auth_06.html</feedburner:origLink></item></channel></rss>

