<?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>Блог komstin</title>
	
	<link>http://komstin.rifco.ru</link>
	<description>Ещё один сайт сети «RifCo»</description>
	<lastBuildDate>Sun, 13 May 2012 20:31:27 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rifco/komstin" /><feedburner:info uri="rifco/komstin" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Double colon in static method</title>
		<link>http://feedproxy.google.com/~r/rifco/komstin/~3/7ZwSvriC1Mk/</link>
		<comments>http://komstin.rifco.ru/54/double-colon-in-static-method/#comments</comments>
		<pubDate>Sun, 13 May 2012 20:15:25 +0000</pubDate>
		<dc:creator>komstin</dc:creator>
				<category><![CDATA[Yii]]></category>
		<category><![CDATA[yii]]></category>
		<category><![CDATA[рабочие заметки]]></category>

		<guid isPermaLink="false">http://komstin.rifco.ru/?p=54</guid>
		<description><![CDATA[Промеж дел получаю синтаксическую ошибку. Глядь &#8212; поглядь, оказывается в Yii::app() пропустил двоеточие. Во как бывает.]]></description>
			<content:encoded><![CDATA[<p>Промеж дел получаю синтаксическую ошибку. Глядь &#8212; поглядь, оказывается в Yii::app() пропустил двоеточие. Во как бывает.</p>
<img src="http://feeds.feedburner.com/~r/rifco/komstin/~4/7ZwSvriC1Mk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://komstin.rifco.ru/54/double-colon-in-static-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://komstin.rifco.ru/54/double-colon-in-static-method/</feedburner:origLink></item>
		<item>
		<title>Возврат из beforeAction</title>
		<link>http://feedproxy.google.com/~r/rifco/komstin/~3/gsXjHbT42gc/</link>
		<comments>http://komstin.rifco.ru/52/%d0%b2%d0%be%d0%b7%d0%b2%d1%80%d0%b0%d1%82-%d0%b8%d0%b7-beforeaction/#comments</comments>
		<pubDate>Sun, 13 May 2012 19:27:35 +0000</pubDate>
		<dc:creator>komstin</dc:creator>
				<category><![CDATA[Yii]]></category>
		<category><![CDATA[yii]]></category>
		<category><![CDATA[рабочие заметки]]></category>

		<guid isPermaLink="false">http://komstin.rifco.ru/?p=52</guid>
		<description><![CDATA[После нескольких месяцев перерыва вернулся к Yii и сразу споткнулся. Создал новый проект и первым делом сделал консольную команду для администрирования базы данных. По давней привычке между своей Command и CConsoleCommand сделал прокладку в виде класса ConsoleCommand, в котором два метода &#8212; beforeAction и afterAction, очень удобно. Сами методы писал по памяти, в beforeAction забыл [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://cconsolecommand.jpg.to" alt="beforeAction in Yii" width="309" height="344" />После нескольких месяцев перерыва вернулся к Yii и сразу споткнулся. Создал новый проект и первым делом сделал консольную команду для администрирования базы данных. По давней привычке между своей Command и CConsoleCommand сделал прокладку в виде класса ConsoleCommand, в котором два метода &#8212; beforeAction и afterAction, очень удобно. Сами методы писал по памяти, в beforeAction забыл внутрь if(parent::beforeAction($action,$params)){&#8230;} вставить return true. В результате полдня маялся &#8212; ConsoleCommand/beforeAction выполняется, а сама Command нет, как и afterAction. Насилу сообразил. Мораль &#8212; тщательнЕе надо быть в мелочах.</p>
<img src="http://feeds.feedburner.com/~r/rifco/komstin/~4/gsXjHbT42gc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://komstin.rifco.ru/52/%d0%b2%d0%be%d0%b7%d0%b2%d1%80%d0%b0%d1%82-%d0%b8%d0%b7-beforeaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://komstin.rifco.ru/52/%d0%b2%d0%be%d0%b7%d0%b2%d1%80%d0%b0%d1%82-%d0%b8%d0%b7-beforeaction/</feedburner:origLink></item>
		<item>
		<title>Ulteo &amp; xrdp trouble</title>
		<link>http://feedproxy.google.com/~r/rifco/komstin/~3/mxUJC0EGR4Y/</link>
		<comments>http://komstin.rifco.ru/50/ulteo-xrdp-trouble/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 12:20:35 +0000</pubDate>
		<dc:creator>komstin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[sesman]]></category>
		<category><![CDATA[Ulteo]]></category>
		<category><![CDATA[xrdp]]></category>

		<guid isPermaLink="false">http://komstin.rifco.ru/?p=50</guid>
		<description><![CDATA[Настраивал тут инфраструктуру на базе Ulteo на сервере Debian. Все бы ничего, но после этого никак не могу зайти на сервер по RDP. Ну никак. Снес Ulteo &#8212; все равно его лучше ставить на выделенный виртуальный сервер, на рабочем он только мешает. Не помогло. Переустановил xrdp &#8212; не пускает. Смотрю в /etc/xrdp/sesman.ini &#8212; там в [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://ulteo.jpg.to/medium" class="alignleft size-medium" /> Настраивал тут инфраструктуру на базе <a href="http://www.ulteo.com">Ulteo</a> на сервере Debian. Все бы ничего, но после этого никак не могу зайти на сервер по RDP. Ну никак. Снес Ulteo &#8212; все равно его лучше ставить на выделенный виртуальный сервер, на рабочем он только мешает. Не помогло. Переустановил xrdp &#8212; не пускает.</p>
<p>Смотрю в /etc/xrdp/sesman.ini &#8212; там в секции [Security] указана группа tsusers. Группа такая есть, а вот юзеров в ней нет, в том числе и того, которым я пытаюсь зайти. Интересно, это Ulteo нахулиганил? И из каких соображений? Я бы еще понял, если бы он там своего юзера прописал, но группа-то реально пустая. Странно.</p>
<p>Занес своего юзера в группу и все ОК, нормально вхожу. Только странно &#8212; раньше заходил в KDE, а теперь попал в Gnome. Интересно, это почему?</p>
<img src="http://feeds.feedburner.com/~r/rifco/komstin/~4/mxUJC0EGR4Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://komstin.rifco.ru/50/ulteo-xrdp-trouble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://komstin.rifco.ru/50/ulteo-xrdp-trouble/</feedburner:origLink></item>
		<item>
		<title>WordPress, Buddypress и форум</title>
		<link>http://feedproxy.google.com/~r/rifco/komstin/~3/sFNn1S1g3gw/</link>
		<comments>http://komstin.rifco.ru/47/wordpress-buddypress-%d0%b8-%d1%84%d0%be%d1%80%d1%83%d0%bc/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 05:01:39 +0000</pubDate>
		<dc:creator>komstin</dc:creator>
				<category><![CDATA[Buddypress]]></category>
		<category><![CDATA[bbPress]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[phpBB]]></category>
		<category><![CDATA[SimplePress Forum]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://komstin.rifco.ru/?p=47</guid>
		<description><![CDATA[Прикрутить форум к вордпрессу под апачем не проблема. На выбор &#8212; плагины bbPress, SimplePress Forum или стандартный phpBB. Однако я тут пытался настроить nginx для работы bbPress &#8212; не получилось. Наверное, недостаточно ковырялся. Но всему есть предел, если издержки оказываются слишком большими, стоит поискать другие решения. У меня не все пермалинки bbPress заработали, зато регулярно [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://buddypress.jpg.to/medium" class="alignleft size-medium" /> Прикрутить форум к вордпрессу под апачем не проблема. На выбор &#8212; плагины bbPress, SimplePress Forum или стандартный phpBB.</p>
<p>Однако я тут пытался настроить nginx для работы bbPress &#8212; не получилось. Наверное, недостаточно ковырялся. Но всему есть предел, если издержки оказываются слишком большими, стоит поискать другие решения. У меня не все пермалинки bbPress заработали, зато регулярно вылезали лишние редиректы.</p>
<p>С Buddypress ситуация еще сложнее. Если есть желание не ограничиваться форумами групп, которые эффективно реализованы на bbPress, входящем в состав Buddypress, а хочется устроить и глобальный форум, придется поломать голову с неопределенным результатом. Интеграция Buddypress с глобальным форумом пока не проработана, есть коллизии, с которыми придется повозиться. Я пока не сумел побороть эти проблемы, тем более с учетом настройки nginx. Так что ограничиваемся пока форумами групп и ждем развития Buddypress в направлении интеграции с глобальным форумом.</p>
<img src="http://feeds.feedburner.com/~r/rifco/komstin/~4/sFNn1S1g3gw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://komstin.rifco.ru/47/wordpress-buddypress-%d0%b8-%d1%84%d0%be%d1%80%d1%83%d0%bc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://komstin.rifco.ru/47/wordpress-buddypress-%d0%b8-%d1%84%d0%be%d1%80%d1%83%d0%bc/</feedburner:origLink></item>
		<item>
		<title>ORM для облегчения жизни</title>
		<link>http://feedproxy.google.com/~r/rifco/komstin/~3/pxojGzyAl8s/</link>
		<comments>http://komstin.rifco.ru/45/orm-%d0%b4%d0%bb%d1%8f-%d0%be%d0%b1%d0%bb%d0%b5%d0%b3%d1%87%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b6%d0%b8%d0%b7%d0%bd%d0%b8/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 02:52:22 +0000</pubDate>
		<dc:creator>komstin</dc:creator>
				<category><![CDATA[ORM]]></category>
		<category><![CDATA[RedBeanPHP]]></category>

		<guid isPermaLink="false">http://komstin.rifco.ru/?p=45</guid>
		<description><![CDATA[У меня всегда был психологический барьер между уже понятой объектной моделью задачи и еще не спроектированной структурой базы данных. Сначала я ловлю себя на том что просто тяну время, отодвигая неприятный момент, когда надо сесть с листом бумаги и ручкой (шучу, конечно же с редактором и клавиатурой) и начать выписывать подходящие таблицы и поля, пока [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://redbeanphp.jpg.to/medium" class="alignleft size-medium" /> У меня всегда был психологический барьер между уже понятой объектной моделью задачи и еще не спроектированной структурой базы данных. Сначала я ловлю себя на том что просто тяну время, отодвигая неприятный момент, когда надо сесть с листом бумаги и ручкой (шучу, конечно же с редактором и клавиатурой) и начать выписывать подходящие таблицы и поля, пока в голове не сложится прямой мостик между ними и теми объектами и их свойствами, которые реально выражают задачу. В общем, возможно, это моя психологическая проблема, но думаю что не только моя, иначе не придумали бы технологию <a title="Object-relational mapping" href="http://ru.wikipedia.org/wiki/ORM">ORM</a>.</p>
<p>Да, я о ней слышал, но продолжал бороться с собой и каждый раз заниматься ручным маппингом, насилуя свои мозги. Останавливала необходимость погрузиться в новую технологию ради одного лишь действия &#8212; проектирования структуры базы. Вот если бы было простенькое средство&#8230;</p>
<p>Вроде бы вот оно &#8212; <a href="http://www.redbeanphp.com/">RedBeanPHP</a>. На первый взгляд похоже на игрушку. Есть большие сомнения насчет эффективности. Вопрос, годится ли это в качестве рабочей среды. Но вот в качестве ORM точно годится. Просто в освоении. Легкая и гибкая объектная модель. До поры можно вообще не думать о структуре базы. До той поры, пока не придет время сделать Freeze &#8212; заморозить структуру базы. Вот тут уже можно и делом заняться &#8212; нормализацией, оптимизацией&#8230; Главное, то что у меня вызывало тот самый барьер &#8212; сделано. <em>Object-relational mapping.</em></p>
<img src="http://feeds.feedburner.com/~r/rifco/komstin/~4/pxojGzyAl8s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://komstin.rifco.ru/45/orm-%d0%b4%d0%bb%d1%8f-%d0%be%d0%b1%d0%bb%d0%b5%d0%b3%d1%87%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b6%d0%b8%d0%b7%d0%bd%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://komstin.rifco.ru/45/orm-%d0%b4%d0%bb%d1%8f-%d0%be%d0%b1%d0%bb%d0%b5%d0%b3%d1%87%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b6%d0%b8%d0%b7%d0%bd%d0%b8/</feedburner:origLink></item>
		<item>
		<title>Эксплуатация клиента для серверных нужд</title>
		<link>http://feedproxy.google.com/~r/rifco/komstin/~3/1q9RUbxCFAI/</link>
		<comments>http://komstin.rifco.ru/41/%d1%8d%d0%ba%d1%81%d0%bf%d0%bb%d1%83%d0%b0%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%bd%d1%8b%d1%85-%d0%bd/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 15:08:27 +0000</pubDate>
		<dc:creator>komstin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[datafeed]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[php-fpm]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://komstin.rifco.ru/?p=41</guid>
		<description><![CDATA[Нередко к генерации страницы цепляют то, что к самой странице не относится. Самый простой и обычный вариант &#8212; отправить себе по почте результат заполнения клиентом формы. Но часто идут дальше и пользуются клиентскими вызовами для того, что по идее надо делать кроном. Не будем сейчас дискутировать &#8212; плохо это или хорошо, факт, что так часто [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://fastcgi.jpg.to/medium" class="alignleft size-medium" /> Нередко к генерации страницы цепляют то, что к самой странице не относится.</p>
<p>Самый простой и обычный вариант &#8212; отправить себе по почте результат заполнения клиентом формы. Но часто идут дальше и пользуются клиентскими вызовами для того, что по идее надо делать кроном. Не будем сейчас дискутировать &#8212; плохо это или хорошо, факт, что так часто делают. Многие плагины вордпресса, например. Скажем, генерирующие посты из rss или datafeeds.</p>
<p>Но если уж и использовать клиентский запрос для того, что к нему прямо не относится, то желательно не обременять клиента ненужным ожиданием исполнения кода, не связанного с генерацией страницы. То есть надо исполнять такой код асинхронно.</p>
<p>Если мы уже работаем в связке nginx &#8212; php-fpm, то у нас есть для этого адекватное средство &#8212; функция fastcgi_finish_request(). Почему-то в PHP Manual она не упоминается, только в <a href="http://www.php.net/manual/pt_BR/install.fpm.php">FastCGI Process Manager (FPM)</a>, и то мельком.</p>
<p>Итак, сразу после формирования клиентской части вызываем fastcgi_finish_request(), после чего спокойно и асинхронно занимаемся своими серверными делами &#8212; отправляем почту, забираем сторонний контент, апдейтим базу и пр. &#8212; клиента это уже не волнует.</p>
<img src="http://feeds.feedburner.com/~r/rifco/komstin/~4/1q9RUbxCFAI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://komstin.rifco.ru/41/%d1%8d%d0%ba%d1%81%d0%bf%d0%bb%d1%83%d0%b0%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%bd%d1%8b%d1%85-%d0%bd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://komstin.rifco.ru/41/%d1%8d%d0%ba%d1%81%d0%bf%d0%bb%d1%83%d0%b0%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d0%ba%d0%bb%d0%b8%d0%b5%d0%bd%d1%82%d0%b0-%d0%b4%d0%bb%d1%8f-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80%d0%bd%d1%8b%d1%85-%d0%bd/</feedburner:origLink></item>
		<item>
		<title>SQLite as DB Cache</title>
		<link>http://feedproxy.google.com/~r/rifco/komstin/~3/Y2Y8MY2TpTw/</link>
		<comments>http://komstin.rifco.ru/35/sqlite-as-db-cache/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 12:14:41 +0000</pubDate>
		<dc:creator>komstin</dc:creator>
				<category><![CDATA[SQLite]]></category>
		<category><![CDATA[APC]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[xCache]]></category>
		<category><![CDATA[шаред-хостинг]]></category>

		<guid isPermaLink="false">http://komstin.rifco.ru/?p=35</guid>
		<description><![CDATA[Вот кстати, фреймворк yii предлагает в качестве одной из альтернатив реализации кеша DBCache, постороенный на SQLite. Конечно, это не альтернатива APC или xCache, но вот, например, на шаред хостинге, когда провайдер по каким-то причинам отказывается установить что-либо подобное, а вы по своим причинам не хотите менять хостинг-провайдера (у меня в одном зарубежном случае все так [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://SQLite-Cache.jpg.to/medium" class="alignleft size-medium" /> Вот кстати, фреймворк yii предлагает в качестве одной из альтернатив реализации кеша DBCache, постороенный на SQLite. Конечно, это не альтернатива APC или xCache, но вот, например, на шаред хостинге, когда провайдер по каким-то причинам отказывается установить что-либо подобное, а вы по своим причинам не хотите менять хостинг-провайдера (у меня в одном зарубежном случае все так и есть), это может быть хорошим выбором.</p>
<p>Что касается производительности, то небольшая база с простой выборкой по ключу для не слишком нагруженного сайта будет безусловно быстрее хоть отсутствия кеша, хоть его файлового варианта.</p>
<p>Особенно если предусмотреть три фактора, обеспечивающих максимальную производительность SQLite:</p>
<p>1. Асинхронный режим</p>
<p>2. Журналирование в памяти</p>
<p>3. Транзакции</p>
<img src="http://feeds.feedburner.com/~r/rifco/komstin/~4/Y2Y8MY2TpTw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://komstin.rifco.ru/35/sqlite-as-db-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://komstin.rifco.ru/35/sqlite-as-db-cache/</feedburner:origLink></item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Object Caching 556/658 objects using apc

Served from: rifco.ru @ 2012-05-13 21:35:15 -->

