<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Russian Gothic (Blekel&#039;s) Blog - RGB &#187; RTFM</title>
	<atom:link href="http://blekel.ru/category/rtfm/feed" rel="self" type="application/rss+xml" />
	<link>http://blekel.ru</link>
	<description>Персональный блог Блэкела. Беспочвенные фантазии о вечной жизни</description>
	<lastBuildDate>Fri, 13 Jan 2012 17:45:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Groovy GSP charset problem resolving</title>
		<link>http://blekel.ru/rtfm/groovy-gsp</link>
		<comments>http://blekel.ru/rtfm/groovy-gsp#comments</comments>
		<pubDate>Tue, 27 Sep 2011 13:28:48 +0000</pubDate>
		<dc:creator>Blekel</dc:creator>
				<category><![CDATA[RTFM]]></category>

		<guid isPermaLink="false">http://blekel.ru/?p=868</guid>
		<description><![CDATA[В какой-то момент проявилась одна заметная проблема, мешающая мне осуществить абсолютно 100% замену PHP на Groovy для веба без использования относительно тяжеловесного MVC-фреймворка Grails. Это касается *.gsp страниц (Groovy Server Pages), представляющих собой html-страницы со вставками вида &#60;% .. %&#62; с произвольным кодом на Groovy или Java, или на языке оригинала: &#171;GSP means GroovyServer Pages, [...]]]></description>
			<content:encoded><![CDATA[<p>В какой-то момент проявилась одна заметная проблема, мешающая мне осуществить абсолютно 100% замену <a href="http://php.net/">PHP</a> на <a href="http://groovy.codehaus.org/">Groovy</a> для веба без использования относительно тяжеловесного MVC-фреймворка <a href="http://grails.org/">Grails</a>.</p>
<p>Это касается *.gsp страниц (Groovy Server Pages), представляющих собой html-страницы со вставками вида &lt;% .. %&gt; с произвольным кодом на Groovy или Java, или на языке <a href="http://groovy.codehaus.org/GSP">оригинала</a>: &laquo;<em>GSP means GroovyServer Pages, which is similar to JSP (JavaServer Pages).</em>&raquo;</p>
<p>Точно такая же функциональность в PHP реализуется вставками &lt;? .. ?&gt; (причем для PHP наличие такого блока является обязательным, даже если он реализует классы или бизнес-логику; если после такого блока будет находиться обычно невидимый пробел или перенос строки, то он попадёт в вывод, что может привести к проблемам).</p>
<p>На сайте груви написано: &laquo;<em>GSP are not maintained as a standalone module. But it has been forked and reintegrated in Grails.</em>&raquo; Но, тем не менее, как и груви-сервлеты, gsp-страницы работают без Grails, достаточно просто подключить груви к приложению.</p>
<p>Проблема заключалась в том, что в этих gsp-страницах русский текст превращался в &laquo;кракозябры&raquo;. В груви-сервлетах, как в &laquo;настоящих&raquo;, так и скриптового вида, такого не наблюдалось. </p>
<p>Методом научного тыка выяснилось, что если исходник gsp перевести в кодировку по-умолчанию на системе (например, cp1251 для Windows), то проблема решается (при этом вывод страницы идет уже в кодировке UTF-8).</p>
<p>А это чистой воды подсказка: идем в исходники сервлета groovy.servlet.TemplateServlet.java, который отвечает за разбор таких страниц, и находим там строку:</p>
<p><span id="more-868"></span></p>
<pre class="wp-code-highlight prettyprint">
private static final String GROOVY_SOURCE_ENCODING = "groovy.source.encoding";
</pre>
<p>Там же видно, как этот параметр влияет на создание экземпляра Reader-а.</p>
<p>Прописываем в web.xml приложения параметр сервлету со значением &laquo;UTF-8&#8243;, и вуаля, &#8211; проблема решена.</p>
<p>Полный текст web.xml приложения, в котором все произвольные *.groovy и *.gsp файлы будут компилироваться в сервлеты и корректно выводить кириллицу:</p>
<pre class="wp-code-highlight prettyprint">
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	version="2.5"&gt;

	&lt;servlet&gt;
		&lt;servlet-name&gt;GroovyServlet&lt;/servlet-name&gt;
		&lt;servlet-class&gt;groovy.servlet.GroovyServlet&lt;/servlet-class&gt;
	&lt;/servlet&gt;
	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;GroovyServlet&lt;/servlet-name&gt;
		&lt;url-pattern&gt;*.groovy&lt;/url-pattern&gt;
		&lt;url-pattern&gt;*.grv&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;
	&lt;servlet&gt;
		&lt;servlet-name&gt;GSP&lt;/servlet-name&gt;
		&lt;servlet-class&gt;groovy.servlet.TemplateServlet&lt;/servlet-class&gt;
		&lt;init-param&gt;
			&lt;param-name&gt;groovy.source.encoding&lt;/param-name&gt;
			&lt;param-value&gt;UTF-8&lt;/param-value&gt;
		&lt;/init-param&gt;
	&lt;/servlet&gt;
	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;GSP&lt;/servlet-name&gt;
		&lt;url-pattern&gt;*.gsp&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;
&lt;/web-app&gt;
</pre>
<p>Здесь так же показано, как длинное расширение .groovy, которое будет &laquo;светиться&raquo; в url-адресах можно заменить произвольным коротким, например .grv (или .php &#8211; just 4 fun).</p>
<p>Теперь можно быстро и просто писать сайты, веб-приложения, фреймворки на Groovy, для чего понадобятся только установленные Java и Tomcat на сервере.</p>
]]></content:encoded>
			<wfw:commentRss>http://blekel.ru/rtfm/groovy-gsp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Groovlets</title>
		<link>http://blekel.ru/sys/groovlets</link>
		<comments>http://blekel.ru/sys/groovlets#comments</comments>
		<pubDate>Sat, 24 Sep 2011 10:32:03 +0000</pubDate>
		<dc:creator>Blekel</dc:creator>
				<category><![CDATA[RTFM]]></category>
		<category><![CDATA[sys::]]></category>

		<guid isPermaLink="false">http://blekel.ru/?p=859</guid>
		<description><![CDATA[По факту у Groovy есть всё, чтобы вытеснить PHP из веба, например :-)]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://cs9367.vkontakte.ru/u10373019/38745381/y_012b4dd8.jpg" alt="" width="608" height="578" /></p>
<p>По факту у Groovy есть всё, чтобы вытеснить PHP из веба, например :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://blekel.ru/sys/groovlets/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Лямбда-выражения в C++ (стандарт C++0x)</title>
		<link>http://blekel.ru/sys/cpp-lambda</link>
		<comments>http://blekel.ru/sys/cpp-lambda#comments</comments>
		<pubDate>Tue, 29 Sep 2009 07:56:59 +0000</pubDate>
		<dc:creator>Blekel</dc:creator>
				<category><![CDATA[RTFM]]></category>
		<category><![CDATA[sys::]]></category>

		<guid isPermaLink="false">http://blekel.ru/?p=482</guid>
		<description><![CDATA[Многие языки программирования позволяют создавать налету локальные не именованные функции внутри выражений. Такие функции обычно относят к лямбда функциям, которые имеют широкое применение. Лямбда выражения &#8211; техника программирования, сочетающая в себе преимущества указателей на функции и функциональных объектов, и при этом позволяет избежать неудобств. Как и функциональные объекты, лямбда выражения позволяют хранить состояния, но их [...]]]></description>
			<content:encoded><![CDATA[<p>Многие языки программирования позволяют создавать налету локальные не именованные функции внутри выражений. Такие функции обычно относят к лямбда функциям, которые имеют широкое применение.</p>
<p><strong>Лямбда выражения </strong>&ndash; техника программирования, сочетающая в себе преимущества указателей на функции и функциональных объектов, и при этом позволяет избежать неудобств. Как и функциональные объекты, лямбда выражения позволяют хранить состояния, но их компактный синтаксис в отличие от функциональных объектов не требует объявления класса, т.е. позволяет писать более компактный код и избегать лишних ошибок там, где это возможно.</p>
<p><span id="more-482"></span></p>
<p><strong>Функциональные объекты </strong>&ndash; это обыкновенные объекты с перегруженным ()-оператором. Т.е. с точки зрения синтаксиса, они являются обыкновенными функциями.</p>
<p><strong>Синтаксис лямбда выражения:</strong></p>
<p><strong><img alt="C++ lambda" src="http://pic.blekel.ru/images/2009.09.29_11.51.38__Dd293603.png" /></strong></p>
<p>1) Маска переменных<br />
2) Список параметров<br />
3) Изменение параметра, переданного по значению<br />
4) Спецификация исключения<br />
5) Возвращаемый тип<br />
6) Тело лямбда выражения</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blekel.ru/sys/cpp-lambda/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gothic Chess</title>
		<link>http://blekel.ru/entertainments/gothic-chess</link>
		<comments>http://blekel.ru/entertainments/gothic-chess#comments</comments>
		<pubDate>Fri, 11 Sep 2009 13:51:10 +0000</pubDate>
		<dc:creator>Blekel</dc:creator>
				<category><![CDATA[RTFM]]></category>
		<category><![CDATA[Интересно]]></category>
		<category><![CDATA[Развлечения]]></category>

		<guid isPermaLink="false">http://blekel.ru/?p=450</guid>
		<description><![CDATA[Gothic Chess (произносится как &#171;го́тик че́сс&#187;, общепринятого русского названия нет) &#8212; коммерческий вариант шахмат на доске 10&#215;8, с двумя дополнительными фигурами. Игра предложена Эдом Трайсом и запатентована в 2002 году. Играют два игрока &#8212; чёрные и белые. Игровое поле имеет размеры 10&#215;8 полей, наборы фигур и правила игры аналогичны шахматам Капабланки для 80-клеточной доски. Отличие [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><img alt="Gothic Chess" src="http://blekel.ru/images/2009/09/Gothic_Chess.png" /></p>
<p><strong>Gothic Chess</strong> (произносится как &laquo;го́тик че́сс&raquo;, общепринятого русского названия нет) &mdash; коммерческий вариант шахмат на доске 10&#215;8, с двумя дополнительными фигурами. Игра предложена Эдом Трайсом и запатентована в 2002 году.</p>
<p><span id="more-450"></span></p>
<p>Играют два игрока &mdash; чёрные и белые. Игровое поле имеет размеры 10&#215;8 полей, наборы фигур и правила игры аналогичны <a href="http://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B_%D0%9A%D0%B0%D0%BF%D0%B0%D0%B1%D0%BB%D0%B0%D0%BD%D0%BA%D0%B8" title="Шахматы Капабланки">шахматам Капабланки</a> для 80-клеточной доски. Отличие состоит только в начальном расположении дополнительных фигур: канцлера и архиепископа. Канцлер располагается на вертикали <strong>e</strong> (между ферзём и королём), архиепископ &mdash; на вертикали <strong>g</strong> (между королём и ближайшим к нему слоном). Такое расположение приводит к тому, что все пешки в начальной позиции игры защищены фигурами.</p>
<li><img width="30" height="30" alt="" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Chess_cll44.png/30px-Chess_cll44.png" />&nbsp;&mdash; <strong>Канцлер</strong>&nbsp;&mdash; комбинированная фигура, сочетающая в себе возможности коня и ладьи.</li>
<li><img width="30" height="30" alt="" src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Chess_all44.png/30px-Chess_all44.png" />&nbsp;&mdash; <strong>Архиепископ</strong>&nbsp;&mdash; комбинированная фигура, сочетающая функции коня и слона.</li>
]]></content:encoded>
			<wfw:commentRss>http://blekel.ru/entertainments/gothic-chess/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPod-менеджмент импрувмент</title>
		<link>http://blekel.ru/rtfm/ipod-sync-without-itunes</link>
		<comments>http://blekel.ru/rtfm/ipod-sync-without-itunes#comments</comments>
		<pubDate>Sun, 14 Jun 2009 12:21:04 +0000</pubDate>
		<dc:creator>Blekel</dc:creator>
				<category><![CDATA[RTFM]]></category>

		<guid isPermaLink="false">http://blekel.ru/?p=296</guid>
		<description><![CDATA[Как улучшить&#160;механизм добавление/изменение&#160;контента на айподе, максимально приблизив это к привычному для русских &#34;флешечному&#34; типу. Для начала нужно в iTunes включить опции &#34;использовать как&#160;внешний диск&#34;, чтобы он стал полноценно виден как&#160;флешка,&#160;и &#34;обрабатывать музыку и видео вручную&#34;, чтобы снять зависимость от медиатеки тунца. Теперь&#160;медиа-файлы можно бросать через iTunes в&#160;iPod напрямую. В&#160;проводнике&#160;скидываем на плеер альтернативную программу управления контентом [...]]]></description>
			<content:encoded><![CDATA[<p>Как улучшить&nbsp;механизм добавление/изменение&nbsp;контента на айподе, максимально приблизив это к привычному для русских &quot;флешечному&quot; типу.</p>
<p>Для начала нужно в iTunes включить опции &quot;использовать как&nbsp;внешний диск&quot;, чтобы он стал полноценно виден как&nbsp;флешка,&nbsp;и &quot;обрабатывать музыку и видео вручную&quot;, чтобы снять зависимость от медиатеки тунца.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-152930.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-152930.png" /></a></p>
<p><span id="more-296"></span></p>
<p>Теперь&nbsp;медиа-файлы можно бросать через iTunes в&nbsp;iPod напрямую.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-153944.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-153944.png" /></a></p>
<p>В&nbsp;проводнике&nbsp;скидываем на плеер альтернативную программу управления контентом плеера.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-154310.png"><img height="233" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-154310.png" /></a></p>
<p>Например, <a target="_blank" href="http://www.copytrans.net/copytransmanager.php">CopyTransManager</a> для Windows. Для Unix-систем есть похожая программа <a target="_blank" href="http://www.gtkpod.org/">gtkpod</a>.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-154321.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-154321.png" /></a></p>
<p>Скриншот демонстрирует, что&nbsp;программа очень хорошо понимает русский язык. Не все из&nbsp;опробованых аналогов могут этим похвастаться.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-155404.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-155404.png" /></a></p>
<p>CopyTransManager напоминает облегченную версию iTunes. Даже встроенный прогрыватель есть (видео он правда не покажет).</p>
<p>Процесс добавления/удаления файлов очень прост. Пробуем добавить что-нить, чего нет на плеере.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-162030.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-162030.png" /></a></p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-162151.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-162151.png" /></a></p>
<p>Только почему-то не все мета-теги можно отредактировать.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-162220.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-162220.png" /></a></p>
<p>Управление музыкой, видео, плейлистами.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-162306.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-162306.png" /></a></p>
<p>Убеждаемся, что добавленный контент присутствует в iTunes.</p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-162711.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-162711.png" /></a></p>
<p>Таким образом можно добавлять/удалять новые песни и видео не только дома, но и на любом другом компьютере:&nbsp;на работе, у друзей и знакомых.&nbsp;</p>
<p>&nbsp;</p>
<p>Кроме этого,&nbsp;существует фантастический плагин для winamp,&nbsp;называется&nbsp;<a target="_blank" href="http://mlipod.sourceforge.net/">mlipod</a>.</p>
<p>Его функциональность даже превосходит упомянутую&nbsp;выше программу. Позволяет добавлять/удалять файлы, редактировать всю информацию, нормализовать уровень громкости для всех файлов и т.д.</p>
<p>Это прям &quot;тайна управления миром &#8211; супир!&quot; <img alt="" src="http://blekel.ru/wp-content/plugins/deans_fckeditor/smiles/nordic/icon_cool.gif" /></p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-174809.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-174809.png" /></a></p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-175201.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-175201.png" /></a></p>
<p align="center"><a target="_blank" href="http://blekel.ru/wp-content/uploads/2009-06-13-190802.png"><img height="264" alt="" width="450" align="middle" src="http://blekel.ru/wp-content/uploads/2009-06-13-190802.png" /></a></p>
<p>Ссылки:</p>
<p>Windows: <br />
<a href="http://www.copytrans.net/copytransmanager.php">http://www.copytrans.net/copytransmanager.php</a> <br />
<a href="http://mlipod.sourceforge.net/">http://mlipod.sourceforge.net/</a></p>
<p>Unix: <br />
<a href="http://www.gtkpod.org/">http://www.gtkpod.org/</a></p>
<p>UPD.</p>
<p>Офигеть. Оказалось, я так давно не обновлял свой винамп, что он уже сильно вырос &#8211; стандартная схема стала чёрной, а всякие айподы&nbsp;доступны для управления по-умолчанию. Правда, у меня пока не получилось сделать новый скин привычно компактным.</p>
<p><u><font color="#0000ff"><a href="http://www.winamp.com">http://www.winamp.com</a></font></u></p>
]]></content:encoded>
			<wfw:commentRss>http://blekel.ru/rtfm/ipod-sync-without-itunes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

