<?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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>.wpal</title>
	
	<link>http://blog.web2.com.ua</link>
	<description>web, programming and linux</description>
	<lastBuildDate>Fri, 20 May 2011 13:29:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/wpal" /><feedburner:info uri="wpal" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Как всё медленно!</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/6DjKcdcZ8_Q/</link>
		<comments>http://blog.web2.com.ua/2011/05/20/kak-vsyo-medlenno/#comments</comments>
		<pubDate>Fri, 20 May 2011 13:29:04 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[сервис]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1142</guid>
		<description><![CDATA[Недавно, я писал, что скоро порадую новинкой. Я предполагал, что до сегодняшнего дня у меня уже будет что показать, но я просчитался (. Пока проект существует только в админской части из-за загруженности дизайнера. Это меня расстраивает, но радость от того, что хоть что-то делаю, помогает не вешать нос. Так что за проект? В понедельник я [...]]]></description>
			<content:encoded><![CDATA[<p>Недавно, <a title="Скоро похвастаюсь" href="http://blog.web2.com.ua/2011/05/17/skoro-poxvastayus/">я писал</a>, что скоро порадую новинкой. Я предполагал, что до сегодняшнего дня у меня уже будет что показать, но я просчитался (. Пока проект существует только в админской части из-за загруженности дизайнера. Это меня расстраивает, но радость от того, что хоть что-то делаю, помогает не вешать нос.</p>
<p>Так что за проект?</p>
<p>В понедельник я узнал, что до дня Киева, компания, где я работаю, вместе с Google Украина запускает совместный проект. Google что-то похожее уже запускал, а теперь очередь и &#8220;Газеты по-киевски&#8221; ). Не уверен что мне можно рассказывать, что же это будет, но сама  мысль, что с партнёрстве с Google да ещё то, что они обещают его отдать нам, уже радует.</p>
<p>Когда же всё это будет видно?</p>
<p>Кажется, Google собирается выкатывать на всеобщее обозрение всё в субботу. Я, не Гугл, я, надеюсь, всё покажу в пятницу ( не люблю запускаться в пятницу! ). В среду, по планам опять же моим, будет  предварительная тестовая версия, так что смогу выслать ссылки желающим протестировать.</p>
<p>Не думаю, что в пятницу будет готово всё, что захотелось и мне и другим людям, но костяк должен быть. Держу пальцы!</p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/6DjKcdcZ8_Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/05/20/kak-vsyo-medlenno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/05/20/kak-vsyo-medlenno/</feedburner:origLink></item>
		<item>
		<title>Скоро похвастаюсь</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/H4pRQwCgikM/</link>
		<comments>http://blog.web2.com.ua/2011/05/17/skoro-poxvastayus/#comments</comments>
		<pubDate>Tue, 17 May 2011 18:22:05 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[моё]]></category>
		<category><![CDATA[сервис]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1139</guid>
		<description><![CDATA[Думаю, к концу недели выкачу один проектик, которым буду долго и нудно хвастаться и кичится Но это будет что-то сырое и не красивое, так как о нём я узнал только вчера, в понедельник. Сегодня только после обеда было всё согласовано и решено. При этом, обсуждения между исполнителями ( мной и дизом ) и начальством почти [...]]]></description>
			<content:encoded><![CDATA[<p>Думаю, к концу недели выкачу один проектик, которым буду долго и нудно хвастаться и кичится <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Но это будет что-то сырое и не красивое, так как о нём я узнал только вчера, в понедельник. Сегодня только после обеда было всё согласовано и решено. При этом, обсуждения между исполнителями ( мной и дизом ) и начальством почти не было &#8211; мне почти сказали делать как я захочу <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Так что тапки полетят в мою сторону, хотя, я не думаю, что будет ужасно <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>ЗЫ, Радует, местами, наличие работы! )</p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/H4pRQwCgikM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/05/17/skoro-poxvastayus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/05/17/skoro-poxvastayus/</feedburner:origLink></item>
		<item>
		<title>статистика на The One</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/94HcAsMlnl8/</link>
		<comments>http://blog.web2.com.ua/2011/03/30/statistika-na-the-one/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 14:01:02 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[сервис]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[использовать!]]></category>
		<category><![CDATA[моё]]></category>
		<category><![CDATA[сообщения]]></category>
		<category><![CDATA[статистика]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1131</guid>
		<description><![CDATA[Забыл написать, что на The One прикрутил статистику. Теперь на главной странице показывается количество отправленых и полученых сообщений. Цифры страшные Только вопрос стоян не в самих цифрах и данных, а втом, чтобы написать каркас для записи логов и аггрегации их в таблицы. Потом стал вопрос о выводе статистических данных и пришлось написать несколько класов для [...]]]></description>
			<content:encoded><![CDATA[<p>Забыл написать, что на <a href="http://one.web2.com.ua/">The One</a> прикрутил статистику. Теперь на главной странице показывается количество отправленых и полученых сообщений. Цифры страшные <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Только вопрос стоян не в самих цифрах и данных, а втом, чтобы написать каркас для записи логов и аггрегации их в таблицы. Потом стал вопрос о выводе статистических данных и пришлось написать несколько класов для работы с OpenChart.</p>
<p>Что же можно увидеть?</p>
<ol>
<li><strong>общую статистику на страницах сервиса</strong><br />
<img class="alignnone size-full wp-image-1133" title="one_stat1" src="http://blog.web2.com.ua/wp-content/uploads/one_stat1.jpg" alt="" width="417" height="186" /></li>
<li><strong>красивый график статистики</strong><br />
<a href="http://blog.web2.com.ua/wp-content/uploads/one_stat2.jpg"><img class="alignnone size-medium wp-image-1134" title="one_stat2" src="http://blog.web2.com.ua/wp-content/uploads/one_stat2-400x319.jpg" alt="" width="400" height="319" /></a></li>
<li><strong>выбрать месяц для графика</strong><br />
<img class="alignnone size-full wp-image-1135" title="one_stat3" src="http://blog.web2.com.ua/wp-content/uploads/one_stat3.jpg" alt="" width="424" height="414" /></li>
</ol>
<img src="http://feeds.feedburner.com/~r/wpal/~4/94HcAsMlnl8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/03/30/statistika-na-the-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/03/30/statistika-na-the-one/</feedburner:origLink></item>
		<item>
		<title>Вот так траффик!</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/LR-eToTguSQ/</link>
		<comments>http://blog.web2.com.ua/2011/03/11/vot-tak-traffik/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 11:09:56 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[openSuse]]></category>
		<category><![CDATA[linux.kiev.ua]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[ЛКУ]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1063</guid>
		<description><![CDATA[Прелесная картинка наблюдается на канале Linux.kiev.ua . В связи с вчерашней новостью о зеркалировании openSUSE, вот так возрос траффик на сервер. Ночь выдержали, не  смотря на 60% iowait и нормальненькую такую нагрузку на старенькоий Оптерон Поссмотрим, что будет дальше.]]></description>
			<content:encoded><![CDATA[<p>Прелесная картинка наблюдается на канале Linux.kiev.ua <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . В связи с <a href="http://blog.web2.com.ua/2011/03/10/ukrainskoe-zerkalo-opensuse/" target="_blank">вчерашней новостью</a> о зеркалировании openSUSE, вот так возрос траффик на сервер.</p>
<p><a href="http://blog.web2.com.ua/wp-content/uploads/internal-day.png"><img class="alignnone size-full wp-image-1129" title="internal-day" src="http://blog.web2.com.ua/wp-content/uploads/internal-day.png" alt="" width="500" height="135" /></a></p>
<p>Ночь выдержали, не  смотря на 60% iowait и нормальненькую такую нагрузку на старенькоий Оптерон <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Поссмотрим, что будет дальше.</p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/LR-eToTguSQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/03/11/vot-tak-traffik/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/03/11/vot-tak-traffik/</feedburner:origLink></item>
		<item>
		<title>Украинское зеркало openSUSE</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/tdFMPAM2IEY/</link>
		<comments>http://blog.web2.com.ua/2011/03/10/ukrainskoe-zerkalo-opensuse/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 14:42:04 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[openSuse]]></category>
		<category><![CDATA[mirror]]></category>
		<category><![CDATA[openSUSE 11.4]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1122</guid>
		<description><![CDATA[Плагодаря стараниям камрада tris`а FTP ЛКУ стал официальним зеркалом openSUSE! Это означает, что все пакеты, которые жители Украины будут устанавливать через YaST или zypper, будут получатся с ftp.linux.kiev.ua. Больше не придётся указывать вручную URL на наши репозитории, а оставить download.opensuse.org. Так приятно видеть ЛКУ в списках зеркал Это касается не только iso-файлов, но и обновлений [...]]]></description>
			<content:encoded><![CDATA[<p>Плагодаря стараниям камрада tris`а <a href="ftp://ftp.linux.kiev.ua/pub/Linux/SuSE/" target="_blank">FTP ЛКУ</a> стал официальним зеркалом openSUSE! Это означает, что все пакеты, которые жители Украины будут устанавливать через YaST или zypper, будут получатся с ftp.linux.kiev.ua. Больше не придётся указывать вручную URL на наши репозитории, а оставить download.opensuse.org.</p>
<p>Так <a href="http://download.opensuse.org/distribution/11.4/iso/openSUSE-11.4-DVD-x86_64.iso.mirrorlist" target="_blank">приятно видеть</a> ЛКУ в списках зеркал <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blog.web2.com.ua/wp-content/uploads/lku.png"><img class="size-medium wp-image-1121 alignnone" title="LKU mirror" src="http://blog.web2.com.ua/wp-content/uploads/lku-400x264.png" alt="" width="400" height="264" /></a></p>
<p>Это касается не только iso-файлов, но и обновлений openSUSE.</p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/tdFMPAM2IEY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/03/10/ukrainskoe-zerkalo-opensuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/03/10/ukrainskoe-zerkalo-opensuse/</feedburner:origLink></item>
		<item>
		<title>Релиз openSUSE 11.4</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/phiq-XvCuzA/</link>
		<comments>http://blog.web2.com.ua/2011/03/09/reliz-opensuse-11-4/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 09:10:29 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[download]]></category>
		<category><![CDATA[openSuse]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[openSUSE 11.4]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1114</guid>
		<description><![CDATA[Официально ещё не наступил день релиза, но так как на ЛКУ уже присуствуют iso-образы данного дистрибутива, решено сообщить это в новостях. С нового в этой версии: Freetype поддерживает sub-pixel rendering Ядро 2.6.37 с драйверами для чипов Broadcom 4313, 43224, 43225 KDE SC 4.6.0 / KDEPIM 4.4.10 Amarok 2.4.0 KOffice 2.3.1 Для обновления системы используется KPackageKit [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/opensuse.jpg" alt="opensuse" align="left" />Официально ещё не наступил день релиза, но так как на ЛКУ уже <a href="ftp://ftp.linux.kiev.ua/pub/Linux/SuSE/distribution/11.4/iso/" target="_blank">присуствуют iso-образы</a> данного дистрибутива, решено сообщить это в новостях.</p>
<p><strong>С нового в этой версии:</strong></p>
<ul>
<li>Freetype поддерживает sub-pixel rendering</li>
<li>Ядро 2.6.37 с драйверами для чипов Broadcom 4313, 43224, 43225</li>
<li>KDE SC 4.6.0 / KDEPIM 4.4.10</li>
<li>Amarok 2.4.0</li>
<li>KOffice 2.3.1</li>
<li>Для обновления системы используется KPackageKit вместо KUpdateApplet</li>
<li>OpenOffice.org заменён полностью LibreOffice</li>
<li>Firefox 4.0 beta 12 и обновится во время релиза этого браузера</li>
</ul>
<p>Более широко и качественно нововведения <a href="http://ru.opensuse.org/Обзор_нововведений" target="_blank">описаны на странице вики</a>. Следует сказать, что релиза, как такового, ещё нет, да и владельцам видео-карт AMD/ATI, возможно, следует подождать с обновлением, так как существует очень <a href="https://bugzilla.novell.com/show_bug.cgi?id=615740" target="_blank">неприятный баг</a>.</p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/phiq-XvCuzA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/03/09/reliz-opensuse-11-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/03/09/reliz-opensuse-11-4/</feedburner:origLink></item>
		<item>
		<title>таймер в one.web2.com.ua</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/xIp5zjX6f8Q/</link>
		<comments>http://blog.web2.com.ua/2011/02/18/tajmer-v-one-web2-com-ua/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 10:18:36 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[сервис]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[использовать!]]></category>
		<category><![CDATA[моё]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1110</guid>
		<description><![CDATA[С подачи друга trisa, реализовал фичу на one.web2.com.ua. Часто бывает так, что вы удалились из-за компа за пивом/за бутером/к белому камню. А в это время злобные сотрудники служб выломали вашу дверь, застали вас сидящим с ноутом в туалете, и сообщение с паролями к ботнету у вас висит на мониторе в The One. Попадалово, правда? Как [...]]]></description>
			<content:encoded><![CDATA[<p>С подачи друга trisa, реализовал фичу на<a href="http://one.web2.com.ua"> one.web2.com.ua</a>.</p>
<p>Часто бывает так, что вы удалились из-за компа за пивом/за бутером/к белому камню. А в это время злобные сотрудники служб выломали вашу дверь, застали вас сидящим с ноутом в туалете, и сообщение с паролями к ботнету у вас висит на мониторе в The One. Попадалово, правда? <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Как с этим бороться?<span id="more-1110"></span></p>
<p>Надо перенаправить сайт на другую страничку после прочтения, чтобы вместо</p>
<p style="text-align: center;"><img class="aligncenter" src="http://blog.web2.com.ua/wp-content/uploads/one21.png" alt="" /></p>
<p>враги увидели главную страничку сервиса. Вот по-этому и сделал таймер. Как только вы открыли ваше сообщение, начинается отсчёт и, по истечению указаного времени, сообщение исчезнет <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Можете сколько угодно стоять в очереди за пивом и не переживать, что страничку не закрыли &#8211; сервис сам перегрузит браузер.</p>
<p>Как это работает? Когда вы создаёте сообщение, под редактором есть уже установленый таймер в 60 секунд.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://blog.web2.com.ua/wp-content/uploads/one3.png" alt="" /></p>
<p>Когда вы устанавливаете галочку, как на рисунке выже, то выпадет окно, в котором вы сможете указать желаемое время для таймера</p>
<p style="text-align: center;"><img class="aligncenter" src="http://blog.web2.com.ua/wp-content/uploads/one4.png" alt="" /></p>
<p>А когда получатель читает message, то вверху показывается таймер с временем до удаления. За 15 секунд до времени ЧП, он становится красным, как бы намекая, что ещё чуть-чуть.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://blog.web2.com.ua/wp-content/uploads/one5.png" alt="" /></p>
<p>А что же делать, когда вы читаете медленно и не успели? Всё просто &#8211; кликните по цифрам и таймер начнёт отсчёт заново.</p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/xIp5zjX6f8Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/02/18/tajmer-v-one-web2-com-ua/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/02/18/tajmer-v-one-web2-com-ua/</feedburner:origLink></item>
		<item>
		<title>ещё!</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/8s5_diQBZf8/</link>
		<comments>http://blog.web2.com.ua/2011/02/16/the-one-zhiv-bez-paniki-2/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 15:44:10 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[программирование]]></category>
		<category><![CDATA[сервис]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[использовать!]]></category>
		<category><![CDATA[моё]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1103</guid>
		<description><![CDATA[Как я писал вчера, в укороченных ссылках есть 2 лишних символа. А теперь нет надоедливых слэшей &#34;/&#34;!]]></description>
			<content:encoded><![CDATA[<p>Как я <a href="http://blog.web2.com.ua/2011/02/16/the-one-zhiv-bez-paniki/">писал вчера</a>, в укороченных ссылках есть 2 лишних символа. А теперь нет надоедливых слэшей &quot;/&quot;!</p>
<p align="center"><img src="http://blog.web2.com.ua/wp-content/uploads/one11.png" /></p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/8s5_diQBZf8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/02/16/the-one-zhiv-bez-paniki-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/02/16/the-one-zhiv-bez-paniki-2/</feedburner:origLink></item>
		<item>
		<title>The One жив, без паники</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/8XDLhWH1GAU/</link>
		<comments>http://blog.web2.com.ua/2011/02/16/the-one-zhiv-bez-paniki/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 15:03:13 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[сервис]]></category>
		<category><![CDATA[one]]></category>
		<category><![CDATA[использовать!]]></category>
		<category><![CDATA[моё]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1097</guid>
		<description><![CDATA[От меня давно не было вестей. Стал ленивее . Хотя новостей на The One не было и ничего не писал, это не означает что там нет изменений. Многие изменения не видны и многие ещё не доделаны, но сегодня решился написать. Тем более, что есть одно видимое изменение. Я подумал, что строить ссылки в которых будет [...]]]></description>
			<content:encoded><![CDATA[<p>От меня давно не было вестей. Стал ленивее <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Хотя новостей на <a href="http://one.web2.com.ua">The One</a> не было и ничего не писал, это не означает что там нет изменений. Многие изменения не видны и многие ещё не доделаны, но сегодня решился написать. Тем более, что есть одно видимое изменение. </p>
<p>Я подумал, что строить ссылки в которых будет дата &#8211; это уж очень много, и с 8 символов даты урезал их до одного. &quot;Прирост&quot; в 8 раз <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Так что, будь я маркетологом, то уже бы писал фразу, что стало в 8 раз лучше <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </p>
<p>Дата в ссылке была заменена на шестнадцатеричное представление месяца. Ссылки стали выглядеть вот так:</p>
<p align="center"><img src="http://blog.web2.com.ua/wp-content/uploads/one1.png" /></p>
<p align="left">Мне теперь кажется, что в ней есть 2 лишних символа, а вам? <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/wpal/~4/8XDLhWH1GAU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/02/16/the-one-zhiv-bez-paniki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/02/16/the-one-zhiv-bez-paniki/</feedburner:origLink></item>
		<item>
		<title>Как я склеиваю Zend Framework</title>
		<link>http://feedproxy.google.com/~r/wpal/~3/eoosdbogIEE/</link>
		<comments>http://blog.web2.com.ua/2011/01/29/kak-ya-skleivayu-zend-framework/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 22:10:51 +0000</pubDate>
		<dc:creator>wert2all</dc:creator>
				<category><![CDATA[ant]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[zf]]></category>

		<guid isPermaLink="false">http://blog.web2.com.ua/?p=1072</guid>
		<description><![CDATA[Часто надо собрать Zend Framework в одни файл, при этом удалить все require и include. На просторах интернета есть собранные все файлы этого фреймворка, но, иногда, надо собрать только малую часть. Пока, я не нашёл скрипта, чтобы делать один файл да и хотелось этот процесс интегрировать с системой сборки проекта. Так как я использую для [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://blog.web2.com.ua/wp-content/uploads/ant-logo.gif" alt="" width="105" height="65" />Часто надо собрать Zend Framework в одни файл, при этом удалить все require и include. На просторах интернета есть собранные все файлы этого фреймворка, но, иногда, надо собрать только малую часть. Пока, я не нашёл скрипта, чтобы делать один файл да и хотелось этот процесс интегрировать с системой сборки проекта. Так как я использую для сборки Ant, то решил написать скрипт для него. Тем более это оказалось легче, чем предполагал. Тяжело было разобраться с самим Ant`ом <img src='http://blog.web2.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-1072"></span></p>
<h2>Начало</h2>
<p>Создадим основной файл XML для Ant`а с одной целью target и именем name=&#8221;concat.zend&#8221;. Так же в project укажем основную цель для Анта concat.zend:</p>
<pre>&lt;?xml version="1.0"?&gt;
&lt;project name="zend" default="concat.zend" basedir="./../"&gt;
    &lt;target name="concat.zend" description="concat ZF files"&gt;
    &lt;/target&gt;
&lt;/project&gt;</pre>
<p>В этой цели будем склеивать все файлы в один. Но это не единственная задача. Как минимум, надо ещё одну, которая вырежет все require и include. Но закончим с этой. Дабы не писать пути по несколько раз, введём в проект константу, в которой укажем путь к файлам ZF.</p>
<pre>    &lt;property name="library" location="./../library/"/&gt;</pre>
<p>Это свойство ставим перед определением целей, чтобы с любой цели иметь доступ к константе. Теперь склеим нужные нам файлы ZF в один.</p>
<pre>    &lt;target name="concat.zend" description="concat ZF files"&gt;
        &lt;concat destfile="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;filelist dir="${library}/"&gt;
                &lt;file name="Zend/Cache/Backend.php"/&gt;
                &lt;file name="Zend/Cache/Backend/ExtendedInterface.php"/&gt;
                &lt;file name="Zend/Cache/Backend/Interface.php"/&gt;
                &lt;file name="Zend/Db/Exception.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Abstract.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Pdo/Abstract.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Pdo/Mysql.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Exception.php"/&gt;
                &lt;file name="Zend/Db/Table/Abstract.php"/&gt;
                &lt;file name="Zend/Db/Table/Exception.php"/&gt;
                &lt;file name="Zend/Db/Profiler.php"/&gt;
                &lt;file name="Zend/Db.php"/&gt;
                &lt;file name="Zend/Exception.php"/&gt;
                &lt;file name="Zend/Mime.php"/&gt;
                &lt;file name="Zend/Mime/Part.php"/&gt;
                &lt;file name="Zend/Mime/Message.php"/&gt;
                &lt;file name="Zend/Mail.php"/&gt;
                &lt;file name="Zend/Mail/Transport/Abstract.php"/&gt;
                &lt;file name="Zend/Mail/Transport/Sendmail.php"/&gt;
                &lt;file name="Dklab/Cache/Backend/TagEmuWrapper.php"/&gt;
            &lt;/filelist&gt;
        &lt;/concat&gt;
    &lt;/target&gt;</pre>
<p>Это соберет нужные классы в файл ${build}/classes/Ext/Production/Zend.tmp.php. ${build} &#8211; папка для сборки проекта.</p>
<h2>Удаляем require и всё лишнее</h2>
<p>Если взглянуть в ${build}/classes/Ext/Production/Zend.tmp.php, то можно увидеть, что это не валидный файл php. Там встречаются &lt;?php много да и зендовские require портят жизнь. Создадим другую цель и удалим это с файла.</p>
<pre>    &lt;target name="modify.zend" description="modify ZF files"&gt;
        &lt;replaceregexp byline="true" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="^&amp;lt;\?php$"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
        &lt;replaceregexp byline="true" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="^\?&amp;gt;"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
        &lt;replaceregexp byline="true" flags="smi" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="(require|include)(_once)+( )?(['&amp;quot;])?Zend\/(.*)(['&amp;quot;])?"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
        &lt;replaceregexp byline="false" flags="gs" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="/\*.+?\*/"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
    &lt;/target&gt;</pre>
<p>В первом блоке удаляются ВСЕ &lt;?php, потом &#8211; ?&gt;, далее все require и include, а под занавес &#8211; комментарии. Это сделано с помощью регулярных выражений и если ещё почитать в документации, то всё становится понятным. Теперь надо с цели concat.zend вызвать modify.zend. Это делается в concat.zend с помощью конструкции</p>
<pre>        &lt;antcall target="zend.modify.zend" /&gt;</pre>
<h2>Что такое Fake.php</h2>
<p>Как известно, в предыдущей цели мы удалили &lt;?php &#8230; ?&gt;. Но ведь они то нам надо! Я даже не разбирался, как вставить в файл, а решил просто создать фальшивый файл Fake.php и приклеить перед нашим файлом в цели concat.zend.</p>
<pre>        &lt;concat destfile="${build}/classes/Ext/Production/Zend.php"&gt;
            &lt;filelist dir="${build}/classes/Ext/Production/" files="Fake.php" /&gt;
            &lt;filelist dir="${build}/classes/Ext/Production/" files="Zend.tmp.php" /&gt;
        &lt;/concat&gt;</pre>
<h2>Подметаем и заканчиваем</h2>
<p>Всё, кажется. Осталось удалить промежуточный файл и насладится работой скрипта:</p>
<pre>        &lt;delete file="${build}/classes/Ext/Production/Zend.tmp.php" /&gt;</pre>
<h2>Полная версия XML</h2>
<pre>&lt;?xml version="1.0"?&gt;
&lt;project name="zend" default="concat.zend" basedir="./../"&gt;
    &lt;!-- set global properties for this build --&gt;
    &lt;property name="library" location="./../library/"/&gt;

    &lt;target name="concat.zend" description="concat ZF files"&gt;
        &lt;concat destfile="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;filelist dir="${library}/"&gt;
                &lt;file name="Zend/Cache/Backend.php"/&gt;
                &lt;file name="Zend/Cache/Backend/ExtendedInterface.php"/&gt;
                &lt;file name="Zend/Cache/Backend/Interface.php"/&gt;
                &lt;file name="Zend/Db/Exception.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Abstract.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Pdo/Abstract.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Pdo/Mysql.php"/&gt;
                &lt;file name="Zend/Db/Adapter/Exception.php"/&gt;
                &lt;file name="Zend/Db/Table/Abstract.php"/&gt;
                &lt;file name="Zend/Db/Table/Exception.php"/&gt;
                &lt;file name="Zend/Db/Profiler.php"/&gt;
                &lt;file name="Zend/Db.php"/&gt;
                &lt;file name="Zend/Exception.php"/&gt;
                &lt;file name="Zend/Mime.php"/&gt;
                &lt;file name="Zend/Mime/Part.php"/&gt;
                &lt;file name="Zend/Mime/Message.php"/&gt;
                &lt;file name="Zend/Mail.php"/&gt;
                &lt;file name="Zend/Mail/Transport/Abstract.php"/&gt;
                &lt;file name="Zend/Mail/Transport/Sendmail.php"/&gt;
                &lt;file name="Dklab/Cache/Backend/TagEmuWrapper.php"/&gt;
            &lt;/filelist&gt;
        &lt;/concat&gt;
        &lt;antcall target="zend.modify.zend" /&gt;

        &lt;concat destfile="${build}/classes/Ext/Production/Zend.php"&gt;
            &lt;filelist dir="${build}/classes/Ext/Production/" files="Fake.php" /&gt;
            &lt;filelist dir="${build}/classes/Ext/Production/" files="Zend.tmp.php" /&gt;
        &lt;/concat&gt;
        &lt;delete file="${build}/classes/Ext/Production/Zend.tmp.php" /&gt;
    &lt;/target&gt;

    &lt;target name="modify.zend" description="modify ZF files"&gt;
        &lt;replaceregexp byline="true" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="^&amp;lt;\?php$"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
        &lt;replaceregexp byline="true" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="^\?&amp;gt;"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
        &lt;replaceregexp byline="true" flags="smi" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="(require|include)(_once)+( )?(['&amp;quot;])?Zend\/(.*)(['&amp;quot;])?"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
        &lt;replaceregexp byline="false" flags="gs" file="${build}/classes/Ext/Production/Zend.tmp.php"&gt;
            &lt;regexp pattern="/\*.+?\*/"/&gt;
            &lt;substitution expression=""/&gt;
        &lt;/replaceregexp&gt;
    &lt;/target&gt;
&lt;/project&gt;</pre>
<img src="http://feeds.feedburner.com/~r/wpal/~4/eoosdbogIEE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.web2.com.ua/2011/01/29/kak-ya-skleivayu-zend-framework/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://blog.web2.com.ua/2011/01/29/kak-ya-skleivayu-zend-framework/</feedburner:origLink></item>
	</channel>
</rss>

