<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / плагин</title>
	<link>http://habrahabr.ru/rss/tag/плагин/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 20:46:26 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
			
		<item>		
			<title><![CDATA[Информационная безопасность / Интересные решения для электронной подписи в браузере]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/infosecurity/136572/</guid>
			<link>http://habrahabr.ru/blogs/infosecurity/136572/</link>			
			<description><![CDATA[В одном из комментов к <a href="http://habrahabr.ru/blogs/infosecurity/134890/">этому топику</a>, отечественный потребитель ЭЦП написал:<br/>
<blockquote>У меня есть мечта… В самом деле — у меня есть мечта, что когда-нибудь в будущем я смогу обойтись без связки «windows + IE» для клиент-банков и прочего софта, который использует крипто-про. СБИС++, например. Блин, я надеюсь, что это когда-нибудь будет. <br/>
</blockquote><br/>
<img src="http://habrastorage.org/storage2/b44/7a1/df5/b447a1df5678c9d850c2cef61648c805.jpg"/><br/>
<br/>
Конкретная такая мечта. И сейчас имеются все предпосылки для ее исполнения. <br/>
<br/>
В топике я немного остановлюсь на решениях Крипто-Про, которые позволяют сделать квалифицированную ЭЦП в браузере действительно удобной. <br/>
<br/>
А так же опишу одно оригинальное решение от фирмы Криптоком (<a href="http://www.cryptocom.ru">www.cryptocom.ru</a>), которое позволяет подписывать документы через интернет квалифицированной ЭЦП с помощью практически любого компьютера/браузера без предварительной настройки и без прав сисадмина (для варианта «срочно нужно провести сделку из интернет-кафе турецкого отеля»).<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/infosecurity/136572/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 20 Jan 2012 09:18:05 GMT</pubDate>
			<author>VicTun</author>
			<category>эцп</category><category>криптопро</category><category>TLS</category><category>SSL</category><category>плагин</category><category>stunnel</category><category>csp</category><category>рутокен</category><category>https</category><category>скзи</category><category>рутокен эцп</category><category>криптоком</category>
		</item>
		
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[jQuery / [Из песочницы] Плагин jQuery для сортировки таблиц: TableSorter.js. Как добиться постраничной навигации?]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/jquery/136228/</guid>
			<link>http://habrahabr.ru/blogs/jquery/136228/</link>			
			<description><![CDATA[<h4>Вступление</h4><br/>
<img src="http://habrastorage.org/storage2/118/8d7/0cf/1188d70cf63b6de7c16aa3d9460916c8.png" align="right"/>При разработке одного проекта мне пришлось решать проблему с сортировкой данных в таблице. Не хотелось для этого использовать <b>PHP</b>, так как эффект теряется при перезагрузке страницы. Вот и наткнулся я на официальный сайт jQuery-плагина &quot;<b>TableSorter.js</b>&quot; — <a href="http://www.tablesorter.com">www.tablesorter.com</a>. Немного покопавшись в англоязычной документации я с радостью обнаружил в новостях сайта ссылку на русскоязычный сайт: <a href="http://www.tablesorter.ru">www.tablesorter.ru</a>.<br/>
<br/>
В принципе там всё предельно ясно было описано и я быстро понял как всё работает… <br/>
Но было в документации одно важное упущение: недостаточно описан принцип работы постраничной навигации, да и нужные файлы не выложены. А мне как-раз нужна была эта функция, так как в моих таблицах было минимум по 150 строк. Пришлось самому решить эту проблему. <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/jquery/136228/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 14 Jan 2012 21:03:08 GMT</pubDate>
			<author>bazmaster</author>
			<category>таблицы</category><category>таблица</category><category>таблиц</category><category>сортировка</category><category>навигация</category><category>картинки</category><category>архив</category><category>скрипты</category><category>jquery</category><category>плагин jquery</category><category>плагин</category><category>php</category><category>javascript</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Браузеры / Кнопка LinguaLeo в Яндекс.Баре для удобного перевода и освоения незнакомых английских слов в интернете]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/browsers/134733/</guid>
			<link>http://habrahabr.ru/blogs/browsers/134733/</link>			
			<description><![CDATA[LinguaLeo и команда Яндекс.Бара представляют новое приложение — <a href="http://bar-widgets.yandex.ru/assembly/183">браузерная кнопка LinguaLeo</a>.<br/>
<br/>
<img src="http://habrastorage.org/storage1/1918a90d/6519a877/b6c88b46/259b2672.png"/><br/>
<br/>
Профит от приложения — можно кликать по незнакомым словам в англоязычном интернете и незаметно для себя расширять словарный запас. <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/browsers/134733/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 16 Dec 2011 12:26:35 GMT</pubDate>
			<author>LinguaLeo</author>
			<category>LinguaLeo</category><category>Yandex</category><category>Bar</category><category>английский язык</category><category>перевод</category><category>изучение</category><category>словарный запас</category><category>слова</category><category>плагин</category><category>браузер</category>
		</item>
		
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[.NET / [Из песочницы] Пишем модульное приложение на .Net Framework]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/133235/</guid>
			<link>http://habrahabr.ru/blogs/net/133235/</link>			
			<description><![CDATA[Современные тенденции в разработке информационных систем требуют от проектировщиков закладывать в архитектуру систем возможность динамического расширения их функционала. И не смотря на существование огромного количества наработок в этом направлении, единого решения структуры модульного приложения нет. Использование же готового решения не всегда возможно в силу специфики языка программирования или разрабатываемой системы. Так же, готовые решения модульных систем не всегда доступны для изучения, а иногда излишне сложны.<br/>
<br/>
Модули в разных системах, зачастую, имеют разные границы функциональности. В системе могут быть выделены некоторые, строго определенные точки расширения – некоторый функционал, дополняемый сторонними разработчиками. Или система может представлять собой лишь механизм управления модулями, а весь ее функционал реализуется отдельными модулями.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/133235/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 23 Nov 2011 09:03:54 GMT</pubDate>
			<author>dokwork</author>
			<category>.net</category><category>reflection</category><category>модуль</category><category>плагин</category><category>plugin</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Google Chrome / Расширение Mouse Manager]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/google_chrome/132076/</guid>
			<link>http://habrahabr.ru/blogs/google_chrome/132076/</link>			
			<description><![CDATA[Привет Хабр!<br/>
Мне очень понравилась возможность в браузере Opera переключаться между вкладками колесиком мышки, предварительно зажав правую кнопку мыши. К сожалению найти такой плагин я не сумел, по-этому как Вы наверное догадались решил написать свой. <br/>
<img src="http://habrastorage.org/storage1/6519d068/a32dc54b/06f3b50e/45072fd3.jpg"/><br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/google_chrome/132076/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 07 Nov 2011 15:03:29 GMT</pubDate>
			<author>Kicker</author>
			<category>плагин</category><category>mouse</category><category>mouse manager</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Ruby on Rails / ActionMailer_X509: подписываем и шифруем письма прямо в Ruby On Rails]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/ror/127222/</guid>
			<link>http://habrahabr.ru/blogs/ror/127222/</link>			
			<description><![CDATA[В одном из последних проектов понадобилось подписывать и шифровать с помощью сертификатов X.509 письма, отправляемые приложением на Ruby on Rails 3. Беглый поиск привёл к плагину <a href="https://github.com/penso/actionmailer_x509">actionmailer_x509</a>, а вот дальше начались проблемы.<br/>
<br/>
Выяснилось, что он не обновлялся с 2008 года, скорее всего не работает с Rails 3 (в частности, смущал комментарий автора: «It has been tested with Rails 2.0.1») и умеет только подписывать, но не шифровать письма. <a href="http://stackoverflow.com/questions/6428983/how-do-i-send-signed-emails-from-actionmailer-in-rails-3">Поиск</a> <a href="http://habrahabr.ru/qa/8779/">альтернативных</a> <a href="http://serverfault.com/questions/285381/how-to-sign-and-encrypt-all-sended-mail-via-sendmail-postfix/285751#285751">решений</a> ничего <a href="http://stackoverflow.com/questions/6858756/sendmail-postfix-milter-mimedefang-how-to-encrypt-and-sign-and-emails">не дал</a>, и пришлось знакомиться с плагином поближе.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/ror/127222/#habracut">Как я знакомился с плагином и писал новый gem</a> </div>]]></description>
			
			<pubDate>Mon, 29 Aug 2011 06:25:36 GMT</pubDate>
			<author>mpetrunin</author>
			<category>ruby on rails 3</category><category>actionmailer</category><category>actionmailer_x509</category><category>x509</category><category>openssl</category><category>шифрование</category><category>подпись</category><category>плагин</category>
		</item>
		
		
		
		
		
		
		
		
	
		
			
		<item>		
			<title><![CDATA[jQuery / [Из песочницы] Плагин для «живых» форм]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/jquery/123940/</guid>
			<link>http://habrahabr.ru/blogs/jquery/123940/</link>			
			<description><![CDATA[<img src="http://habrastorage.org/storage1/0605b38b/dd58aabb/65a04050/281940d8.jpeg" align="left"/>Статья посвящена плагину, который упрощающает жизнь client-side программиста.<br/>
<br/>
При заполнении формы случается так, что учитывая введенные данные, форму нужно менять (прятать и показывать поля). Простейший пример: при заказе доставки товара пользователь выбрал «самовывоз», значит поля про адрес доставки можно спрятать, зато было бы здорово показать карту проезда для самовывоза.<br/>
<br/>
<h5>И что дальше</h5><br/>
Часто такая логика остается без реализации, однако если вы заботитесь о своих пользователях, то делать это нужно.<br/>
<br/>
Первый стандартный подход это сделать некий пошаговый мастер, где форма для каждого шага генерируется на стороне сервера. По-моему мнению это неудачный вариант, так как требует муторной работы по разбиению процесса на шаги, написанию тонны кода да удовольствия от работы с такой формой мало.<br/>
<br/>
Второй подход это писать «портянки» javascript'а который всю эту логику реализует на стороне клиента. Особенно грустно писать «каскадную» логику типа «если ввели <i>a</i> в поле A, показать B, если ввели <i>c</i> в поле B, то показать D. Если в A ввели что-то другое, спрятать B, а потом D».<br/>
<br/>
Оба варианта нельзя назвать удобными. Прежде всего потому что логика реализуется <b>императивным</b> стилем вместо уместного для таких случаев <b>декларативного</b>. Но выход есть!<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/jquery/123940/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 12 Jul 2011 08:44:25 GMT</pubDate>
			<author>H1D</author>
			<category>jQuery</category><category>plugin</category><category>forms</category><category>конверсия</category><category>плагин</category>
		</item>
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Разработка под Android / Создаём модульное приложение]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/android_development/123306/</guid>
			<link>http://habrahabr.ru/blogs/android_development/123306/</link>			
			<description><![CDATA[<img src="http://wnezros-samples.googlecode.com/svn/trunk/moduled/moduled/res/drawable/icon.png" align="left"/> Вы захотели сделать браузер с плагинами, программу с темами, игру с аддонами или какое-то другое модульное приложение для Android? Но как это сделать? Я расскажу, как сделать простое приложение, которое будет получать текст от модулей. <br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/android_development/123306/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 03 Jul 2011 17:45:32 GMT</pubDate>
			<author>WNeZRoS</author>
			<category>android</category><category>module</category><category>plugin</category><category>application</category><category>development</category><category>разработка</category><category>андроид</category><category>модуль</category><category>плагин</category><category>как?</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[MooTools / MUX.Dialog плагин для красивых диалогов в вашем проекте]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/mootools/119948/</guid>
			<link>http://habrahabr.ru/blogs/mootools/119948/</link>			
			<description><![CDATA[<img src="http://lavmax.github.com/MUX.Dialog/dialog_hh.png" align="left"/> Этот плагин позволит вам легко и элегантно выводить сообщения и небольшие формы в ваших веб-проектах, построенных на Mootools.<br/>
<br/>
<h4>Основные характеристики</h4><br/>
<ol>
<li>Полнофунциональные диалоги. А значит из коробки работают модальность, многооконность, закрытие по Esc, перетаскивание, растягивание (опционально), удобный механизм добавления кнопок и другие вкусности. При этом все очень ненавязчиво.</li>
<li>Простой API для кастомизации и манипуляции диалогами.</li>
<li>Стилизация через CSS, что означает что многие, если не все свойства связанные с внешним видом и даже некоторые связаные с поведением можно переопределить в своих CSS файлах, а значит вы легко впишете диалоги в стиль своего проекта (см. примеры).</li>
<li>События позволят вам перехватывать ключевые моменты поведения диалогов и дополнять их собственным поведением.</li>
<li>Работает из коробки с <a href="http://habrahabr.ru/blogs/mootools/119051/">MUX.Loaders</a>, но не требует их если вы не хотите их использовать. Просто подключите файл лоадеров до диалогов и все — анимация сама запустится перед событием <code>submit</code> и остановится при закрытии.</li>
<li>Полная <a href="https://github.com/lavmax/MUX.Dialog">документация</a> и <a href="http://lavmax.github.com/MUX.Dialog/">примеры</a>.</li>
</ol><br/>
Проект на github <a href="https://github.com/lavmax/MUX.Dialog">https://github.com/lavmax/MUX.Dialog</a>.<br/>
<br/>
Тестировалось на IE7+, FF3+, Chrome, Safari, Opera последних версий.<br/>
<br/>
<h4>Некоторые примеры использования и кастомизации</h4><div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/mootools/119948/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 25 May 2011 18:27:02 GMT</pubDate>
			<author>lavmax</author>
			<category>mootools</category><category>plugin</category><category>dialog</category><category>window</category><category>box</category><category>плагин</category><category>диалог</category><category>окно</category><category>javascript</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Я пиарюсь / Шнуровик — плагин для подбора кабеля]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/i_am_advertising/119625/</guid>
			<link>http://habrahabr.ru/blogs/i_am_advertising/119625/</link>			
			<description><![CDATA[Привет всем хабражителям!<br/>
<br/>
У нас в проекте наконец-то появился человек, который самостоятельно занимается разработкой плагина для подбора кабелей, шнурков и прочей коммутации.<br/>
<br/>
Пока готова первая версия и есть несколько идей, куда можно двигаться дальше, но нужно более четкое понимание, чего хочет пользователь.<br/>
<br/>
Поэтому просим feedback :)<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/startup/119625/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 19 May 2011 19:39:39 GMT</pubDate>
			<author>fireharp</author>
			<category>шнуровик</category><category>переходники</category><category>кабели</category><category>плагин</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Браузеры / Пара слов о разработке и публикации add-ons для FireFox и Chrome]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/browsers/119343/</guid>
			<link>http://habrahabr.ru/blogs/browsers/119343/</link>			
			<description><![CDATA[<img src="http://t2.gstatic.com/images?q=tbn:ANd9GcQXmkjrhS28HUfMYdNDhl8Fn_b84_9QgX9-mfTRB1qVNhPRPVmS" alt="image" align="left"/><br/>
 На днях мне обломился инвайт на лепру. В связи с чем появилось желание поэкспериментировать с плагинами для отображения картинок из комментариев к посту. Дальше о лепре ни слова, просто несколько тезисов о написании и публикации простого или чуть более чем простого адд-она для FireFox и Chrome. Ну и в конце — ссылки на поделки.<br/>
 <div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/browsers/119343/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 16 May 2011 09:46:02 GMT</pubDate>
			<author>flom</author>
			<category>firefox</category><category>chrome</category><category>add-on</category><category>плагин</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Веб-разработка / Небезопасный код приостановленного проекта PHP Speedy для Wordpress]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/118369/</guid>
			<link>http://habrahabr.ru/blogs/webdev/118369/</link>			
			<description><![CDATA[Для решения задачи объединения множества CSS и JS файлов блога на Wordpress я не нашла ничего лучше, чем заброшенный проект PHP Speedy. (Web Optimizer не захотел устанавливаться из-за наличия конфликтующего плагина). Какого же было мое удивление, когда я случайно обнаружила вот такой небезопасный код:<br/>
<br/>
<code>// action function for above hook<br/>
function mt_add_pages() {<br/>
<b>add_options_page('php_speedy_wp.php', 'PHP Speedy', 0, $this-&gt;home_url, array(&$this, 'menu_system'));</b><br/>
} <br/>
</code><br/>
<a href="http://code.google.com/p/phpspeedy/source/browse/trunk/%20phpspeedy%20--username%20mail.aciddrop/php_speedy_wp/php_speedy_wp.php#568">стр. 568 исходного кода<br/>
</a><br/>
Обратите внимание на строку с функцией <code>add_options_page()</code>, которая отвечает за добавление пункта меню «PHP Speedy» в списке плагинов для его настройки. 3й параметр этой функции указывает уровень пользователя (от 0 до 10), которому будут доступны настройки плагина. И почему-то этот параметр 0, вместо 10. Это означает, что любой зарегистрированный пользователь вашего блога увидит в консоли этот пункт в меню, ну и конечно, сможет настроить плагин как угодно или даже деактивировать его.<br/>
<br/>
Так что, если вы еще используете этот плагин и у вас открыта регистрация, обязательно поправьте это недоразумение.]]></description>
			
			<pubDate>Fri, 29 Apr 2011 06:40:59 GMT</pubDate>
			<author>habratchanka</author>
			<category>PHP Speedy</category><category>баг</category><category>безопасность</category><category>wordpress</category><category>плагин</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[IM / Однако тенденция: MUD плавно начинают развиваться в Jabber вместо telnet]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/im/117385/</guid>
			<link>http://habrahabr.ru/blogs/im/117385/</link>			
			<description><![CDATA[<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/ADVENT_--_Will_Crowthers_original_version.png/300px-ADVENT_--_Will_Crowthers_original_version.png" align="right"/>Старожилы Интернета хорошо помнят, что первыми <nobr>по-настоящему</nobr> популярными многопользовательскими компьютерными играми были текстовые RPG, известные под сокращённым названием MUD (от английских слов «многопользовательское подземелье»). Передвижения и сражения персонажей происходили в них через подачу простых текстовых команд, и происходящее в игре поступало к игрокам в виде литературного текста, описывающего события. Обычным средством для связи игрока с игровым сервером в те годы был стародавний протокол telnet (технически одарённые игроки нередко использовали в игре не стандартный клиент telnet, а специализированные игровые текстовые консоли для MUD, обеспечивающие макроподстановки, горячие клавиши, и запись маршрута странствий, и подчас даже наскриптовывание автоматических действий — например, автоматизацию поедания пищи голодным персонажем).<br/>
<br/>
В феврале 2010 года на Хабрахабре <nobr>(в том же</nobr> <nobr>блоге «IM»,</nobr> где я сейчас это пишу) появилася блогозапись <a href="http://habrahabr.ru/blogs/im/84257/"><nobr>«„Снежки“ —</nobr> <nobr>мега-шутер</nobr> <nobr>в джаббере»,</nobr></a> автор которой <nobr>(<a href="http://likegroof.habrahabr.ru/" class="user_link">likegroof</a>),</nobr> <nobr>в общем-то,</nobr> перенёс в Jabber принципы <nobr>MUD-боёвки:</nobr> персонажи подают простые текстовые команды, сервер сообщает им о достижениях и состоянии персонажа. Это многие отметили тогда же и там же в комментариях.<br/>
<br/>
В том же 2010 году некий DM, действующий под псевдонимом MuzzY, <a href="https://www.nic.ru/whois/?query=JabberGames.Ru">регистрирует домен JabberGames.Ru</a> и создаёт <nobr>джабберный MUD</nobr> «<a href="http://jabbergames.ru/">Камень судьбы</a>», в настоящее время довольно развитый — к нему даже существует плагин для QIP Infium, обеспечивающий графику:<br/>
<br/>
<img src="http://i51.tinypic.com/2cm5co.jpg" alt="[скриншот плагина]"/><br/>
<br/>
В феврале нынешнего (2011) года Андрей Фоменко (вдохновлённый этими событиями давний любитель интерактивных текстовых игр) <a href="http://blogion.ru/fomenko/2011/02/24/ya-gejjm-developer/">объявил в своём блоге</a> о том, что и сам начал держать у себя дома на компьютере <nobr>MUD для Jabber,</nobr> открытый круглосуточно, где играют до 30 человек одновременно.<br/>
<br/>
Да ведь это тенденция, господа.]]></description>
			
			<pubDate>Wed, 13 Apr 2011 05:37:24 GMT</pubDate>
			<author>Mithgol</author>
			<category>MUD</category><category>Jabber</category><category>telnet</category><category>RPG</category><category>текстовые игры</category><category>многопользовательские игры</category><category>снежки онлайн</category><category>QIP Infium</category><category>плагин</category><category>Фоменко</category><category>тенденция</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[CMS / CMS-словарик: расширения для CMS]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/about_cms/113687/</guid>
			<link>http://habrahabr.ru/blogs/about_cms/113687/</link>			
			<description><![CDATA[Как показывает <a href="http://habrahabr.ru/blogs/about_cms/48581/">независимое исследование</a>, около 67 процентов Web-разработчиков на Хабрахабре пишут свои CMS. За свою жизнь ваш покорный слуга написал около пяти-шести CMS-велосипедов, и в процессе работы была с жадностью перерыта масса информации о структуре и принципах работы других CMS, а также придумано несколько своих. Мир CMS полон разнообразных модулей, расширений, компонентов, компонент, плагинов. О том, как разработчики CMS позволяют расширять функционал, и какие термины для этого используются, я и хочу рассказать. Сразу предупреждаю, что нижеследующая информация может и запутать, поэтому термины, которые в контексте разных CMS имеют разные значения, несут в скобках номер, указывающий на то или иное значение. Некоторые принципы, изложенные здесь, могут заставить сморщиться кого-либо. В списке, в основном, перечислен функционал, расширяющий систему. Синтаксис, используемый в примерах, в большинстве случаев выдуман.<br/>
Надеюсь, список поможет с организацией принципов работы собственных CMS, подкинет идею или просто заинтересует. Те, кому скучно, могут попробовать угадать, какая именно CMS имелась в виду в каждом конкретном случае (дабы избежать холивара, названия CMS в самом списке не используются, да и в конкретных случах термины могут содержать несколько иное значение).<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/about_cms/113687/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sun, 13 Feb 2011 20:25:49 GMT</pubDate>
			<author>ainu</author>
			<category>cms</category><category>модуль</category><category>компонент</category><category>расширение</category><category>плагин</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Ненормальное программирование / Строим плагиноориентированную модульную систему]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/105545/</guid>
			<link>http://habrahabr.ru/blogs/crazydev/105545/</link>			
			<description><![CDATA[Года три назад у меня роились идеи относительно того, как создать такое ядро системы, которое позволяло бы быстро и эффективно расширять его функционал с помощью подключаемых модулей, расширений. При этом нужно было минимизировать проблемы, которые возникают у плагинописателей при развитии продукта, проблемы совместимости множества плагинов. <br/>
<br/>
С одной стороны задача не представляет проблем, достаточно дать разработчикам богатое API по работе с системой. Но с другой стороны, если изучение системы будет требовать слишком много трудозатрат, то она никогда не обретет популярности. Тщательное документирование в быстроразвивающихся проектах зачастую не работает, значит нужно использовать самые простые механизмы, которые позволят в кратчайший срок понять начинающему плагинописателю, как все работает.<br/>
<br/>
Данная статья рассчитана на начинающих программистов, которые ищут идеи подобной архитектуры для реализации своих проектов. <br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/crazydev/105545/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 04 Oct 2010 23:54:04 GMT</pubDate>
			<author>s0rr0w</author>
			<category>Модуль</category><category>ядро</category><category>схема</category><category>плагин</category><category>архитектура системы</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[VIM / Плагин для Vim, который обеспечивает удобное переключение раскладки клавиатуры в X11]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/vim/101935/</guid>
			<link>http://habrahabr.ru/blogs/vim/101935/</link>			
			<description><![CDATA[Дополнение к <a href="http://habrahabr.ru/blogs/vim/98756/">тому самому плагину</a> для Vim, который обеспечивает удобное переключение раскладки клавиатуры в Mac OS X, теперь обеспечивает удобное переключение раскладки клавиатуры в Gnome, KDE, twm и <a href="http://en.wikipedia.org/wiki/X_window_manager#X_Window_managers">многих</a> других замечательных штуках для сервера на букву X -)<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/vim/101935/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 17 Aug 2010 03:02:46 GMT</pubDate>
			<author>funca</author>
			<category>vim</category><category>plugin</category><category>keyboard layout</category><category>вим</category><category>плагин</category><category>клавиатурная раскладка</category><category>xkb</category><category>bolgenos</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[VIM / Плагин для Vim, который обеспечивает удобное переключение раскладки клавиатуры в Mac OS X]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/vim/98756/</guid>
			<link>http://habrahabr.ru/blogs/vim/98756/</link>			
			<description><![CDATA[<h4>Предисловие</h4><br/>
Совсем недавно, буквально пару недель назад, я решил перейти на <a href="http://www.vim.org/">Vim</a>. Меня привлекла потенциальная мощь этого редактора: настроив всё правильным образом, можно получить полноценную IDE, которая работает именно так, как тебе надо. К тому же, куча всевозможных сочетаний клавиш позволяют создавать и редактировать тексты со сверхзвуковой скоростью, достаточно лишь один раз запомнить необходимые комбинации. Плюс, можно добавить свои.<br/>
<br/>
Единственное, что меня напрягало, — необходимость постоянного переключения раскладки для того, чтобы полноценно работать в Vim. Да, конечно, можно делать маппинги для клавиш, но это далеко не всегда работает.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/vim/98756/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 10 Jul 2010 12:53:52 GMT</pubDate>
			<author>porqz</author>
			<category>vim</category><category>plugin</category><category>keyboard layout</category><category>вим</category><category>плагин</category><category>клавиатурная раскладка</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Веб-разработка / PhpBB модификация авторизации через Вконтакте, Yandex, Google, OpenID и тп]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/webdev/97380/</guid>
			<link>http://habrahabr.ru/blogs/webdev/97380/</link>			
			<description><![CDATA[С момента <a href="http://habrahabr.ru/blogs/webdev/89944/">анонса</a> и запуска <a href="http://loginza.ru">проекта Loginza</a> нашей компанией в массы, прошло уже 3 месяца. За это время было проделано много работы: была проведена оптимизация скорости загрузки и работы виджета, небольшие косметические правки, но и так же мы расширили список поддерживаемых в виджете провайдеров авторизации.<br/>
<br/>
В виджет добавились такие монстры как <b>Вконтакте, Facebook, Twitter и Last.fm</b>. Партнерство с mail.ru помогло нам сделать интеграцию с api.mail.ru более гибкой и с большим набором данных профиля, чем прежняя авторизация через openid.mail.ru.<br/>
<br/>
Но самое главное, это пополнение ряда плагинов для таких CMS как <a href="http://vjoomla.ru/blogs/item/277-loginza.html">Joomla</a>, <a href="http://forum.loginza.ru/viewtopic.php?f=8&amp;t=12">vBulletin</a>, <a href="http://docs.drupal.ru/node/45330">Drupal</a>, блог движка <a href="http://habrahabr.ru/blogs/wordpress/93658/">Wordpress</a>, движка <a href="http://forum.loginza.ru/viewtopic.php?f=8&amp;t=26">интернет магазинов PrestaShop</a>, но и для популярного <b>форумного движка phpBB</b>. Собственно о нем и речь.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/webdev/97380/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 24 Jun 2010 19:59:59 GMT</pubDate>
			<author>Arsenichev</author>
			<category>phpbb</category><category>phpbb3</category><category>mod</category><category>openid</category><category>loginza</category><category>вконтакте</category><category>openapi</category><category>mailapi</category><category>авторизация</category><category>плагин</category><category>PrestaShop</category><category>wordpress</category><category>joomla</category><category>vbulletin</category><category>drupal</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / Разработка .NET-приложений для AutoCAD в рамках архитектуры MVC]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/97178/</guid>
			<link>http://habrahabr.ru/blogs/personal/97178/</link>			
			<description><![CDATA[Не секрет, что на сегодняшний день AutoCAD — наиболее популярная САПР, которая используется во многих отраслях человеческой деятельности. В базовой поставке она позволяет выполнять чертежные работы любого назначения с использованием только штатных средств.<br/>
<br/>
Однако чистый AutoCAD – как графическое ядро в базовой комплектации – постепенно теряет свою актуальность. Происходит это потому, что сегодня пользователю важно проектировать взаимосвязанные объекты предметной области (стены, профили железной дороги, колеса…), а не графические примитивы на чертеже (точки, линии, окружности…); причем проектировать быстро, качественно и в соответствие со стандартами, действующими в той или иной стране и отрасли.<br/>
<br/>
Естественно, все, что требуется конечным пользователям во всех странах, фирма Autodesk включить в состав системы AutoCAD, не могла, поэтому в AutoCAD были внедрены средства программирования, позволяющие пользователям самостоятельно адаптировать его к собственным нуждам [1].<br/>
<div class="habracut"> <a class="habracut" href="http://t13s.habrahabr.ru/blog/97178/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Wed, 23 Jun 2010 05:25:13 GMT</pubDate>
			<author>t13s</author>
			<category>autocad</category><category>.net</category><category>плагин</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Peer-to-Peer / BitTorrent и DHT: взаимная совместимость клиентов]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/p2p/96676/</guid>
			<link>http://habrahabr.ru/blogs/p2p/96676/</link>			
			<description><![CDATA[При чтении комментариев ко блогозаписи «<a href="http://habrahabr.ru/blogs/p2p/94489/">Объединение браузеров в непотопляемый трекер</a>» меня более всего поразило <a href="http://habrahabr.ru/blogs/p2p/94489/#comment_2879860">известие</a> о том, что торрентовая распределённая таблица хэшей (так называемая DHT) является не общей для всех торрентовых клиентов распределённой базою знаний о файлах (как, например, Kad для eMule), а отдельной для некоторых типов клиентов, то есть разработчики битторрентовых клиентов умудрились устроить взаимно несовместимые DHT.<br/>
<br/>
Ещё в мае я пошёл обсудить это в Фидонете (в моей эхоконференции Ru.Internet), и получил следующий ответ от Константина Кузова <nobr>(2:5019/40.1):</nobr><br/>
<br/>
— Пора бы уже привыкнуть, что на хабре вещают такое же <nobr>кол-во</nobr> бреда как и <nobr>где-либо</nobr> ещё. DHT у всех торрент-клиентов совместим, на него есть <a href="http://www.bittorrent.org/beps/bep_0005.html">спека.</a><br/>
<br/>
— Единственный клиент, который «несовместим» с ним — это azureus (vuze), в который прикрутили DHT, когда той спеки ещё в проекте не было, поэтому у azureus своя реализация DHT и соответственно своя DHT сеть, но с помощью плагина mainline dht он может использовать одновременно со своей и официальную DHT.<br/>
<br/>
— ЗЫ. Ну и так, для галочки, DHT — говно, это шаг назад, обратно к тем тормозным p2p-сетям, для замены которых и разрабатывали bittorrent. Лишь куча лишнего трафика и практически нулевая польза. Лучше бы все с таким же упоением во все клиенты двигали поддержку чего-нибудь <a href="http://www.bittorrent.org/beps/bep_0017.html">такого</a>.<br/>
<br/>
— Даже жаль, что подобные фичи в основном есть в поделках аля Blizzard Downloader.<br/>
<br/>
(Конец цитаты.)<br/>
<br/>
Но сомнения не оставляют меня: я догадываюсь, что пользователи не любят отказываться от настроек по умолчанию, так что не станут устанавливать в Vuze плагин Mainline DHT. А ведь Vuze занимает значительную долю битторрентового файлообмена.<br/>
<br/>
Я продолжаю сидеть на eMule.]]></description>
			
			<pubDate>Thu, 17 Jun 2010 03:49:48 GMT</pubDate>
			<author>Mithgol</author>
			<category>BitTorrent</category><category>DHT</category><category>Kad</category><category>eMule</category><category>Фидонет</category><category>Фидо</category><category>Ru.Internet</category><category>спецификация</category><category>спецификации</category><category>Vuze</category><category>Azureus</category><category>Blizzard Downloader</category><category>плагин</category><category>файлообмен</category><category>поиск файлов</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

