<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Блог программиста</title>
	
	<link>http://coderx.in</link>
	<description>→ sapienti sat - "мудрому достаточно слова"</description>
	<pubDate>Thu, 12 Aug 2010 09:26:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/coderxin" /><feedburner:info uri="coderxin" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><media:copyright>CoderX.in Все права защищены.</media:copyright><item>
		<title>Ajax debugging tools</title>
		<link>http://coderx.in/2010/08/12/ajax-debugging-tools/</link>
		<comments>http://coderx.in/2010/08/12/ajax-debugging-tools/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 09:25:37 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[Bugtrack]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[debug]]></category>

		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=588</guid>
		<description><![CDATA[ Если только начинаете разрабатывать, что то используя такую сборку технологий как AJAX, то советую взять себе на вооружение следующие утилиты:

Live HTTP Headers
View Formatted Source
Web Developer
Tamper Data
XMLHTTPRequest Debugging

Все они базируются на браузере FireFox.
Можно также почитать:

FireBug и с чем его едят
10 JavaScript AJAX меню&#160;&#8212; табов для вас
Сохраняем сайт для оффлайн ( Offline ) использования
Google выпустили Page [...]]]></description>
			<content:encoded><![CDATA[<p> Если только начинаете разрабатывать, что то используя такую сборку технологий как AJAX, то советую взять себе на вооружение следующие утилиты:</p>
<ul>
<li>Live HTTP Headers</li>
<li>View Formatted Source</li>
<li>Web Developer</li>
<li>Tamper Data</li>
<li>XMLHTTPRequest Debugging</li>
</ul>
Все они базируются на браузере FireFox.<br />
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2009/02/17/firebug-i-s-chem-ego-edyat/" title="FireBug и с чем его едят">FireBug и с чем его едят</a></li>
<li><a href="http://coderx.in/2009/07/30/10-javascript-ajax-menyu-tabov-dlya-vas/" title="10 JavaScript AJAX меню - табов для вас">10 JavaScript AJAX меню&nbsp;&mdash; табов для вас</a></li>
<li><a href="http://coderx.in/2009/07/16/soxranyaem-sajt-dlya-offlajn-offline-ispolzovaniya/" title="Сохраняем сайт для оффлайн ( Offline ) использования">Сохраняем сайт для оффлайн ( Offline ) использования</a></li>
<li><a href="http://coderx.in/2009/06/12/google-vypustili-page-speed-plagin-dlya-firefox/" title="Google выпустили Page Speed плагин для FireFox">Google выпустили Page Speed плагин для FireFox</a></li>
<li><a href="http://coderx.in/2009/02/22/css3-skruglyonnye-ugly/" title="CSS3 - скруглённые углы">CSS3&nbsp;&mdash; скруглённые углы</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/CqLbCm4WRoI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2010/08/12/ajax-debugging-tools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Отправка почты через GMail при помощи CodeIgniter</title>
		<link>http://coderx.in/2010/04/13/otpravka-pochti-cherez-gmail-pri-pomoshhi-codeigniter/</link>
		<comments>http://coderx.in/2010/04/13/otpravka-pochti-cherez-gmail-pri-pomoshhi-codeigniter/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 08:35:48 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[CodeIgniter]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[OpenSSL]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=576</guid>
		<description><![CDATA[ 
В этом коротком посте я в очередной раз коснусь работы с PHP фрэймворком CodeIgniter. В прошлом посте я рассказывал про то, как реализовать поддержку SSL протокола в вашем CI приложении. В этом посте я коснусь другого аспекта, также связанного с протоколом шифрования SSL, но в этот раз с OpenSSL.
Так уж сложилось, что множество Web-приложений, [...]]]></description>
			<content:encoded><![CDATA[<p> <img class="alignleft" style="margin-right: 5px; margin-left: 5px;" title="codeigniter" src="http://codeigniter.com/user_guide/images/ci_logo_flame.jpg" alt="" width="150" height="164" /><br />
В этом коротком посте я в очередной раз коснусь работы с PHP фрэймворком CodeIgniter. В прошлом посте я рассказывал про то, <a href="http://coderx.in/2010/03/05/php-codeigniter-i-ssl-podderzhka/">как реализовать поддержку SSL протокола</a> в вашем CI приложении. В этом посте я коснусь другого аспекта, также связанного с протоколом шифрования SSL, но в этот раз с OpenSSL.</p>
<p>Так уж сложилось, что множество Web-приложений, которые активно используются в интернете имеют почтовое сообщение непосредственно с клиентом и участником той или иной Web-cистемы. <span id="more-576"></span>В наше время почти каждый хостер поддерживает SMTP , POP и другие почтовые протоколы, но что делать если этого нет, или вам её отключили, или она отвалилась, но почта отправляться должна?</p>
<p>Если вы используете PHP каркас (framework) CodeIgniter, то проблему такого рода, можно решить очень просто. Решение заключается в отправке почты, через простой почтовый сервис GMail. Всё что вам потребуется, это поддержка OpenSSL на вашем сервере (OpenSSL на данный момент, есть почти на каждом маломальском хостинге).</p>
<p>Ниже я привожу функцию, в который прописано подключение к почтовому серверу GMail, формирование письма и отправка письма клиенту.</p>
<pre name="code" class="php">
function _send_mail($options = array())
{
	// GMail connection data
	$config = Array(
		'protocol' => 'smtp',
		'smtp_host' => 'ssl://smtp.googlemail.com',
		'smtp_port' => 465,
		'smtp_user' => 'your-email@gmail.com',
		'smtp_pass' => 'password',
	);

	// Loading email library with OpenSSL protocol
	$this->load->library('email', $config);

	// Creating clear line
	$this->email->set_newline("\r\n");

	// Email from to your-name@your-domain.tld
	$this->email->from($options['message_from']);

	// Email beeing sent to recipient@your-domain.tld
	$this->email->to($options['message_to']);

	// Subject text
	$this->email->subject('Subject text: '.$options['message_subject']);

	// Message text
	$this->email->message('Message text : '.$options['message_text']);
	// Sending mail
	if (!$this->email->send())
		return false;
	else
		return true;
}
</pre>
<p>Изначально вы формируете массив с конфигурацией подключения к почтовому серверу GMail. Далее при помощи сформированной конфигурации, вы инициализируете библиотеку &laquo;email&raquo;, которая отвечает за отправку почты. Далее вы формируете письмо, в теле которого вы используете входные параметры функции, которые вы передаёте в неё через массив $options.</p>
Вот и всё.<br />
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2010/03/05/php-codeigniter-i-ssl-podderzhka/" title="PHP: CodeIgniter и SSL поддержка">PHP: CodeIgniter и SSL поддержка</a></li>
<li><a href="http://coderx.in/2010/03/05/php-funkciya-proverki-ip-adresa/" title="PHP: функция проверки IP адреса">PHP: функция проверки IP адреса</a></li>
<li><a href="http://coderx.in/2009/07/31/optimiziruem-javascript-kod/" title="Оптимизируем JAVASCRIPT Код">Оптимизируем JAVASCRIPT Код</a></li>
<li><a href="http://coderx.in/2009/07/26/php-podschet-klikov-pravilnyj-put/" title="PHP: Подсчет кликов &ndash; правильный путь!">PHP: Подсчет кликов&nbsp;&mdash; правильный путь!</a></li>
<li><a href="http://coderx.in/2009/07/20/3-sposoba-kompressii-vashego-css-pri-pomoshhi-php/" title="3 способа компрессии вашего CSS при помощи PHP">3 способа компрессии вашего CSS при помощи PHP</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/g5yFjhJoCzM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2010/04/13/otpravka-pochti-cherez-gmail-pri-pomoshhi-codeigniter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ruby: Мелочь но приятно</title>
		<link>http://coderx.in/2010/04/01/ruby-meloch-no-priyatno/</link>
		<comments>http://coderx.in/2010/04/01/ruby-meloch-no-priyatno/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 06:34:21 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Веб-мастеру]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[round]]></category>

		<category><![CDATA[round_to]]></category>

		<category><![CDATA[ruby]]></category>

		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=569</guid>
		<description><![CDATA[ Я думаю почти все начинающие работать с Ruby, сталкиваются, что в базовой библиотеке для объекта типа&#160;&#8212; Float нет функции округления чисел с плавающей точкой , до конкретной позиции после точки, а точней всеми так любимого метода round_to ( за то там присутствуют методы round , ceil , floor ). Вот не большой снипет, надеюсь [...]]]></description>
			<content:encoded><![CDATA[<p> <img src="http://blog.floehopper.org/presentations/ruby-and-cocoa-ruby-manor-2009-12-14/images/ruby.png" alt="Ruby round function" width="100px" height="100px" align="left" style="padding-right: 10px"/>Я думаю почти все начинающие работать с Ruby, сталкиваются, что в базовой библиотеке для объекта типа&nbsp;&mdash; Float нет функции округления чисел с плавающей точкой , до конкретной позиции после точки, а точней всеми так любимого метода round_to ( за то там присутствуют методы <a href="http://ruby-doc.org/core/classes/Float.html#M000244">round</a> , <a href="http://ruby-doc.org/core/classes/Float.html#M000243">ceil</a> , <a href="http://ruby-doc.org/core/classes/Float.html#M000242">floor</a> ). Вот не большой снипет, надеюсь кому то поможет в жизни:</p>
<pre name="code" class="ruby">
class Float
  def round_to(x)
    (self * 10**x).round.to_f / 10**x
  end

  def ceil_to(x)
    (self * 10**x).ceil.to_f / 10**x
  end
  def floor_to(x)
    (self * 10**x).floor.to_f / 10**x
  end
end
</pre>
<pre name="code" class="ruby">
num = 138.249
num.round_to(2)
# => 138.25

num.floor_to(2)
# => 138.24
num.round_to(-1)
# => 140.0
</pre>
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li>похожих нет</li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/6UZOzG3ik3w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2010/04/01/ruby-meloch-no-priyatno/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Перенос блога</title>
		<link>http://coderx.in/2010/03/19/perenos-bloga/</link>
		<comments>http://coderx.in/2010/03/19/perenos-bloga/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 11:51:05 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=566</guid>
		<description><![CDATA[ Сегодня ночью блог совершил не большое путешествие с Американского хостинг сервера на Латвийский. Так что теперь сайт должен  грузиться на много быстрее.
Можно также почитать:

похожих нет

]]></description>
			<content:encoded><![CDATA[ Сегодня ночью блог совершил не большое путешествие с Американского хостинг сервера на Латвийский. Так что теперь сайт должен  грузиться на много быстрее.<br />
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li>похожих нет</li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/qfNTleb_usw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2010/03/19/perenos-bloga/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP: функция проверки IP адреса</title>
		<link>http://coderx.in/2010/03/05/php-funkciya-proverki-ip-adresa/</link>
		<comments>http://coderx.in/2010/03/05/php-funkciya-proverki-ip-adresa/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 08:04:47 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Полезные скрипты и прочее]]></category>

		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=557</guid>
		<description><![CDATA[ Может кому и пригодится, PHP функция для проверки IP адреса:
function ValidateIPAdress($value){

    if (preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $value)){
        return true;
    }
    return false;
}
if( ValidateIPAdress("192.168.0.1") )
    echo("This is an IPAdress");
else
    echo("This is not an IPAdress");

Можно также почитать:

Отправка [...]]]></description>
			<content:encoded><![CDATA[<p> Может кому и пригодится, PHP функция для проверки IP адреса:</p>
<pre name="code" class="php">function ValidateIPAdress($value){

    if (preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $value)){
        return true;
    }
    return false;
}
if( ValidateIPAdress("192.168.0.1") )
    echo("This is an IPAdress");
else
    echo("This is not an IPAdress");
</pre>
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2010/04/13/otpravka-pochti-cherez-gmail-pri-pomoshhi-codeigniter/" title="Отправка почты через GMail при помощи CodeIgniter">Отправка почты через GMail при помощи CodeIgniter</a></li>
<li><a href="http://coderx.in/2010/03/05/php-codeigniter-i-ssl-podderzhka/" title="PHP: CodeIgniter и SSL поддержка">PHP: CodeIgniter и SSL поддержка</a></li>
<li><a href="http://coderx.in/2009/07/31/optimiziruem-javascript-kod/" title="Оптимизируем JAVASCRIPT Код">Оптимизируем JAVASCRIPT Код</a></li>
<li><a href="http://coderx.in/2009/07/26/php-podschet-klikov-pravilnyj-put/" title="PHP: Подсчет кликов &ndash; правильный путь!">PHP: Подсчет кликов&nbsp;&mdash; правильный путь!</a></li>
<li><a href="http://coderx.in/2009/07/20/3-sposoba-kompressii-vashego-css-pri-pomoshhi-php/" title="3 способа компрессии вашего CSS при помощи PHP">3 способа компрессии вашего CSS при помощи PHP</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/IPMKux9d34E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2010/03/05/php-funkciya-proverki-ip-adresa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP: CodeIgniter и SSL поддержка</title>
		<link>http://coderx.in/2010/03/05/php-codeigniter-i-ssl-podderzhka/</link>
		<comments>http://coderx.in/2010/03/05/php-codeigniter-i-ssl-podderzhka/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 07:54:41 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[CodeIgniter]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Полезные скрипты и прочее]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=553</guid>
		<description><![CDATA[ В течение трёх месяцев я пытался найти элегантное решение для некоторых проблем связанных с безопасностью сайта. В том числе моменты связанные с протоколами&#160;&#8212; например переключение протокола с http:// на https:// для некоторых страниц сайта. Пришлось изрядно полазить по форумам.
Одним из решений является использование .htaccess файла и mod_rewrite для реврайтинга URL-ов. Но как показала практика [...]]]></description>
			<content:encoded><![CDATA[<p> <img class="alignleft" style="margin-right: 5px; margin-left: 5px;" title="codeigniter" src="http://codeigniter.com/user_guide/images/ci_logo_flame.jpg" alt="" width="150" height="164" />В течение трёх месяцев я пытался найти элегантное решение для некоторых проблем связанных с безопасностью сайта. В том числе моменты связанные с протоколами&nbsp;&mdash; например переключение протокола с http:// на https:// для некоторых страниц сайта. Пришлось изрядно полазить по форумам.</p>
<p>Одним из решений является использование .htaccess файла и mod_rewrite для реврайтинга URL-ов. Но как показала практика , это решение не самое лучшее, так как через месяц Apache начал хандрить и всё порушилось, так что пришлось искать другой вариант решение проблемы.</p>
<p>И так , если вы используете CI , то зада очень проста в директории application/helpers вы создаёте новый helper ( <a href="http://codeigniter.com/user_guide/general/helpers.html">если не знаете , как добавить Helper , читайте тут</a> )&nbsp;&mdash; например ssl_helper.php и записываете в него ниже следующий PHP код:</p>
<pre name="code" class="php">if (!function_exists('force_ssl'))
{
    function force_ssl()
    {
        $CI =&amp; get_instance();
        $CI-&gt;config-&gt;config['base_url'] =
                 str_replace('http://', 'https://',
                 $CI-&gt;config-&gt;config['base_url']);
        if ($_SERVER['SERVER_PORT'] != 443)
        {
            redirect($CI-&gt;uri-&gt;uri_string());
        }
    }
}
function remove_ssl()
{
    $CI =&amp; get_instance();
    $CI-&gt;config-&gt;config['base_url'] =
                  str_replace('https://', 'http://',
                  $CI-&gt;config-&gt;config['base_url']);
    if ($_SERVER['SERVER_PORT'] != 80)
    {
        redirect($CI-&gt;uri-&gt;uri_string());
    }
}</pre>
<p><span id="more-553"></span>Далее в любом контроллере подгружаете Helper и вызываете его.</p>
<pre name="code" class="php">force_ssl();</pre>
<p>В тех контроллерах, в которых вы не хотите, чтобы использовался данный Helper , вставьте ниже идущий код:</p>
<pre name="code" class="php">if (function_exists('force_ssl')) remove_ssl();</pre>
Вот впринципе и всё.<br />
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2010/04/13/otpravka-pochti-cherez-gmail-pri-pomoshhi-codeigniter/" title="Отправка почты через GMail при помощи CodeIgniter">Отправка почты через GMail при помощи CodeIgniter</a></li>
<li><a href="http://coderx.in/2010/03/05/php-funkciya-proverki-ip-adresa/" title="PHP: функция проверки IP адреса">PHP: функция проверки IP адреса</a></li>
<li><a href="http://coderx.in/2009/07/31/optimiziruem-javascript-kod/" title="Оптимизируем JAVASCRIPT Код">Оптимизируем JAVASCRIPT Код</a></li>
<li><a href="http://coderx.in/2009/07/26/php-podschet-klikov-pravilnyj-put/" title="PHP: Подсчет кликов &ndash; правильный путь!">PHP: Подсчет кликов&nbsp;&mdash; правильный путь!</a></li>
<li><a href="http://coderx.in/2009/07/20/3-sposoba-kompressii-vashego-css-pri-pomoshhi-php/" title="3 способа компрессии вашего CSS при помощи PHP">3 способа компрессии вашего CSS при помощи PHP</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/8035YOmwnbM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2010/03/05/php-codeigniter-i-ssl-podderzhka/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Оптимизируем JAVASCRIPT Код</title>
		<link>http://coderx.in/2009/07/31/optimiziruem-javascript-kod/</link>
		<comments>http://coderx.in/2009/07/31/optimiziruem-javascript-kod/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 14:13:54 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Веб-мастеру]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[оптимизация]]></category>

		<guid isPermaLink="false">http://coderx.in/2009/07/31/optimiziruem-javascript-kod/</guid>
		<description><![CDATA[ Всё больше и больше веб-разработчиков начинают пользоваться специальными библиотеками и Фреймворками для придания динамичности своему проекту , но не стоит забывать , что данные усовершенствования несут в себе и другую сторону. При использовании JavaScript Фреймворков увеличивается время загрузки страницы и иногда весьма значительно. Совсем не давно , я писал о трёх способах компрессии СSS [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://coderx.in/wp-content/uploads/2009/07/compressionblock.jpg"><img style="border-right-width: 0px; margin: 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CompressionBlock" border="0" alt="CompressionBlock" align="left" src="http://coderx.in/wp-content/uploads/2009/07/compressionblock-thumb.jpg" width="187" height="167" /></a> Всё больше и больше веб-разработчиков начинают пользоваться специальными библиотеками и Фреймворками для придания динамичности своему проекту , но не стоит забывать , что данные усовершенствования несут в себе и другую сторону. При использовании JavaScript Фреймворков увеличивается время загрузки страницы и иногда весьма значительно. Совсем не давно , я писал о <a href="http://coderx.in/2009/07/20/3-sposoba-kompressii-vashego-css-pri-pomoshhi-php/">трёх способах компрессии СSS при помощи PHP</a> , а сегодня хочу рассказать от том , как на лету можно оптимизировать JavaScript код.</p>
<p> <span id="more-541"></span>
<p>В принципе я часто встречаю различные статьи на заграничных блогах , на эту тему&nbsp;&mdash; как бороться с размером и весом кода , например используя <a href="http://www.crockford.com/javascript/jsmin.html">JSMin.</a> Но данное решение всего лишь удаляет комментарии , пробелы , переносы строк&nbsp;&mdash; которое создаёт компрессию файла на сколько это возможно без изменения в коде.</p>
<p>Если вы предпочитаете , нагнать туманности на ваш JS код ( сделать код менее читаемым для других ) , то есть другой вариант&nbsp;&mdash; алгоритма компрессии , так называемы <a href="http://dean.edwards.name/packer/">Paker</a> от Дина Эдвардса , в котором на много эффективней чем в предыдущем мною упомянутом происходит обработка и оптимизация кода. </p>
<p>Пакующий алгоритм дружит почти со всеми формами JS кода , но для успешной работы с ним вы должны придерживаться одного правила , когда пишите свой JavaScript код&nbsp;&mdash; закрывайте все функции и объявления в коде , правильно!&#160;&nbsp;&mdash; точкой с запятой.</p>
<p>Если привести некоторое сравнение , то при компрессии <strong>jQuery библиотеки&nbsp;&mdash; версии 1.0.3</strong> ( <em>оригинальный размер которой 51120 байт</em> ) мы получаем следующие результаты , приведённые в таблице:</p>
<div align="center">
<table border="0" cellspacing="0" cellpadding="2" width="249" align="center">
<tbody>
<tr>
<td valign="top" width="83">&#160;</td>
<td valign="top" width="83"><em>No Gzip </em></td>
<td valign="top" width="81"><em>With Gzip</em></td>
</tr>
<tr>
<td valign="top" width="83"><a href="http://www.crockford.com/javascript/jsmin.html">JSMin</a></td>
<td valign="top" width="83">30076 байт</td>
<td valign="top" width="81">9587            <br />байт</td>
</tr>
<tr>
<td valign="top" width="83"><a href="http://dean.edwards.name/packer/">Paker</a> </td>
<td valign="top" width="83">18923            <br />байт</td>
<td valign="top" width="81">9731            <br />байт</td>
</tr>
</tbody>
</table>
</div>
<p>Так что вы видите , что при компрессии используя <strong>Gzip</strong> разница совсем не велика , в другом случае она существенна.</p>
<p>Всё что вам требуется для того , чтобы оптимизировать и зажать ваш JavaScript при помощи PHP&nbsp;&mdash; это .htaccess файл и PHP обработчик ( всё есть в архиве указанном ниже ) , который скажет вашему веб серверу обрабатывать .js файлы через PHP. </p>
<blockquote>
<p><font style="background-color: #ffffff">Скачать исходные файлы можно <a href="http://agachi.name/tests/js-size/js-size.zip">от сюда</a>. [11kb]</font></p>
</blockquote>
<div class="pst">Отличный ресурс <a href="http://dipsa.ru/">по созданию сайтов</a>&nbsp;&mdash; поддержка , расскрутка и другие услуги в сфере веб-разработок. Эксклюзивные решения для вас : <a href="http://www.eremeev.ru/">разработка программного обеспечения на заказ для IPhone</a> и других платформ , включая MAC. Быстрая и профессиональная регистрация фирм на ресурсе&nbsp;&mdash; <a href="http://www.profireg.ru/">profireg.ru/</a>. </div>
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2009/07/20/3-sposoba-kompressii-vashego-css-pri-pomoshhi-php/" title="3 способа компрессии вашего CSS при помощи PHP">3 способа компрессии вашего CSS при помощи PHP</a></li>
<li><a href="http://coderx.in/2009/02/10/cheat-sheets-listy-podskazki-dlya-programmistov/" title="Cheat sheets - листы подсказки для программистов">Cheat sheets&nbsp;&mdash; листы подсказки для программистов</a></li>
<li><a href="http://coderx.in/2010/04/13/otpravka-pochti-cherez-gmail-pri-pomoshhi-codeigniter/" title="Отправка почты через GMail при помощи CodeIgniter">Отправка почты через GMail при помощи CodeIgniter</a></li>
<li><a href="http://coderx.in/2010/03/05/php-funkciya-proverki-ip-adresa/" title="PHP: функция проверки IP адреса">PHP: функция проверки IP адреса</a></li>
<li><a href="http://coderx.in/2010/03/05/php-codeigniter-i-ssl-podderzhka/" title="PHP: CodeIgniter и SSL поддержка">PHP: CodeIgniter и SSL поддержка</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/l5MYYDTTFCs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2009/07/31/optimiziruem-javascript-kod/feed/</wfw:commentRss>
		<media:content url="http://feedproxy.google.com/~r/coderxin/~5/SYnQ3hSsx8A/js-size.zip" fileSize="11734" type="application/zip" /><enclosure url="http://feedproxy.google.com/~r/coderxin/~5/SYnQ3hSsx8A/js-size.zip" length="11734" type="application/zip" /><feedburner:origEnclosureLink>http://agachi.name/tests/js-size/js-size.zip</feedburner:origEnclosureLink></item>
		<item>
		<title>Javascript решения популярных css проблем — Часть 1</title>
		<link>http://coderx.in/2009/07/31/javascript-resheniya-populyarnyx-css-problem-chast-1/</link>
		<comments>http://coderx.in/2009/07/31/javascript-resheniya-populyarnyx-css-problem-chast-1/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 08:55:00 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Веб-мастеру]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[ie6]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=534</guid>
		<description><![CDATA[ Сегодня я решил уделить внимание таким моментам , как проблемы при работе с CSS на кросс-браузерном уровне. CSS&#160;&#8212; определённо лучшая и самая популярная техника для веб-разработки , создания дизайна и.т.д. Однако , проблемы разных браузеров и отсутствие поддержки CSS3&#160;&#8212; реальная проблема для вашего творческого потенциала , так как это вызывает большую трату времени и [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://coderx.in/wp-content/uploads/2009/07/jscorecssselectors.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="js-core-css-selectors" border="0" alt="js-core-css-selectors" align="left" src="http://coderx.in/wp-content/uploads/2009/07/jscorecssselectors-thumb.png" width="149" height="149" /></a> Сегодня я решил уделить внимание таким моментам , как проблемы при работе с CSS на кросс-браузерном уровне. CSS&nbsp;&mdash; определённо лучшая и самая популярная техника для веб-разработки , создания дизайна и.т.д. Однако , проблемы разных браузеров и отсутствие поддержки CSS3&nbsp;&mdash; реальная проблема для вашего творческого потенциала , так как это вызывает большую трату времени и нервов. </p>
<p> <span id="more-534"></span>
<p>В данной статье рассмотрены 8 более менее популярных проблем , с которыми сталкиваются разные веб-разработчики во всём мире , каждый день.</p>
<hr />
<h4>Прозрачный фон , используя jQuery</h4>
<p>Кто не знает прозрачные фоны? По-моему многие пытаются использовать их в своих дизайнах и реализациях сайтов. Но благодаря тому , что долгие годы IE6 не может&#160; нормально отображать png файлы , это было большой проблемой для всех веб дизайнеров. Несмотря на то , что существует множество методов&nbsp;&mdash; доступных для того , чтобы решить проблему этого дефекта IE6 , на мой взгляд этот действительно хороший , так как он даёт возможность делать любой элемент прозрачным , даже без использования png файлов на вашем сайте.</p>
<p><a href="http://coderx.in/wp-content/uploads/2009/07/image.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://coderx.in/wp-content/uploads/2009/07/image-thumb.png" width="546" height="99" /></a> </p>
<h5>1. шаг</h5>
<p>Для начала вам требуется добавить следующие 2 файла на вашу веб страницу:</p>
<blockquote>
<p><a href="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js">http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js</a>&nbsp;&mdash; это сама библиотека jQuery.       <br /><a href="http://design-forge.ro/projects/opensource/transBG.jquery.plugin.js">http://design-forge.ro/projects/opensource/transBG.jquery.plugin.js</a>&nbsp;&mdash; это плагин для jQuery , который и даёт нам эффект прозрачности.</p>
</blockquote>
<h5>2. ШАГ</h5>
<p>Второй шаг&nbsp;&mdash; это добавление кода , который отвечает за конкретные элементы в дереве DOM. Вы можете добавить его в шапку сайта , либо в отдельный &laquo;*.js&raquo; документ. Для того , чтобы конкретный объект стал прозрачным , вам требуется применить к нему функцию <font face="Courier New">transBGdraw()</font>. </p>
<p>В данном случае вам надо знать азы работы с библиотекой jQuery , чтобы отобрать те элементы , которые вы хотите сделать прозрачными.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>#id<span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>#menu<span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>#container<span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// !!!IMPORTANT!!!</span>
<span style="color: #006600; font-style: italic;">// if you use tagnames or classes, make sure every object affected has a unique id.</span>
$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>div<span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>h6<span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>.<span style="color: #660066;">class1</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>.<span style="color: #660066;">text</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span>.<span style="color: #660066;">information</span><span style="color: #339933;">&amp;</span>quot<span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">transBGdraw</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p align="left">Ну вот&nbsp;&mdash; с данным методом всё ! Так как сам часто работаю с <strong>jQuery</strong> , применяю данную методику регулярно , так как использовать громосткие коды , которые иногда идут в разрез с другими библиотеками и скриптами , очень не удобно. А в <strong>jQuery</strong> всё что вам надо , либо вместо стандартной функции обёртки <font face="Courier New">$(селектор)</font> использовать <font face="Courier New">jQuery(селектор). </font><font face="Arial">Либо использовать специальную функцию&nbsp;&mdash; </font><font face="Courier New">jQuery.noConflict().</font></p>
<hr />
<h4>Разные классы , для разных браузеров</h4>
<p>В очередной раз не стоит напоминать о проблемах стилей в IE6 , одним из решений данной проблемы , является присваивание отдельных классов , для разных браузеров. Даже если IE ввел специальные тэги , чтобы включать стили только для IE&nbsp;&mdash; у разработчика должна быть возможность работать также и с другими браузерами. </p>
<p><a href="http://coderx.in/wp-content/uploads/2009/07/image1.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://coderx.in/wp-content/uploads/2009/07/image-thumb1.png" width="362" height="84" /></a>&#160;</p>
<p>Данное решение работает , только при использовании jQuery , так что убедитесь , что он у вас установлен. Далее , скопируйте следующий код в головную часть вашей страницы или в отдельный *.js файл.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span>jQuery.<span style="color: #660066;">browser</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>brow<span style="color: #339933;">,</span>bool<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">!!</span>bool <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> jQuery<span style="color: #009900;">&#40;</span>”html”<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span>brow<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Возможные варианты для селектора браузера , таковы&nbsp;&mdash; <em>.msie</em>, <em>.mozilla</em>, <em>.opera</em>, <em>.safari</em> или<em>.other . </em>Вот пример CSS кода , как работать с данной реализацией:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.msie</span> <span style="color: #6666ff;">.example</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.mozilla</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.opera</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> cyan<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.safari</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.js</span>  <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #993333;">solid</span> <span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Соответственно в зависимости от браузера вы увидите соответствующий этому браузеру цвет фона. Довольно удобное решение , но редко используется.</p>
<hr />
<h4>Колонки одинаковой высоты используя jQUery</h4>
<p>Когда вы используете таблицы , все колонки имею одну&nbsp;&mdash; фиксированную высоту. В то время , когда начинались первые шаги веб-дизайна , все использовали таблицы , чтобы создавать дизайн для своих проектов&nbsp;&mdash; так что проблемы создания колонок одинаковой высоты не существовало. Но с приходом CSS данная проблема появилась и&#160; стала существенной для многих разработчиков.</p>
<p><a href="http://coderx.in/wp-content/uploads/2009/07/image2.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://coderx.in/wp-content/uploads/2009/07/image-thumb2.png" width="425" height="202" /></a> К счастью есть очень хорошее решение для данной задачи , которое облегчает вам работу в разы.</p>
<p>Данное решение работает на базе jQuery , так что вам требуется установить последнюю версию данной библиотеки. Далее скопируйте ниже расположенный код в отдельный файл и включите его в вашу веб страницу.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">/*--------------------------------------------------------------------
 * JQuery Plugin: &amp;quot;EqualHeights&amp;quot;
 * by:	Scott Jehl, Todd Parker, Maggie Costello Wachs (http://www.filamentgroup.com)
 *
 * Copyright (c) 2008 Filament Group
 * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
 *
 * Description: Compares the heights or widths of the top-level children of a provided element
 		and sets their min-height to the tallest height (or width to widest width). Sets in em units
 		by default if pxToEm() method is available.
 * Dependencies: jQuery library, pxToEm method	(article:
		http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/)
 * Usage Example: $(element).equalHeights();
  		Optional: to set min-height in px, pass a true argument: $(element).equalHeights(true);
 * Version: 2.0, 08.01.2008
--------------------------------------------------------------------*/</span>
&nbsp;
$.<span style="color: #660066;">fn</span>.<span style="color: #660066;">equalHeights</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>px<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003366; font-weight: bold;">var</span> currentTallest <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> currentTallest<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> currentTallest <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">height</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>px <span style="color: #339933;">||</span> <span style="color: #339933;">!</span>Number.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">pxToEm</span><span style="color: #009900;">&#41;</span> currentTallest <span style="color: #339933;">=</span> currentTallest.<span style="color: #660066;">pxToEm</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">//use ems unless px is specified</span>
		<span style="color: #006600; font-style: italic;">// for ie6, set height since min-height isn't supported</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$.<span style="color: #660066;">browser</span>.<span style="color: #660066;">msie</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> $.<span style="color: #660066;">browser</span>.<span style="color: #660066;">version</span> <span style="color: #339933;">==</span> <span style="color: #CC0000;">6.0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'height'</span><span style="color: #339933;">:</span> currentTallest<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'min-height'</span><span style="color: #339933;">:</span> currentTallest<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Следующий шаг , вам требуется добавить код , который определит , какой элемент должен использовать данные параметры , если выражатся точней , то мы должны определить селектор к которому требуется применить выравнивание колонок.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.container'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">equalHeights</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Вот реальный пример применения данной реализации:</p>
<p><a href="http://coderx.in/wp-content/uploads/2009/07/image3.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://coderx.in/wp-content/uploads/2009/07/image-thumb3.png" width="523" height="82" /></a> </p>
<h5>JavaScript</h5>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#equalize'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">equalHeights</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h5>HTML</h5>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;equalize&quot; class=&quot;container&quot;&gt;
		&lt;div class=&quot;box&quot;&gt;&lt;p&gt;A - Lorem ipsum dolor sit amet&lt;/p&gt;&lt;/div&gt;
		&lt;div class=&quot;box&quot;&gt;&lt;p&gt;B - consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.&lt;/p&gt;&lt;/div&gt;
		&lt;div class=&quot;box&quot;&gt;&lt;p&gt;C&lt;/p&gt;&lt;/div&gt;
		&lt;div class=&quot;box&quot;&gt;&lt;p&gt;D - Ut enim ad minim&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;</pre></div></div>

<p>Вот в общем то и всё. Об остальных примерах я расскажу в следующей части этой статьи.</p>
<div class="pst">Компания ВелоДрайв предлагает <a href="http://djoul.ru/142">вело аксессуары</a>, в том числе <a href="http://velodrive.ru/a_types_22.html?no">велосипедное седло</a>. Сайт о продвижении и раскрутке <a href="http://www.odica.ru/">odica.ru</a> , а также о поисковой оптимизации и рекламе. Также советую <a href="http://shulyak.info/stat/host.html">эконом хостинг</a> для вас , сам пользуюсь и другим советую. </div>
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2009/07/30/10-javascript-ajax-menyu-tabov-dlya-vas/" title="10 JavaScript AJAX меню - табов для вас">10 JavaScript AJAX меню&nbsp;&mdash; табов для вас</a></li>
<li><a href="http://coderx.in/2009/02/24/zastavlyaem-ie5-i-ie6-pravilno-ponimat-htmlcsspng/" title="Заставляем IE5 и IE6 правильно понимать HTML/CSS/PNG">Заставляем IE5 и IE6 правильно понимать HTML/CSS/PNG</a></li>
<li><a href="http://coderx.in/2009/02/10/cheat-sheets-listy-podskazki-dlya-programmistov/" title="Cheat sheets - листы подсказки для программистов">Cheat sheets&nbsp;&mdash; листы подсказки для программистов</a></li>
<li><a href="http://coderx.in/2009/07/31/optimiziruem-javascript-kod/" title="Оптимизируем JAVASCRIPT Код">Оптимизируем JAVASCRIPT Код</a></li>
<li><a href="http://coderx.in/2009/07/28/menyu-na-javascript-s-ispolzovanie-slajdera/" title="Меню на Javascript с использованием слайдера">Меню на Javascript с использованием слайдера</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/O-7B5EePl0A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2009/07/31/javascript-resheniya-populyarnyx-css-problem-chast-1/feed/</wfw:commentRss>
		<media:content url="http://feedproxy.google.com/~r/coderxin/~5/quGofkL228w/transBG.jquery.plugin.js" fileSize="2971" type="application/javascript" /><enclosure url="http://feedproxy.google.com/~r/coderxin/~5/quGofkL228w/transBG.jquery.plugin.js" length="2971" type="application/javascript" /><feedburner:origEnclosureLink>http://design-forge.ro/projects/opensource/transBG.jquery.plugin.js</feedburner:origEnclosureLink></item>
		<item>
		<title>10 JavaScript AJAX меню — табов для вас</title>
		<link>http://coderx.in/2009/07/30/10-javascript-ajax-menyu-tabov-dlya-vas/</link>
		<comments>http://coderx.in/2009/07/30/10-javascript-ajax-menyu-tabov-dlya-vas/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 08:42:36 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Полезные скрипты и прочее]]></category>

		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=513</guid>
		<description><![CDATA[  Если вы создаёте дизайн сайта и вы хотите использовать закладочный вид меню , то это подборка может вам пригодится&#160;&#8212; это 10 разных реализаций меню на JavaScript и Ajax , которые вы с лёгкостью сможете вставить в ваш дизайн!

Спонсор этого поста:  автоматические ворота от rusdol.ru.
Jquery Coda Slider&#160;&#8212; довольно эффектное меню созданное на базе библиотеки [...]]]></description>
			<content:encoded><![CDATA[<p> <img style="margin: 0px 10px; display: inline" src="http://images.ebsco.com/pob/nsc/catalog/stock_index_tabs_bm_hd.jpg" alt="" width="97" height="73" align="left" /> Если вы создаёте дизайн сайта и вы хотите использовать закладочный вид меню , то это подборка может вам пригодится&nbsp;&mdash; это 10 разных реализаций меню на JavaScript и Ajax , которые вы с лёгкостью сможете вставить в ваш дизайн!</p>
<p><span id="more-513"></span></p>
<p><em>Спонсор этого поста:  автоматические ворота от <a href='http://www.rusdol.ru/'>rusdol.ru</a>.</em></p>
<p><a href="http://www.ndoherty.com/demos/coda-slider/">Jquery Coda Slider</a>&nbsp;&mdash; довольно эффектное меню созданное на базе библиотеки jQuery со скользящим эффектом листания страниц с контентом , пример работы можно посмотреть на <a href="http://www.ndoherty.com/demos/coda-slider/">сайте разработчика</a>.</p>
<p><a href="http://www.ndoherty.com/demos/coda-slider/"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/115.jpg" alt="115.jpg" /></a></p>
<p><a href="http://people.cs.uchicago.edu/~meweltman/sliding_tabs.html">Perspective Tabs</a>&nbsp;&mdash; аналог скользящего меню , только в данном случае реализован эффект прокрутки навигации , на мой взгляд&nbsp;&mdash; не самый удобный вариант для меню , но как говорится&nbsp;&mdash; &laquo;на вкус и цвет товарищей нет&raquo;.</p>
<p><a href="http://people.cs.uchicago.edu/%7Emeweltman/sliding_tabs.html"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/106.jpg" alt="106.jpg" /></a></p>
<p><a href="http://www.sunsean.com/idTabs/#t1">jQuery ID Tabs</a>&nbsp;&mdash; idTabs это не большой плагин для jQuery , он даёт возможность легко и просто добавить закладочное меню к вам на сайт.</p>
<p align="center"><a href="http://www.sunsean.com/idTabs/"><img src="http://tutorialblog.org/wp-content/uploads/2007/10/210.jpg" alt="210.jpg" /></a></p>
<p align="left"><a href="http://www.nyokiglitter.com/tutorials/tabs.html">Tab Accordion</a>&nbsp;&mdash; довольно хороший и динамичный аккордеон скрипт с интегрированной табулированной навигацией , созданный на базе Moo.FX .</p>
<p align="left"><a href="http://www.nyokiglitter.com/tutorials/tabs.html"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/35.jpg" alt="35.jpg" /></a></p>
<p><a href="http://www.dhtmlgoodies.com/index.html?whichScript=tab-view">XP Style Tab Panes</a>&nbsp;&mdash; Легко настраиваемый скрипт , вы размещаете ваш контент в отдельные div контейнеры , которые в дальнейшем обрабатываются JavaScript скриптом.</p>
<p><a href="http://www.dhtmlgoodies.com/index.html?whichScript=tab-view"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/45.jpg" alt="45.jpg" /></a></p>
<p><a href="http://actsasflinn.com/Ajax_Tabs/index.html">Ajax Tabs</a>&nbsp;&mdash; навигация на базе Ajax , ничего не скажешь. Данная реализация хороша для использования в больших проектах , где JavaScript и СSS будут создавать большую нагрузку.</p>
<p><a href="http://actsasflinn.com/Ajax_Tabs/index.html"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/55.jpg" alt="55.jpg" /></a></p>
<p><a href="http://www.crackajax.net/tabs.php">Tabbed Page Interface</a>&nbsp;&mdash; очередное меню аналог других выше упомянутых , но также требует вашего внимания , так как возможно именно этот вариант будет для вас проще и легче в эксплуатации.</p>
<p><a href="http://www.crackajax.net/tabs.php"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/65.jpg" alt="65.jpg" /></a></p>
<p><a href="http://blog.cutterscrossing.com/index.cfm/2007/6/15/Updated-JQuery-Nested-Tab-Set-with-Demo">jQuery Nested Tab Set</a>&nbsp;&mdash; для данной реализации закладочного меню , вам потребуется последняя версия jQuery. На сайте разработчика довольно подробно расписана инструкция по установке данного меню.</p>
<p><a href="http://blog.cutterscrossing.com/index.cfm/2007/6/15/Updated-JQuery-Nested-Tab-Set-with-Demo"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/75.jpg" alt="75.jpg" /></a></p>
<p><a href="http://www.fueledsoftware.com/2006/06/02/ajax-tabs-reloaded-based-on-the-havoc-studios-arti">Ajax Tabs Reloaded</a>&nbsp;&mdash; аналог табулированного меню на базе AJAX , но данная реализация несёт в себе возможность обновления отдельных табов.</p>
<p><a href="http://www.fueledsoftware.com/2006/06/02/ajax-tabs-reloaded-based-on-the-havoc-studios-arti"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/85.jpg" alt="85.jpg" /></a></p>
<p><a href="http://wiki.script.aculo.us/scriptaculous/show/Tabs">Tabs in Scriptaculous</a>&nbsp;&mdash; данный скрипт даёт вам возможность создать интерактивное меню для использования в ваших аппликациях.</p>
<p><a href="http://wiki.script.aculo.us/scriptaculous/show/Tabs"><img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://tutorialblog.org/wp-content/uploads/2007/10/95.jpg" alt="95.jpg" /></a></p>
<div class="pst">Быстро и не дорого , монтаж и установка <a href="http://www.rusdol.ru/">гаражных автоматических ворот hormann</a> для вашего дома , гаража , склада.<br />
Играете в WoW ? Оригинальный цитатник : <a href="http://www.bashwow.ru">BashWoW.ru&nbsp;&mdash; цитатник WoW. Для&nbsp;&mdash; задротов <img src='http://coderx.in/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </a></div>
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2009/07/31/javascript-resheniya-populyarnyx-css-problem-chast-1/" title="Javascript решения популярных css проблем - Часть 1">Javascript решения популярных css проблем&nbsp;&mdash; Часть 1</a></li>
<li><a href="http://coderx.in/2010/08/12/ajax-debugging-tools/" title="Ajax debugging tools">Ajax debugging tools</a></li>
<li><a href="http://coderx.in/2009/07/31/optimiziruem-javascript-kod/" title="Оптимизируем JAVASCRIPT Код">Оптимизируем JAVASCRIPT Код</a></li>
<li><a href="http://coderx.in/2009/07/28/menyu-na-javascript-s-ispolzovanie-slajdera/" title="Меню на Javascript с использованием слайдера">Меню на Javascript с использованием слайдера</a></li>
<li><a href="http://coderx.in/2009/02/10/cheat-sheets-listy-podskazki-dlya-programmistov/" title="Cheat sheets - листы подсказки для программистов">Cheat sheets&nbsp;&mdash; листы подсказки для программистов</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/ZaDWFjHTfWs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2009/07/30/10-javascript-ajax-menyu-tabov-dlya-vas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Рейтинг блогов на — epochta.ru</title>
		<link>http://coderx.in/2009/07/29/rejting-blogov-na-epochtaru/</link>
		<comments>http://coderx.in/2009/07/29/rejting-blogov-na-epochtaru/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 11:22:11 +0000</pubDate>
		<dc:creator>CoderX</dc:creator>
		
		<category><![CDATA[Веб-мастеру]]></category>

		<category><![CDATA[Разное]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[rating]]></category>

		<guid isPermaLink="false">http://coderx.in/?p=501</guid>
		<description><![CDATA[  Сегодня после долгого перерыва решил почитать свою подписку и наткнулся на статью о новом рейтинге на epochta.ru. Решил в нём поучаствовать и хочу немного рассмотреть данный рейтинг.
Данный рейтинг разработан маркетологом Ольгой Ивановой , кто в общем то и является хозяином или так сказать хозяйкой блога epochta.ru. Статистика данного рейтинга составляется исходя из 6 [...]]]></description>
			<content:encoded><![CDATA[<p> <a href="http://coderx.in/wp-content/uploads/2009/07/blograte1.gif"><img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 10px; display: inline; border-top: 0px; border-right: 0px" title="blograte" src="http://coderx.in/wp-content/uploads/2009/07/blograte-thumb1.gif" border="0" alt="blograte" width="240" height="51" align="left" /></a> Сегодня после долгого перерыва решил почитать свою подписку и наткнулся на статью о новом рейтинге на <a href="http://epochta.ru ">epochta.ru</a>. Решил <a href="http://www.epochta.ru/rating/">в нём</a> поучаствовать и хочу немного рассмотреть данный рейтинг.</p>
<p>Данный рейтинг разработан маркетологом Ольгой Ивановой , кто в общем то и является хозяином или так сказать хозяйкой блога epochta.ru. Статистика данного рейтинга составляется исходя из 6 параметров , которыми являются&nbsp;&mdash; число подписчиков в FeedBurner , рейтинг Alexa ( но как сообщается в данном сервисе , есть одно НО&nbsp;&mdash; так как Alexa не выдаёт рейтинг для сабдоменов livejournal.com и intwayblog.net , то в данном случае этот параметр обнуляется ) , далее рейтинг в Yandex и PR , а также наличие в dmoz каталоге и рейтинг от Technorati. В конечном результате выводится сумма балов , по которым ваш блог и сортируется в данной статистике.</p>
<p><span id="more-501"></span></p>
<p><a href="http://coderx.in/wp-content/uploads/2009/07/blograte2.gif"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="blograte2" src="http://coderx.in/wp-content/uploads/2009/07/blograte2-thumb.gif" border="0" alt="blograte2" width="369" height="103" /></a></p>
<p>С системой баллов можно ознакомится на той же странице на , которой находится рейтинг. Там довольно подробно расписаны шкалы данного рейтинга.</p>
<p>Изначально блоги добавлялись мануально , но  на данный момент это можете сделать и вы сами на<a href="http://www.epochta.ru/rating/"> странице с самим рейтингом</a> , после чего ваша заявка будет промодерирована и в случае положительного результата вы будите добавлены в данную статистику.</p>
<p>Себя я добавил и теперь буду следить за результатом , но пока что конечно же на что то грандиозное рассчитывать не стоит , всё ведь еще впереди <img src='http://coderx.in/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="pst">Интересуетесь строительной тематикой? ведёте блог на эту тему? <a href="http://50rus.info/">каталог статей для сайтов</a> , а также <a href="http://50rus.info/category/realty/constructing_fix/">каталог строительных ссылок</a> для ваших исследований.</div>
<h3>Можно также почитать:</h3>
<ul class="related_post">
<li><a href="http://coderx.in/2009/07/27/novye-i-dazhe-nuzhnye-poleznosti-v-moyom-bloge/" title="Новые и даже нужные полезности в  моём блоге">Новые и даже нужные полезности в  моём блоге</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/coderxin/~4/3anyzbAg6ec" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://coderx.in/2009/07/29/rejting-blogov-na-epochtaru/feed/</wfw:commentRss>
		</item>
	<copyright>CoderX.in Все права защищены.</copyright><media:credit role="author">CoderX</media:credit><media:rating>nonadult</media:rating></channel>
</rss>
