<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8488092742015248864</id><updated>2025-11-06T12:22:47.900+02:00</updated><category term="ubuntu"/><category term="javascript"/><category term="php"/><category term="jquery"/><category term="mysql"/><category term="elgg"/><category term="video"/><category term="NetBeans"/><category term="Apache"/><category term="IDE"/><category term="php5"/><category term="программирование"/><category term="юмор"/><category term="SexyBookmark"/><category term="XDebug"/><category term="css3"/><category term="ftp"/><category term="mod-rewrite"/><category term="nginx"/><category term="plugins"/><category term="postgres"/><category term="социальные сети"/><category term="Datepicker"/><category term="Firefox"/><category term="Google"/><category term="Google Font API"/><category term="Google Font Directory"/><category term="JDK"/><category term="SQL"/><category term="SilverStripe"/><category term="TrueType fonts"/><category term="UI"/><category term="add-on"/><category term="bash"/><category term="blogger.com"/><category term="blogspot.com"/><category term="bug"/><category term="bugs"/><category term="chrome"/><category term="curl"/><category term="curlftps"/><category term="database"/><category term="filezilla"/><category term="global menu"/><category term="gmailm google"/><category term="htaccess"/><category term="mail"/><category term="mod"/><category term="mount"/><category term="mysqldump"/><category term="pem-key"/><category term="profile"/><category term="safari"/><category term="sendmail"/><category term="sftp"/><category term="smtp"/><category term="ssh"/><category term="trim"/><category term="unity"/><category term="url"/><category term="web 2.0"/><category term="widgets"/><category term="word-wrap"/><category term="валидация"/><category term="веб-сервер"/><category term="графика"/><category term="дизайн"/><category term="инъекции"/><category term="истории"/><category term="метаданные"/><category term="музыка"/><category term="ошибки"/><category term="подсветка кода"/><category term="создание плагинов"/><category term="старые девайсы"/><category term="уязвимости"/><category term="фон"/><title type='text'>Заметки веб-разработчика*</title><subtitle type='html'>* заметки о разработке сайтов на PHP/Javascript/MySQL, использовании библиотеки JQuery, работе с социальными движками и базами данных. В целом обо всем, с чем приходится сталкиваться обычному веб-программисту</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>48</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-1717898118311083448</id><published>2015-07-21T13:51:00.001+03:00</published><updated>2015-07-21T13:53:08.803+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><title type='text'>Копируем таблицу MySQL из консоли</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;CREATE TABLE newtable LIKE oldtable;
INSERT newtable SELECT * FROM oldtable;
&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/1717898118311083448/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2015/07/mysql.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1717898118311083448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1717898118311083448'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2015/07/mysql.html' title='Копируем таблицу MySQL из консоли'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-3177632663909489782</id><published>2013-11-19T07:33:00.001+02:00</published><updated>2013-11-19T07:37:31.342+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><title type='text'>Как в Ubuntu запустить виртуальные хосты Apache под разными пользователями</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;Зачем нужно запускать виртуальные хосты под разными пользователями?&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
По-умолчанию Apache работает “от имени и по поручению” юзера www-data. Это значит что для веб-сервера будут доступны только те ресурсы (файли и каталоги), которые доступны для юзера www-data, соответственно и изменить он сможет только их. Как правило, на одном веб-сервере может располагаться сразу несколько виртуальных хостов (несколько сайтов), по-умолчанию все они будут доступны для юзера www-data и в случае взлома или поражения одного из ресурсов, остальные также могут быть поражены. Поэтому с целью обеспечения дополнительной безопастности существет возможность запуска виртуальных хостов от имени разных юзеров.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;Как запустить виртуальные хосты от имени разных юзеров в Apache2?&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
Организовать работу виртуальных хостов под разными пользователями достаточно просто.&lt;br /&gt;
Для начала установим дополнительный модуль для апача&amp;nbsp;&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;apache2-mpm-itk.&lt;/strong&gt;&amp;nbsp;Так как этот модуль скомпилирован внутри apache2, во время установки появляется сообщение о том, что&lt;strong style=&quot;margin: 0px; padding: 0px;&quot;&gt;текущая версия apache и некоторые установленные модули могут быть удалени&lt;/strong&gt;. Для установки запускаем следующую команду:&lt;/div&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;$ sudo apt-get install apache2-mpm-itk&lt;/pre&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
В последующем перезапуске веб-сервера необходимости нет.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
Теперь создадим новую группу&lt;/div&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;$ sudo addgroup GROUP_NAME&lt;/pre&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
и юзера, под которыми будет работать один из наших виртуальных хостов&lt;/div&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;$ sudo useradd -g GROUP_NAME USER_NAME

$ sudo passwd USER_NAME&lt;/pre&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
Далее открываем файл конфигурации виртуального хоста и добавляем туда диррективы:&lt;/div&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;&amp;lt;IfModule mpm_itk_module&amp;gt;

     AssignUserId USER_NAME GROUP_NAME

&amp;lt;/IfModule&amp;gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
Перед перезагрузкой apache установим соответствующие права на каталоги и файлы для нашего виртуального хоста&lt;/div&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;$ sudo chown USER_NAME:GROUP_NAME /var/www/some-virtualhost/ -R
&lt;/pre&gt;
&lt;div style=&quot;background-color: white; color: #676767; font-family: PTSans, Arial, sans-serif; font-size: 14px; line-height: 21px; margin-bottom: 1em; margin-top: 1em; padding: 0px;&quot;&gt;
Осталось только перезагрузить веб-сервер:&lt;/div&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;$ sudo service apache2 restart&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;
&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; color: #676767; line-height: 21px; overflow: auto; padding: 0px; width: 610px;&quot;&gt;&lt;a href=&quot;http://blog.kamolov.org.ua/2013/08/28/apache-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D0%BC-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D1%85%D0%BE%D1%81%D1%82%D1%8B-%D0%BF%D0%BE%D0%B4-%D1%80%D0%B0%D0%B7/&quot;&gt;Источник&lt;/a&gt;&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/3177632663909489782/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2013/11/ubuntu-apache.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3177632663909489782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3177632663909489782'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2013/11/ubuntu-apache.html' title='Как в Ubuntu запустить виртуальные хосты Apache под разными пользователями'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-5429230764071901632</id><published>2012-12-10T12:14:00.000+02:00</published><updated>2012-12-10T12:17:33.548+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="global menu"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="unity"/><title type='text'>Отключаем глобальное меню в Ubuntu 12.04 </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Наверно не я один задаюсь вопросом, зачем разработчики Unity Desktop создали глобальное меню. Возможно в этом было чтото глубокое и хорошее, но в результате очень не удобно постоянно переключаться между окнами и искать нужный тебе пункт меню, при этом не всегда очевидно к какому из окон это меню относится.&lt;br /&gt;
&lt;br /&gt;
И скорее всего, не у меня одного, появилась мысль его отключить :) &amp;nbsp;Сделать это, к счастью, очень просто. Достаточно зайти в терминал и выполнить не хитрую комманду:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
В результате было:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.liberiangeek.net/wp-content/uploads/2012/04/global_menu_precise_1_thumb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;http://www.liberiangeek.net/wp-content/uploads/2012/04/global_menu_precise_1_thumb.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
стало:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.liberiangeek.net/wp-content/uploads/2012/04/global_menu_precise_2_thumb.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;101&quot; src=&quot;http://www.liberiangeek.net/wp-content/uploads/2012/04/global_menu_precise_2_thumb.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/5429230764071901632/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/12/ubuntu-1204.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/5429230764071901632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/5429230764071901632'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/12/ubuntu-1204.html' title='Отключаем глобальное меню в Ubuntu 12.04 '/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-3129811093349371146</id><published>2012-11-01T13:47:00.000+02:00</published><updated>2012-11-01T13:47:27.478+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="mod"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Улучшаем производительность веб-ресурса. Установка mod_pagespeed в Ubuntu</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Для начала загружаем пакет с сайта Google&lt;br /&gt;
&lt;br /&gt;
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb&lt;br /&gt;
&lt;br /&gt;
или для 32-битной системы&lt;br /&gt;
&lt;br /&gt;
wget&amp;nbsp;https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Терь устанавливаем пакет (обезательно с правами root):&lt;br /&gt;
&lt;br /&gt;
dpkg -i mod-pagespeed-*.deb&lt;br /&gt;
apt-get -f install
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Настройка модуля осуществляется в файле /etc/apache2/mod-available/peagespeed.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/3129811093349371146/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/11/modpagespeed-ubuntu.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3129811093349371146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3129811093349371146'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/11/modpagespeed-ubuntu.html' title='Улучшаем производительность веб-ресурса. Установка mod_pagespeed в Ubuntu'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-1246716310441207001</id><published>2012-10-05T14:38:00.002+03:00</published><updated>2012-10-05T14:38:19.125+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="htaccess"/><category scheme="http://www.blogger.com/atom/ns#" term="mod-rewrite"/><title type='text'>Как сделать редирект черз .htaccess если браузер IE6</title><content type='html'>Иногда приходится разрабатывать проекты, работающий с ограниченным количеством браузеров, либо же без потдержки старых версий (IE6 к примеру).

В таких случаях логично организовать редирект на страницу с соответствующим текстом. Сделать это можно как при помощи Javasript-а, так и на стороне PHP. Но как по мне, более элегантным решением будет редирект на стороне веб-сервера Apache, а точнее при помощи фала .htaccess.

Создаем файл .htaccess в корне сайта либо же открываем существующий, и добписываем следующие директивы:

&lt;pre class=&quot;brush:bash&quot;&gt;
RewriteCond %{REQUEST_FILENAME} !^.png [nc]
RewriteCond %{REQUEST_FILENAME} !^.css [nc]
RewriteCond %{REQUEST_FILENAME} !^.jpg [nc]
RewriteCond %{REQUEST_FILENAME} !^.js [nc]
RewriteCond %{REQUEST_FILENAME} !^.gif [nc]
RewriteCond %{HTTP_USER_AGENT} &quot;Firefox/2&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Firefox/1&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Flock/1&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Camino/1&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/9&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/8&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/7&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/6&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/5&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/4&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/3&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/2&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Opera/1&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Safari/4&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Safari/3&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Safari/2&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Safari/1&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;Navigator/&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;MSIE 6&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;MSIE 5&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;MSIE 4&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;MSIE 3&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;MSIE 2&quot; [or]
RewriteCond %{HTTP_USER_AGENT} &quot;MSIE 1&quot;
RewriteRule . upgrade.html [L]
&lt;/pre&gt;


Конечно же работать все это будет только при условии подключеного модуля mod_rewrite. </content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/1246716310441207001/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/10/htaccess-ie6.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1246716310441207001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1246716310441207001'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/10/htaccess-ie6.html' title='Как сделать редирект черз .htaccess если браузер IE6'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-8006571633175206894</id><published>2012-08-20T13:42:00.002+03:00</published><updated>2012-09-07T00:34:08.497+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IDE"/><category scheme="http://www.blogger.com/atom/ns#" term="JDK"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Как правильно установить NetBeans на Ubuntu 12.04</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Я конечно не претендую, что описанный ниже метод асболютно правильный,
 но он простой и обеспечивает мне стабильную работу приложения уже 
достаточно долгое время...&lt;br /&gt;
&lt;br /&gt;
Если устанавливать NetBeans 
сразу после установки системы, а я именно так всегда и делаю, то для 
начала понадобится установить JDK. Я много встречал негативных 
комментариев и &quot;камней&quot; в сторону дефолтного JDK, что решил 
воспользоваться альтернативным, а точнее Oracle JDK. &lt;br /&gt;
&lt;br /&gt;
Порядок установки Oracle JDK следующий:&lt;br /&gt;
&lt;br /&gt;
1. Удаляем OpenJDK:&lt;br /&gt;
&lt;br /&gt;
sudo apt-get purge openjdk*
&lt;br /&gt;
&lt;br /&gt;
2. Открываем терминал и запускаем следующую последовательность комманд:&lt;br /&gt;
&lt;br /&gt;
sudo add-apt-repository ppa:webupd8team/java&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install oracle-java7-installer
&lt;br /&gt;
&lt;pre class=&quot;qoate-code&quot;&gt;&amp;nbsp;&lt;/pre&gt;
3. После успешной установки проверяем версию JDK&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;qoate-code&quot;&gt;java -version&lt;/pre&gt;
&lt;pre class=&quot;qoate-code&quot;&gt;&amp;nbsp; &lt;/pre&gt;
&lt;br /&gt;
Теперь идем на сайт NetBeans и качаем последнюю версию IDE:&lt;br /&gt;
&lt;a href=&quot;http://netbeans.org/downloads/index.html&quot;&gt;http://netbeans.org/downloads/index.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Находим сохраненный файл (я обычно сохраняю его на Рабочий стол), открываем свойсва файла, находим вкладку Permissions и ставим галочку в поле Allow executing file as programm. Закрываем окно, запускаем файл и устанавливаем NetBeans.&lt;br /&gt;
&lt;br /&gt;
Если после первого запуска IDE вы заметили что главное меню сливается с заголовком окна, то необходимо еще выполнить следующее:&amp;nbsp;ищем файлик  /usr/share/themes/Ambiance/gtk-2.0/gtkrc, открываем его для редактирования от имени админа&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;sudo gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc&lt;br /&gt;
&lt;br /&gt;
... находим строку 338 с текстом&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;style &quot;menu&quot; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;и меняем ее на&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;style &quot;menu&quot; = &quot;dark&quot; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Сохраняем и перезапускаем NetBeans (если он был запущен)...&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/8006571633175206894/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/netbeans-ubuntu-1204.html#comment-form' title='Комментарии: 7'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/8006571633175206894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/8006571633175206894'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/netbeans-ubuntu-1204.html' title='Как правильно установить NetBeans на Ubuntu 12.04'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-226877039558379744</id><published>2012-08-09T11:02:00.000+03:00</published><updated>2012-08-09T11:04:11.635+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><title type='text'>Велосипеды на Javascript и jQuery</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;&quot;&gt;Интересная статья с habra. Полезно знать каждому.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;&quot;&gt;&quot;В очередной раз открыв код коллег и ужаснувшись, я решил написать эту статью. Надеюсь для кого-нибудь это будет полезным, заодно и мне будет проще новичкам объяснять что у них в коде не так, просто кинув ссылку на эту статью.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;&quot;&gt;Безусловно количество таких вещей очень и очень велико, поэтому в статье ограничусь лишь некоторыми.&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Verdana, sans-serif; font-size: 13px; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;a href=&quot;http://habrahabr.ru/post/149237/&quot;&gt;http://habrahabr.ru/post/149237/&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/226877039558379744/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/javascript-jquery.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/226877039558379744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/226877039558379744'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/javascript-jquery.html' title='Велосипеды на Javascript и jQuery'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-7582466795078152866</id><published>2012-08-06T13:42:00.001+03:00</published><updated>2012-08-06T13:44:23.916+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="elgg"/><category scheme="http://www.blogger.com/atom/ns#" term="mod-rewrite"/><category scheme="http://www.blogger.com/atom/ns#" term="nginx"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Elgg: mod-rewrite для NGINX</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Сегодня развернул Elgg на веб-сервере NGINX, и первая проблема с которой столкнулся - это небходимость замены mod-rewrite директив, которые содержатся в файле .htaccess, на соответсвующие правила для NGINX (rewrite-rules).&lt;br /&gt;
&lt;br /&gt;
И первый вопрос, который у меня возник: куда нужно писать эти правила?&lt;br /&gt;
Rewrite-rules для Nginx указываются внутри секции server в файле настройки виртуального хоста, например /etc/nginx/sites-available/default.&lt;br /&gt;
&lt;br /&gt;
Следующий вопрос был: что же туда писать?&lt;br /&gt;
Если подумать логически, то задача не совсем сложная, необходимо всего лишь конвертировать директивы из htaccess в соответвующие правила для nginx. Спасибо &lt;a href=&quot;http://thomas.deuling.org/&quot;&gt;Томасу Делингу&lt;/a&gt;, который уже провел иследования в этом вопросе и успешно конвертировал директивы файла htaccess для Elgg 1.8.2. Все что мне осталось, это скопировать набор правил и обновить файл настройки виртуального хостинга, в результате он выглядел приблизительно так:&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;server {
 listen     80;
 server_name elgg.domain.com;
 root        /var/www-nginx/elgg/htdocs/;

 error_log /var/log/nginx/error.log;
 access_log /var/log/nginx/access.log;

 index         index.php index.html;
 fastcgi_index index.php;
 
 client_max_body_size      8M;
 client_body_buffer_size 256K;

 rewrite ^/pg\/([A-Za-z0-9\_\-]+)$ /engine/handlers/page_handler.php?handler=$1&amp;amp;$args;
 rewrite ^/pg\/([A-Za-z0-9\_\-]+)\/(.*)$ /engine/handlers/page_handler.php?handler=$1&amp;amp;page=$2&amp;amp;$args;
 rewrite ^/tag\/(.+)\/?$ /engine/handlers/page_handler.php?handler=search&amp;amp;page=$1;
 rewrite ^/action\/([A-Za-z0-9\_\-\/]+)$ /engine/handlers/action_handler.php?action=$1&amp;amp;$args;
 rewrite ^/cache\/(.*)$ /engine/handlers/cache_handler.php?request=$1&amp;amp;$args;
 rewrite ^/services\/api\/([A-Za-z0-9\_\-]+)\/(.*)$ /engine/handlers/service_handler.php?handler=$1&amp;amp;request=$2&amp;amp;$args;
 rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/?$ /engine/handlers/export_handler.php?view=$1&amp;amp;guid=$2;
 rewrite ^/export\/([A-Za-z]+)\/([0-9]+)\/([A-Za-z]+)\/([A-Za-z0-9\_]+)\/$ /engine/handlers/export_handler.php?view=$1&amp;amp;guid=$2&amp;amp;type=$3&amp;amp;idname=$4;
 rewrite /xml-rpc.php /engine/handlers/xml-rpc_handler.php;
 rewrite /mt/mt-xmlrpc.cgi /engine/handlers/xml-rpc_handler.php;
 rewrite ^/rewrite.php$ /install.php;
 if (!-d $request_filename){
  set $rule_11 1$rule_11;
 }
 if (!-f $request_filename){
  set $rule_11 2$rule_11;
 }
 if ($rule_11 = &quot;21&quot;){
  rewrite ^/([A-Za-z0-9\_\-]+)$ /engine/handlers/page_handler.php?handler=$1;
 }
 if (!-d $request_filename){
  set $rule_12 1$rule_12;
 }
 if (!-f $request_filename){
  set $rule_12 2$rule_12;
 }
 if ($rule_12 = &quot;21&quot;){
  rewrite ^/([A-Za-z0-9\_\-]+)\/(.*)$ /engine/handlers/page_handler.php?handler=$1&amp;amp;page=$2;
 }
 
 location ~ \.php$ {
  include fastcgi_params;

  # Assuming php-fastcgi running on localhost port 9000
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

  fastcgi_connect_timeout 60;
  fastcgi_send_timeout 180;
  fastcgi_read_timeout 180;
  fastcgi_buffer_size 128k;
  fastcgi_buffers 4 256k;
  fastcgi_busy_buffers_size 256k;
  fastcgi_temp_file_write_size 256k;
  fastcgi_intercept_errors on;
 }
 
 # Do not put CSS there or it will break simplecache
 location ~* \.(bmp|js|gif|ico|jpg|jpeg|png)$ {
  expires max;
  # log_not_found off;
 }
}&lt;/pre&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/7582466795078152866/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/elgg-mod-rewrite-nginx.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/7582466795078152866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/7582466795078152866'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/elgg-mod-rewrite-nginx.html' title='Elgg: mod-rewrite для NGINX'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-6574330384757612355</id><published>2012-08-06T12:59:00.000+03:00</published><updated>2012-08-06T13:10:20.058+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="nginx"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="php5"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="XDebug"/><category scheme="http://www.blogger.com/atom/ns#" term="веб-сервер"/><title type='text'>Как установить и настроить NGINX+PHP+XDebug на Ubuntu 12.04</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;1. Установка NGINX-сервера:&lt;/span&gt;&lt;/div&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo add-apt-repository ppa:nginx/stable 
sudo apt-get update 
sudo apt-get install nginx 
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;2. Установка PHP:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
Если на вашем сервере php еще не установлен, то необходимо выполнить следующее:&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql
&lt;/pre&gt;
&lt;br /&gt;
В противном же случае достаточно установить пакет php5-fpm:&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo apt-get install php5-fpm&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;3. Настройка виртуального хоста в NGINX&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Открываем и редактируем файл&amp;nbsp; /etc/nginx/sites-available/default:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo gedit  /etc/nginx/sites-available/default
&lt;/pre&gt;
&lt;br /&gt;
Для начала поменяем параметры root и index в секции server:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;server{
...
    root: /var/www;&lt;/pre&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;    index: index.php
...
}
&lt;/pre&gt;
&lt;br /&gt;
Если вы уже пользуетесь веб-сервером apache, то для правильной работы nginx нужно будет поменять номер порта с 80 на 8000:

&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;server{ 
 listen: 8000;
...
}
&lt;/pre&gt;
&lt;br /&gt;
Убираем комментарии со следующих строк:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt; location ~ \.php$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 include fastcgi_params;
  }&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;4. Запускаем NGINX&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo service nginx start
&lt;/pre&gt;
&lt;br /&gt;
Также запускаем сервис, отвечающий за работу php:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo service php5-fpm start
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;5. Установка и настройка XDebug&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Устанавливаем точно так же как описано в первой части статьи &quot;&lt;a href=&quot;http://webdevnotice.blogspot.com/2011/11/netbeans-xdebug.html&quot;&gt;Как настроить NetBeans для работы с XDebug&lt;/a&gt;&quot;&lt;br /&gt;
&lt;br /&gt;
Далее небходимо отредактировать файл /etc/php5/fpm/php.ini.&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo gedit&amp;nbsp;/etc/php5/fpm/php.ini&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Перед тегом Date добавляем следующий код:&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;zend_extension=&quot;/usr/lib/php5/20090626/xdebug.so&quot;

xdebug.default_enable = On
xdebug.var_display_max_depth=6
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9900
xdebug.remote_handler=dbgp
xdebug.idekey=netbeans-xdebug
xdebug.remote_autostart=1
xdebug.remote_log=/tmp/xdebug.log
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir=/tmp/profiler
xdebug.show_local_vars=1
xdebug.overload_var_dump=1

&lt;/pre&gt;
... перезагружаем сервер&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo service nginx restart&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
так как при перезагрузке сервера параметры php.ini автоматически не обновляются, необходимо также перезагрузить сервис php5-fpm:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;sudo service php5-fpm restart&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;6. Настройка NetBeans&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Открываем NetBeans Tools&amp;gt;Options&amp;gt;PHP&amp;gt;Debugging и в строке Debugger Port вводим значение 9900, нажимаем Ok.&lt;br /&gt;
&lt;br /&gt;
На этом настройка завершена.&lt;br /&gt;
&lt;br /&gt;
Осталось только поместить в /var/www тестовый файл index.php с кодом:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:php&quot;&gt;   

echo phpinfo();

&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/6574330384757612355/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/nginxphpxdebug-ubuntu-1204.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6574330384757612355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6574330384757612355'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/08/nginxphpxdebug-ubuntu-1204.html' title='Как установить и настроить NGINX+PHP+XDebug на Ubuntu 12.04'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-3227476857100045251</id><published>2012-06-26T13:07:00.000+03:00</published><updated>2012-07-03T14:03:38.399+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IDE"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>NetBeans: Что делать если цвет меню сливается с заголовком окна в Ubuntu 12.04</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В Ubuntu 12.04 столкнулся с проблемой, когда меню моей любимой идешки сливается с цветом заголвка окна. Изза этого очень не удобно стало работать. Нашел простое решение данной проблемы, достаточно отредактировать файл netbeans.conf, который находится в директории установки netbeans (например: /home/user/netbeans7.2/etc)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;В конец файл добавляем следующую диррективу:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --laf Metal&amp;nbsp;

&lt;br /&gt;
&lt;br /&gt;
Более детальную информацию о решении проблмемы см:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://hanynowsky.wordpress.com/2012/04/27/netbeans-ide-look-feel-under-ubuntu-12-04/&quot;&gt;http://hanynowsky.wordpress.com/2012/04/27/netbeans-ide-look-feel-under-ubuntu-12-04/ &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Не помогло?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Тогда ищем файлик&amp;nbsp;  /usr/share/themes/Ambiance/gtk-2.0/gtkrc, открываем его для редактирования от имени админа&lt;br /&gt;
&lt;br /&gt;
sudo gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc 
&lt;br /&gt;
&lt;br /&gt;
Находим строку 338 с текстом&amp;nbsp; 
&lt;br /&gt;
&lt;br /&gt;
style &quot;menu&quot; {
&lt;br /&gt;
&lt;br /&gt;
и меняем ее на 
&lt;br /&gt;
&lt;br /&gt;
style &quot;menu&quot; = &quot;dark&quot; { 

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сохраняем и перезапускаем NetBeans (если он был запущен)...
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/3227476857100045251/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/06/netbeans-ubuntu-1204.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3227476857100045251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3227476857100045251'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/06/netbeans-ubuntu-1204.html' title='NetBeans: Что делать если цвет меню сливается с заголовком окна в Ubuntu 12.04'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-7557559923654007919</id><published>2012-04-04T11:49:00.001+03:00</published><updated>2012-07-09T15:49:58.635+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Что делать если в Ubuntu пропали все заголовки окон?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
По непонятной мне причине иногда у моего Ubuntu частенько пропадают заголовки окон, для того чтобы их вернуть без перезагрузки ОС можно воспользоваться коммандной строкой:


&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;metacity --replace&lt;/pre&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/7557559923654007919/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/04/ubuntu.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/7557559923654007919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/7557559923654007919'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/04/ubuntu.html' title='Что делать если в Ubuntu пропали все заголовки окон?'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-6259702456779481883</id><published>2012-02-21T12:26:00.000+02:00</published><updated>2012-02-21T12:26:14.234+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="video"/><category scheme="http://www.blogger.com/atom/ns#" term="widgets"/><title type='text'>Виджеты для Ubuntu: где искать и как устанавливать</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;Виджеты -- маленькие помощники пользователя, украшающие рабочий стол -- появились относительно недавно и с тех пор бурно развиваются. Сегодня мы расскажем про виджеты для графических оболочек Gnome и KDE. Для примера возьмем популярную Ubuntu.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #ebebeb; color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/vHEUxVdrIys&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/6259702456779481883/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2012/02/ubuntu.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6259702456779481883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6259702456779481883'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2012/02/ubuntu.html' title='Виджеты для Ubuntu: где искать и как устанавливать'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/vHEUxVdrIys/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-6297792239876768394</id><published>2011-12-29T16:52:00.001+02:00</published><updated>2011-12-29T16:52:05.841+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="video"/><category scheme="http://www.blogger.com/atom/ns#" term="юмор"/><title type='text'>Будни буржуйского сисадмина</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/1qnpGkfuuhc&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/6297792239876768394/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/12/blog-post_29.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6297792239876768394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6297792239876768394'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/12/blog-post_29.html' title='Будни буржуйского сисадмина'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/1qnpGkfuuhc/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-526187088624888922</id><published>2011-12-23T09:40:00.000+02:00</published><updated>2011-12-23T09:40:08.378+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gmailm google"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Добавляем Gmail в апплет уведомлений Ubuntu</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;entry&quot;&gt;
&lt;span id=&quot;more-588&quot;&gt;&lt;/span&gt;Добавить Gmail в апплет уведомлений&amp;nbsp;на самом деле оказалось очень просто – нужно лишь найти те приложения, которые своевременно перешли на новшества Ubuntu. Например, CheckGMail еще не умеет работать с апплетом уведомлений. Спасибо &lt;a href=&quot;http://www.omgubuntu.co.uk/2010/05/gmail-notifier-puts-gmail-in-your.html&quot; target=&quot;_blank&quot;&gt;блогу OMGUbuntu&lt;/a&gt;, нашедшему два приложения, годящихся для этих целей: &lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=8488092742015248864#1&quot;&gt;gm-notify&lt;/a&gt; и &lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=8488092742015248864#2&quot;&gt;gmail-notifier&lt;/a&gt;.&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=8488092742015248864&quot; name=&quot;1&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;


gm-notify&lt;/h2&gt;
Первый товарищ под названием &lt;strong&gt;gm-notify&lt;/strong&gt;, который позволит нам &lt;em&gt;проверять почту Gmail прямо из апплета уведомлений&lt;/em&gt;, живет на Launchpad в одном из ppa-репозиториев. Установим его:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;
&lt;div class=&quot;code&quot;&gt;
&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; add-apt-repository ppa:gm-notify-maintainers&lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;/&lt;/span&gt;ppa
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; update &lt;span style=&quot;color: black; font-weight: bold;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-get&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; gm-notify&lt;/pre&gt;
&lt;pre class=&quot;bash&quot; style=&quot;font-family: monospace;&quot;&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;img alt=&quot;Настройка gm-notify - проверяем почту Gmail с помощью апплета уведомлений&quot; class=&quot;aligncenter size-full wp-image-597&quot; height=&quot;257&quot; src=&quot;http://quizz.bhome.ru/wp-content/uploads/gm-notify-settings.jpg&quot; title=&quot;Настройка gm-notify - проверяем почту Gmail с помощью апплета уведомлений&quot; width=&quot;260&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Экран настроек достаточно простой – особо не забалуешь. Логин, пароль, способ, которым мы собираемся непосредственно просматривать почту: либо web-интерфейс, либо почтовый клиент по умолчанию, а также более широкие настройки, касающиеся автозапуска и добавления звуковых уведомлений о новых письмах.&lt;br /&gt;
Вот так выглядит все это хозяйство в работе: например, в ящике Gmail есть новые сообщения:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Апплет gm-notify для проверки почты Gmail&quot; class=&quot;aligncenter size-medium wp-image-595&quot; height=&quot;173&quot; src=&quot;http://quizz.bhome.ru/wp-content/uploads/gm-notify-applet-300x173.jpg&quot; title=&quot;Апплет gm-notify для проверки почты Gmail&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Получено новое сообщение в ящик Gmail, чем область уведомлений честно предупреждает, показывая от кого оно пришло и какая тема у сообщения:&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;Оповещение о новом сообщении Gmail через область уведомлений&quot; class=&quot;aligncenter size-medium wp-image-596&quot; height=&quot;152&quot; src=&quot;http://quizz.bhome.ru/wp-content/uploads/gm-notify-osd-300x152.jpg&quot; title=&quot;Оповещение о новом сообщении Gmail через область уведомлений&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=8488092742015248864&quot; name=&quot;2&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;


gmail-notifier&lt;/h2&gt;
Второе приложение под названием &lt;strong&gt;gmail-notifier&lt;/strong&gt; практически не отличается от первого, есть лишь незначительный нюанс – если в ящике есть непрочитанные сообщения, gmail-notifier показывает автора и тему письма при обращении к самому аплету, однако сообщение в области уведомлений не содержит автора и тему, а лишь текст «You have new mail». То есть действительно получается, что тут выбор «на вкус и цвет».&lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;gmail-notify - оповещение о новых сообщения в апплете уведомлений&quot; class=&quot;aligncenter size-medium wp-image-593&quot; height=&quot;136&quot; src=&quot;http://quizz.bhome.ru/wp-content/uploads/gmail-notify-applet-300x136.jpg&quot; title=&quot;gmail-notify - оповещение о новых сообщения в апплете уведомлений&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Скачать его можно &lt;a href=&quot;http://quizz.bhome.ru/goto/http://repo.ahadiel.org/apt/lucid/gmail-notifier_1.7_all.deb&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Источник материала: &lt;a href=&quot;http://quizz.bhome.ru/&quot;&gt;IT-Блог про Ubuntu Linux, Windows и немного про SEO&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;clear: both; display: none;&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;0&quot; src=&quot;http://quizz.bhome.ru/wp-content/plugins/wp-spamfree/img/wpsf-img.php&quot; style=&quot;border-style: none; display: none; height: 0px; width: 0px;&quot; width=&quot;0&quot; /&gt;&lt;/span&gt;        
   &lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/526187088624888922/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/12/gmail-ubuntu.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/526187088624888922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/526187088624888922'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/12/gmail-ubuntu.html' title='Добавляем Gmail в апплет уведомлений Ubuntu'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-6641064976218114470</id><published>2011-12-12T10:57:00.001+02:00</published><updated>2011-12-12T10:57:58.354+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="video"/><category scheme="http://www.blogger.com/atom/ns#" term="музыка"/><category scheme="http://www.blogger.com/atom/ns#" term="старые девайсы"/><title type='text'>Солнце всходит и над старыми &quot;девайсами&quot;</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Не спешите списывать старые девайсы, они еще могу сыграть, при чем в прямом смысле, что-нибудь для вас....&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/3sSMKxcKt_I&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/6641064976218114470/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/12/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6641064976218114470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6641064976218114470'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/12/blog-post.html' title='Солнце всходит и над старыми &quot;девайсами&quot;'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/3sSMKxcKt_I/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-1857643283627202389</id><published>2011-11-22T18:48:00.001+02:00</published><updated>2011-11-22T20:46:00.798+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="истории"/><category scheme="http://www.blogger.com/atom/ns#" term="юмор"/><title type='text'>Вы же профессионал!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;Оригинал взят у&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;ljuser ljuser-name_&quot; lj-cmd=&quot;LJUserLink&quot; lj:user=&quot;alex_aka_jj&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; font-weight: bold; line-height: 18px; text-align: -webkit-auto; white-space: nowrap;&quot;&gt;&lt;a href=&quot;http://alex-aka-jj.livejournal.com/profile&quot;&gt;&lt;img alt=&quot;[info]&quot; height=&quot;16&quot; src=&quot;http://l-files.livejournal.net/userhead/118?v=1320913318&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; cursor: default; padding-right: 1px; vertical-align: bottom;&quot; width=&quot;16&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://alex-aka-jj.livejournal.com/&quot;&gt;&lt;b&gt;alex_aka_jj&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; line-height: 18px; text-align: -webkit-auto;&quot;&gt;&amp;nbsp;в&amp;nbsp;&lt;/span&gt;&lt;a data-cke-saved-href=&quot;http://alex-aka-jj.livejournal.com/66984.html&quot; href=&quot;http://alex-aka-jj.livejournal.com/66984.html&quot; lj-cmd=&quot;LJLink&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; line-height: 18px; text-align: -webkit-auto;&quot;&gt;Совещание&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;repost&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; line-height: 18px; text-align: -webkit-auto;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3-M2CuKR3qsrVaB9LgxwmO5xdTOkQ5NI5q48DaFonITGZSfpLo5yxzdBd__PUIethsAHhpv_aF8Tb_4EvbJnrX17eSkea8eJub-ntLhGYPFhnpv7aOfqqM2U8hqiKyuYjF2P0jLYK46S6/s1600/m_w1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3-M2CuKR3qsrVaB9LgxwmO5xdTOkQ5NI5q48DaFonITGZSfpLo5yxzdBd__PUIethsAHhpv_aF8Tb_4EvbJnrX17eSkea8eJub-ntLhGYPFhnpv7aOfqqM2U8hqiKyuYjF2P0jLYK46S6/s400/m_w1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров пришел во вторник на совещание. Ему там вынули мозг, разложили по блюдечкам и стали есть, причмокивая и вообще выражая всяческое одобрение. Начальник Петрова, Недозайцев, предусмотрительно раздал присутствующим десертные ложечки. И началось.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Коллеги, — говорит Морковьева, — перед нашей организацией встала масштабная задача. Нам поступил на реализацию проект, в рамках которого нам требуется изобразить несколько красных линий. Вы готовы взвалить на себя эту задачу?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Конечно, — говорит Недозайцев. Он директор, и всегда готов взвалить на себя проблему, которую придется нести кому-то из коллектива. Впрочем, он тут же уточняет: — Мы же это можем?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Начальник отдела рисования Сидоряхин торопливо кивает:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, разумеется. Вот у нас как раз сидит Петров, он наш лучший специалист в области рисования красных линий. Мы его специально пригласили на совещание, чтобы он высказал свое компетентное мнение.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Очень приятно, — говорит Морковьева. — Ну, меня вы все знаете. А это — Леночка, она специалист по дизайну в нашей организации.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Леночка покрывается краской и смущенно улыбается. Она недавно закончила экономический, и к дизайну имеет такое же отношение, как утконос к проектированию дирижаблей.
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Так вот, — говорит Морковьева. — Нам нужно нарисовать семь красных линий. Все они должны быть строго перпендикулярны, и кроме того, некоторые нужно нарисовать зеленым цветом, а еще некоторые — прозрачным. Как вы считаете, это реально?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Нет, — говорит Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Давайте не будем торопиться с ответом, Петров, — говорит Сидоряхин. — Задача поставлена, и ее нужно решить. Вы же профессионал, Петров. Не давайте нам повода считать, что вы не профессионал.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Видите ли, — объясняет Петров, — термин «красная линия» подразумевает, что цвет линии — красный. Нарисовать красную линию зеленым цветом не то, чтобы невозможно, но очень близко к невозможному…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Петров, ну что значит «невозможно»? — спрашивает Сидоряхин.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Я просто обрисовываю ситуацию. Возможно, есть люди, страдающие дальтонизмом, для которых действительно не будет иметь значения цвет линии, но я не уверен, что целевая аудитория вашего проекта состоит исключительно из таких людей.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— То есть, в принципе, это возможно, мы правильно вас понимаем, Петров? — спрашивает Морковьева.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров осознает, что переборщил с образностью.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Скажем проще, — говорит он. — Линию, как таковую, можно нарисовать совершенно любым цветом. Но чтобы получилась красная линия, следует использовать только красный цвет.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Петров, вы нас не путайте, пожалуйста. Только что вы говорили, что это возможно.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров молча проклинает свою болтливость.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Нет, вы неправильно меня поняли. Я хотел лишь сказать, что в некоторых, крайне редких ситуациях, цвет линии не будет иметь значения, но даже и тогда — линия все равно не будет красной. Понимаете, она красной не будет! Она будет зеленой. А вам нужна красная.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Наступает непродолжительное молчание, в котором отчетливо слышится тихое напряженное гудение синапсов.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А что если, — осененный идеей, произносит Недозайцев, — нарисовать их синим цветом?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Все равно не получится, — качает головой Петров. — Если нарисовать синим — получатся синие линии.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Опять молчание. На этот раз его прерывает сам Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— И я еще не понял… Что вы имели в виду, когда говорили о линиях прозрачного цвета?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Морковьева смотрит на него снисходительно, как добрая учительница на отстающего ученика.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну, как вам объяснить?.. Петров, вы разве не знаете, что такое «прозрачный»?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Знаю.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— И что такое «красная линия», надеюсь, вам тоже не надо объяснять?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Нет, не надо.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну вот. Вы нарисуйте нам красные линии прозрачным цветом.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров на секунду замирает, обдумывая ситуацию.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— И как должен выглядеть результат, будьте добры, опишите пожалуйста? Как вы себе это представляете?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну-у-у, Петро-о-ов! — говорит Сидоряхин. — Ну давайте не будем… У нас что, детский сад? Кто здесь специалист по красным линиям, Морковьева или вы?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Я просто пытаюсь прояснить для себя детали задания…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну, а что тут непонятного-то?.. — встревает в разговор Недозайцев. — Вы же знаете, что такое красная линия?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, но…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— И что такое «прозрачный», вам тоже ясно?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Разумеется, но…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Так что вам объяснять-то? Петров, ну давайте не будем опускаться до непродуктивных споров. Задача поставлена, задача ясная и четкая. Если у вас есть конкретные вопросы, так задавайте.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Вы же профессионал, — добавляет Сидоряхин.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ладно, — сдается Петров. — Бог с ним, с цветом. Но у вас там еще что-то с перпендикулярностью?..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, — с готовностью подтверждает Морковьева. — Семь линий, все строго перпендикулярны.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Перпендикулярны чему? — уточняет Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Морковьева начинает просматривать свои бумаги.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Э-э-э, — говорит она наконец. — Ну, как бы… Всему. Между собой. Ну, или как там… Я не знаю. Я думала, это вы знаете, какие бывают перпендикулярные линии, — наконец находится она.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да конечно знает, — взмахивает руками Сидоряхин. — Профессионалы мы тут, или не профессионалы?..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Перпендикулярны могут быть две линии, — терпеливо объясняет Петров. — Все семь одновременно не могут быть перпендикулярными по отношению друг к другу. Это геометрия, 6 класс.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Морковьева встряхивает головой, отгоняя замаячивший призрак давно забытого школьного образования. Недозайцев хлопает ладонью по столу:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Петров, давайте без вот этого: «6 класс, 6 класс». Давайте будем взаимно вежливы. Не будем делать намеков и скатываться до оскорблений. Давайте поддерживать конструктивный диалог. Здесь же не идиоты собрались.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Я тоже так считаю, — говорит Сидоряхин.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров придвигает к себе листок бумаги.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Хорошо, — говорит он. — Давайте, я вам нарисую. Вот линия. Так?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Морковьева утвердительно кивает головой.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Рисуем другую… — говорит Петров. — Она перпендикулярна первой?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну-у…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, она перпендикулярна.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну вот видите! — радостно восклицает Морковьева.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Подождите, это еще не все. Теперь рисуем третью… Она перпендикулярна первой линии?..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Вдумчивое молчание. Не дождавшись ответа, Петров отвечает сам:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, первой линии она перпендикулярна. Но со второй линией она не пересекается. Со второй линией&amp;nbsp;&lt;/span&gt;они параллельны.&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Наступает тишина. Потом Морковьева встает со своего места и, обогнув стол, заходит Петрову с тыла, заглядывая ему через плечо.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну… — неуверенно произносит она. — Наверное, да.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Вот в этом и дело, — говорит Петров, стремясь закрепить достигнутый успех. — Пока линий две, они&amp;nbsp;&lt;/span&gt;могут быть перпендикулярны. Как только их становится больше…&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А можно мне ручку? — просит Морковьева.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров отдает ручку. Морковьева осторожно проводит несколько неуверенных линий.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А если так?..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров вздыхает.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Это называется треугольник. Нет, это не перпендикулярные линии. К тому же их три, а не семь.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Морковьева поджимает губы.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А почему они синие? — вдруг спрашивает Недозайцев.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, кстати, — поддерживает Сидоряхин. — Сам хотел спросить.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров несколько раз моргает, разглядывая рисунок.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— У меня ручка синяя, — наконец говорит он. — Я же просто чтобы продемонстрировать…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну, так может, в этом и дело? — нетерпеливо перебивает его Недозайцев тоном человека, который только что разобрался в сложной концепции и спешит поделиться ею с окружающими, пока мысль не потеряна. — У вас линии синие. Вы нарисуйте красные, и давайте посмотрим, что получится.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Получится то же самое, — уверенно говорит Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну, как то же самое? — говорит Недозайцев. — Как вы можете быть уверены, если вы даже не попробовали? Вы нарисуйте красные, и посмотрим.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— У меня нет красной ручки с собой, — признается Петров. — Но я могу совершенно…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А что же вы не подготовились, — укоризненно говорит Сидоряхин. — Знали же, что будет собрание…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Я абсолютно точно могу вам сказать, — в отчаянии говорит Петров, — что красным цветом получится точно то же самое.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Вы же сами нам в прошлый раз говорили, — парирует Сидоряхин, — что рисовать красные линии нужно красным цветом. Вот, я записал себе даже. А сами рисуете их синей ручкой. Это что, красные линии по-вашему?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Кстати, да, — замечает Недозайцев. — Я же еще спрашивал вас про синий цвет. Что вы мне ответили?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петрова внезапно спасает Леночка, с интересом изучающая его рисунок со своего места.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Мне кажется, я понимаю, — говорит она. — Вы же сейчас не о цвете говорите, да? Это у вас про вот эту, как вы ее называете? Перпер-чего-то-там?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Перпендикулярность линий, да, — благодарно отзывается Петров. — Она с цветом линий никак не связана.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Все, вы меня запутали окончательно, — говорит Недозайцев, переводя взгляд с одного участника собрания на другого. — Так у нас с чем проблемы? С цветом или с перпендикулярностью?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Морковьева издает растерянные звуки и качает головой. Она тоже запуталась.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— И с тем, и с другим, — тихо говорит Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Я ничего не могу понять, — говорит Недозайцев, разглядывая свои сцепленные в замок пальцы. — Вот есть задача. Нужно всего-то семь красных линий. Я понимаю, их было бы двадцать!.. Но тут-то всего семь. Задача простая. Наши заказчики хотят семь перпендикулярных линий. Верно?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Морковьева кивает.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— И Сидоряхин вот тоже не видит проблемы, — говорит Недозайцев. — Я прав, Сидоряхин?.. Ну вот. Так что нам мешает выполнить задачу?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Геометрия, — со вздохом говорит Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну, вы просто не обращайте на нее внимания, вот и все! — произносит Морковьева.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров молчит, собираясь с мыслями. В его мозгу рождаются одна за другой красочные метафоры, которые позволили бы донести до окружающих сюрреализм происходящего, но как назло, все они, облекаясь в слова, начинаются неизменно словом «Б@#$ть!», совершенно неуместным в рамках деловой беседы.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Устав ждать ответа, Недозайцев произносит:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Петров, вы ответьте просто — вы можете сделать или вы не можете? Я понимаю, что вы узкий специалист и не видите общей картины. Но это же несложно — нарисовать какие-то семь линий?&amp;nbsp;&lt;/span&gt;Обсуждаем уже два часа какую-то ерунду, никак не можем прийти к решению.&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
— Да, — говорит Сидоряхин. — Вы вот только критикуете и говорите: «Невозможно! Невозможно!» Вы предложите нам свое решение проблемы! А то критиковать и дурак может, простите за выражение. Вы же профессионал!&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров устало изрекает:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Хорошо. Давайте я нарисую вам две гарантированно перпендикулярные красные линии, а остальные — прозрачным цветом. Они будут прозрачны, и их не будет видно, но я их нарисую. Вас это устроит?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Нас это устроит? — оборачивается Морковьева к Леночке. — Да, нас устроит.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Только еще хотя бы пару — зеленым цветом, — добавляет Леночка. — И еще у меня такой вопрос, можно?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, — мертвым голосом разрешает Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Можно одну линию изобразить в виде котенка?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров молчит несколько секунд, а потом переспрашивает:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Что?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну, в виде котенка. Котеночка. Нашим пользователям нравятся зверюшки. Было бы очень здорово…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Нет, — говорит Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А почему?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Нет, я конечно могу нарисовать вам кота. Я не художник, но могу попытаться. Только это будет уже не&amp;nbsp;&lt;/span&gt;линия. Это будет кот. Линия и кот — разные вещи.&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Котенок, — уточняет Морковьева. — Не кот, а котенок, такой маленький, симпатичный. Коты, они…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да все равно, — качает головой Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Совсем никак, да?.. — разочарованно спрашивает Леночка.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Петров, вы хоть дослушали бы до конца, — раздраженно говорит Недозайцев. — Не дослушали, а уже говорите «Нет».&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Я понял мысль, — не поднимая взгляда от стола, говорит Петров. — Нарисовать линию в виде котенка невозможно.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну и не надо тогда, — разрешает Леночка. — А птичку тоже не получится?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров молча поднимает на нее взгляд и Леночка все понимает.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну и не надо тогда, — снова повторяет она.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Недозайцев хлопает ладонью по столу.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Так на чем мы остановились? Что мы делаем?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Семь красных линий, — говорит Морковьева. — Две красным цветом, и две зеленым, и остальные&amp;nbsp;&lt;/span&gt;прозрачным. Да? Я же правильно поняла?&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, — подтверждает Сидоряхин прежде, чем Петров успевает открыть рот.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Недозайцев удовлетворенно кивает.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Вот и отлично… Ну, тогда все, коллеги?.. Расходимся?.. Еще вопросы есть?..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ой, — вспоминает Леночка. — У нас еще есть красный воздушный шарик! Скажите, вы можете его надуть?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Да, кстати, — говорит Морковьева. — Давайте это тоже сразу обсудим, чтобы два раза не собираться.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Петров, — поворачивается Недозайцев к Петрову. — Мы это можем?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А какое отношение ко мне имеет шарик? — удивленно спрашивает Петров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Он красный, — поясняет Леночка.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров тупо молчит, подрагивая кончиками пальцев.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Петров, — нервно переспрашивает Недозайцев. — Так вы это можете или не можете? Простой же вопрос.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Ну, — осторожно говорит Петров, — в принципе, я конечно могу, но…&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Хорошо, — кивает Недозайцев. — Съездите к ним, надуйте. Командировочные, если потребуется, выпишем.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Завтра можно? — спрашивает Морковьева.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Конечно, — отвечает Недозайцев. — Я думаю, проблем не будет… Ну, теперь у нас все?.. Отлично. Продуктивно поработали… Всем спасибо и до свидания!&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров несколько раз моргает, чтобы вернуться в объективную реальность, потом встает и медленно бредет к выходу. У самого выхода Леночка догоняет его.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— А можно еще вас попросить? — краснея, говорит Леночка. — Вы когда шарик будете надувать… Вы можете надуть его в форме котенка?..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;Петров вздыхает.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;txt&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot;&gt;— Я все могу, — говорит он. — Я могу абсолютно все. Я профессионал.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/1857643283627202389/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/11/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1857643283627202389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1857643283627202389'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/11/blog-post.html' title='Вы же профессионал!'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3-M2CuKR3qsrVaB9LgxwmO5xdTOkQ5NI5q48DaFonITGZSfpLo5yxzdBd__PUIethsAHhpv_aF8Tb_4EvbJnrX17eSkea8eJub-ntLhGYPFhnpv7aOfqqM2U8hqiKyuYjF2P0jLYK46S6/s72-c/m_w1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-3149631003273999470</id><published>2011-11-14T11:30:00.001+02:00</published><updated>2011-11-15T09:51:08.638+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="php5"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="XDebug"/><title type='text'>Как настроить NetBeans для работы с XDebug</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: right;&quot;&gt;
&lt;a href=&quot;http://www.64bitjungle.com/wp-content/uploads/2008/04/xdebug-logo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.64bitjungle.com/wp-content/uploads/2008/04/xdebug-logo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;1. Для начала устанавливаем непосредственно сам XDebug:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Предполагается что Apache и PHP уже установлен (если нет, то самое время их &lt;a href=&quot;https://help.ubuntu.com/community/ApacheMySQLPHP&quot;&gt;установить&lt;/a&gt;). Далее устанавливаем необходимые библиотеки:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;alt2&quot; dir=&quot;ltr&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-style: inset; border-bottom-width: 1px; border-color: initial; border-left-style: inset; border-left-width: 1px; border-right-style: inset; border-right-width: 1px; border-top-style: inset; border-top-width: 1px; font-size: 12px; height: 34px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; width: 640px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;sudo apt-get install php5-dev php-pear&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
Теперь устанавлиеваем XDebug через &lt;a href=&quot;http://pecl.php.net/&quot;&gt;PECL&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;alt2&quot; dir=&quot;ltr&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-style: inset; border-bottom-width: 1px; border-color: initial; border-left-style: inset; border-left-width: 1px; border-right-style: inset; border-right-width: 1px; border-top-style: inset; border-top-width: 1px; font-size: 12px; height: 34px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; width: 640px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;sudo pecl install xdebug&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Ищем местонахождение файла xdebug.so&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;alt2&quot; dir=&quot;ltr&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-style: inset; border-bottom-width: 1px; border-color: initial; border-left-style: inset; border-left-width: 1px; border-right-style: inset; border-right-width: 1px; border-top-style: inset; border-top-width: 1px; font-size: 12px; height: 50px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; width: 640px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;find / -name &#39;xdebug.so&#39;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
В моем случае путь к файлу был такой: /usr/lib/php5/20090626+lfs/xdebug.so&lt;br /&gt;
&lt;br /&gt;
Открываетм и редактируем файл php.ini:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;alt2&quot; dir=&quot;ltr&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-style: inset; border-bottom-width: 1px; border-color: initial; border-left-style: inset; border-left-width: 1px; border-right-style: inset; border-right-width: 1px; border-top-style: inset; border-top-width: 1px; font-size: 12px; height: 34px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; width: 640px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;sudo gedit /etc/php5/apache2/php.ini&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавляем перед тегом [Date] строку :&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;alt2&quot; dir=&quot;ltr&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-style: inset; border-bottom-width: 1px; border-color: initial; border-left-style: inset; border-left-width: 1px; border-right-style: inset; border-right-width: 1px; border-top-style: inset; border-top-width: 1px; font-size: 12px; height: 34px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; width: 640px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;zend_extension=&quot;/usr/lib/php5/20090626+lfs/xdebug.so&quot;
&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
и перезагружаем apache:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;alt2&quot; dir=&quot;ltr&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-style: inset; border-bottom-width: 1px; border-color: initial; border-left-style: inset; border-left-width: 1px; border-right-style: inset; border-right-width: 1px; border-top-style: inset; border-top-width: 1px; font-size: 12px; height: 34px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; width: 640px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;sudo /etc/init.d/apache2 restart&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;2. Настраиваем ХDebug&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Теперь настроим XDebug для работы с NetBeans IDE. Для начала откроем файл php.ini и добавим после строки&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; color: #444444; font-family: monospace; font-size: 12px; white-space: pre;&quot;&gt;zend_extension=... &lt;/span&gt;следующие параметры:&lt;br /&gt;
&lt;br /&gt;
xdebug.default_enable = On&lt;br /&gt;
xdebug.var_display_max_depth=6&lt;br /&gt;
xdebug.remote_enable=on&lt;br /&gt;
xdebug.remote_host=127.0.0.1&lt;br /&gt;
xdebug.remote_port=9000&lt;br /&gt;
xdebug.remote_handler=dbgp&lt;br /&gt;
xdebug.idekey=netbeans-xdebug&lt;br /&gt;
xdebug.remote_autostart=1&lt;br /&gt;
xdebug.remote_log=/tmp/xdebug.log&lt;br /&gt;
xdebug.profiler_enable_trigger=1&lt;br /&gt;
xdebug.profiler_enable=0&lt;br /&gt;
xdebug.profiler_output_dir=/tmp/profiler&lt;br /&gt;
xdebug.show_local_vars=1&lt;br /&gt;
xdebug.overload_var_dump=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... перезагружаем apache:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;alt2&quot; dir=&quot;ltr&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-style: inset; border-bottom-width: 1px; border-color: initial; border-left-style: inset; border-left-width: 1px; border-right-style: inset; border-right-width: 1px; border-top-style: inset; border-top-width: 1px; font-size: 12px; height: 34px; overflow-x: auto; overflow-y: auto; padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px; width: 640px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;sudo /etc/init.d/apache2 restart&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;Открываем NetBeans Tools&amp;gt;Options&amp;gt;PHP&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitfWtbTLfksGaOyxAt1oDLtooe360vdhQ0CK0QXyRzqjK6Pl1eujMc8wQHNiBEqSPIUVU2yZ_cCdlAd95BS_XEycLiv3WyZjQcUGaHh9kwdyoR_CTSlVVBHnwcIZcZweo1G6x0tTMNHZSa/s1600/Screenshot-Options.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;326&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitfWtbTLfksGaOyxAt1oDLtooe360vdhQ0CK0QXyRzqjK6Pl1eujMc8wQHNiBEqSPIUVU2yZ_cCdlAd95BS_XEycLiv3WyZjQcUGaHh9kwdyoR_CTSlVVBHnwcIZcZweo1G6x0tTMNHZSa/s400/Screenshot-Options.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;Нажимаем ОК и смело пользуемся дебагером&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #444444;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/3149631003273999470/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/11/netbeans-xdebug.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3149631003273999470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3149631003273999470'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/11/netbeans-xdebug.html' title='Как настроить NetBeans для работы с XDebug'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitfWtbTLfksGaOyxAt1oDLtooe360vdhQ0CK0QXyRzqjK6Pl1eujMc8wQHNiBEqSPIUVU2yZ_cCdlAd95BS_XEycLiv3WyZjQcUGaHh9kwdyoR_CTSlVVBHnwcIZcZweo1G6x0tTMNHZSa/s72-c/Screenshot-Options.png" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-6114635731812286273</id><published>2011-06-22T01:47:00.053+03:00</published><updated>2011-06-22T17:16:07.644+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="add-on"/><category scheme="http://www.blogger.com/atom/ns#" term="Firefox"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="plugins"/><title type='text'>Как создать свой плагин для Firefox</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://screamable.com/wp-content/uploads/2011/04/firefox_addons.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;http://screamable.com/wp-content/uploads/2011/04/firefox_addons.jpeg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Задача&lt;/b&gt;: Разобраться как создавать плагины (дополнения) для Firefox.&lt;br /&gt;
&lt;br /&gt;
Для начала заходим на &lt;a href=&quot;https://addons.mozilla.org/en-US/developers/tools/builder&quot;&gt;Add-on Developer Hub&lt;/a&gt; и&amp;nbsp;посредством&amp;nbsp;формы создаем простой плагин (будем использовать его как&amp;nbsp;болванку&amp;nbsp;для разработки своего плагина). В качестве уникального ID можно указать собственный e-mail или что-то вроде того.&lt;br /&gt;
&lt;br /&gt;
Скачав сгенерированный код сразу можно его проверить, для этого достаточно переименовать .zip на .xpi и установить как обычное расширение к Firefox (&lt;b&gt;Меню &lt;/b&gt;&amp;gt; &lt;b&gt;Инструменты&amp;nbsp;&lt;/b&gt;&amp;gt;&amp;nbsp;&lt;b&gt;Дополнения&lt;/b&gt;, в открытом окне &lt;b&gt;Файл&amp;nbsp;&lt;/b&gt;&amp;gt;&amp;nbsp;&lt;b&gt;Установить расширения&lt;/b&gt;)&lt;b&gt;.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; font-size: large;&quot;&gt;Распакуем полученный архив и разберемся со структурой плагина.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;./chrome&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; /content&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;about.xul&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ff-overlay.js&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ff-overlay.xul&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;options.xul&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;overlay.js&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; /locale&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;/en-US&lt;br /&gt;
&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot;&gt;about.dtd&lt;br /&gt;
&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot;&gt;options.dtd&lt;br /&gt;
&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot;&gt;overlay.dtd&lt;br /&gt;
&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot;&gt;overlay.properties&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; /skin&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; overlay.css&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; toolbat-button.png&lt;br /&gt;
./defaults/&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;/preferences&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; prefs.js&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;chrome.manifest&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;install.rdf&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Начнем с файла &lt;b&gt;chrome.manifest&lt;/b&gt;. Этот файл отвечает за привязку дополнительных объектов  к базовым объектам Firefox. К примеру, базовый объект браузера описан в файле &lt;b&gt;chrome://browser/content/browser.xul&lt;/b&gt;, для того чтобы иметь возможность использовать свои обработчики для событий браузера нам необходимо создать свой объект. В файле &lt;b&gt;chrome.manifest&lt;/b&gt; происходит наложение (overlay) нового объекта на базовому:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;b&gt;overlay&lt;/b&gt;   chrome://browser/content/browser.xul   chrome://HelloWorld/content/ff-overlay.xul&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Файл ff-overlay.xul имеет формат XUL (XML User Interface Language), другими словами это специфический XML-файл. В нашем случае он имеет следующий начальный вид:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;?xml-stylesheet href=&quot;chrome://HelloWorld/skin/overlay.css&quot; type=&quot;text/css&quot;?&amp;gt;
&amp;lt;!DOCTYPE overlay SYSTEM &quot;chrome://HelloWorld/locale/overlay.dtd&quot;&amp;gt;
&amp;lt;overlay id=&quot;HelloWorld-overlay&quot; xmlns=&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;&amp;gt;
&amp;nbsp; &amp;lt;script src=&quot;overlay.js&quot;/&amp;gt;
&amp;nbsp; &amp;lt;script src=&quot;ff-overlay.js&quot;/&amp;gt;

&amp;nbsp; &amp;lt;stringbundleset id=&quot;stringbundleset&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;stringbundle id=&quot;HelloWorld-strings&quot; src=&quot;chrome://HelloWorld/locale/overlay.properties&quot;/&amp;gt;
&amp;nbsp; &amp;lt;/stringbundleset&amp;gt;

&amp;nbsp; &amp;lt;menupopup id=&quot;menu_ToolsPopup&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;menuitem id=&quot;HelloWorld-hello&quot; label=&quot;&amp;amp;HelloWorld.label;&quot;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oncommand=&quot;HelloWorld.onMenuItemCommand(event);&quot;/&amp;gt;
&amp;nbsp; &amp;lt;/menupopup&amp;gt;

&amp;nbsp; &amp;lt;popup id=&quot;contentAreaContextMenu&quot;&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;lt;menuitem id=&quot;context-HelloWorld&quot; label=&quot;&amp;amp;HelloWorldContext.label;&quot;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; accesskey=&quot;&amp;amp;HelloWorldContext.accesskey;&quot;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; insertafter=&quot;context-stop&quot;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oncommand=&quot;HelloWorld.onMenuItemCommand(event)&quot;/&amp;gt;
&amp;nbsp; &amp;lt;/popup&amp;gt;

&amp;nbsp; &amp;lt;toolbarpalette id=&quot;BrowserToolbarPalette&quot;&amp;gt;
&amp;nbsp; &amp;lt;toolbarbutton id=&quot;HelloWorld-toolbar-button&quot; class=&quot;toolbarbutton-1 chromeclass-toolbar-additional&quot;
&amp;nbsp; &amp;nbsp; label=&quot;&amp;amp;HelloWorldToolbarButton.label;&quot; tooltiptext=&quot;&amp;amp;HelloWorldToolbarButton.tooltip;&quot;
&amp;nbsp; &amp;nbsp; oncommand=&quot;HelloWorld.onToolbarButtonCommand()&quot;/&amp;gt;
&amp;nbsp; &amp;lt;/toolbarpalette&amp;gt;

&amp;lt;/overlay&amp;gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; font-size: large;&quot;&gt;Заглянем в файлик overlay.js.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;var HelloWorld = {

&amp;nbsp; &amp;nbsp; onLoad: function() {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // initialization code
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.initialized = true;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.strings = document.getElementById(&quot;HelloWorld-strings&quot;);
&amp;nbsp; &amp;nbsp; },

&amp;nbsp; &amp;nbsp; onMenuItemCommand: function(e) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var promptService = Components.classes[&quot;@mozilla.org/embedcomp/prompt-service;1&quot;]
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .getService(Components.interfaces.nsIPromptService);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; promptService.alert(window, this.strings.getString(&quot;helloMessageTitle&quot;),
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.strings.getString(&quot;helloMessage&quot;));
&amp;nbsp; &amp;nbsp; },

&amp;nbsp; &amp;nbsp; onToolbarButtonCommand: function(e) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // just reuse the function above. &amp;nbsp;you can change this, obviously!
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HelloWorld.onMenuItemCommand(e);
&amp;nbsp; &amp;nbsp; }
};

window.addEventListener(&quot;load&quot;, function () { HelloWorld.onLoad(); }, false);
&lt;/pre&gt;&lt;br /&gt;
В этом файле находится сгенерированный класс (HelloWorld) для обработки определенных событий. Для инициализации &quot;прослушивания&quot; обработчиков используется метод DOM объекта Window &lt;b&gt;addEventListener()&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Событие &quot;load&quot; возникает при загрузке нового окна браузера. Согласно нашему коду, этому событию будет отвечать метод &amp;nbsp;&lt;b&gt;onLoad &lt;/b&gt;класса &lt;b&gt;HelloWorld&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Создадим новый метод, который будет обрабатывать все открываемые браузером страницы и заменять их содержание на предложение &quot;Hello World!&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;onPageLoad: function(aEvent) {
 &amp;nbsp; var doc = aEvent.originalTarget;
 &amp;nbsp; // doc - документ, на котором произошло событие &quot;onload&quot;
 &amp;nbsp; doc.body.innerHTML = &quot;Hello World!&quot;;
}
&lt;/pre&gt;&lt;br /&gt;
К методу OnLoad добавим код, который будет &quot;перехватывать&quot; событие, отвечающее за загрузку страниц в окне браузера (DOMContentLoaded) и вызывать созданный&amp;nbsp;нами метод:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;var appcontent = document.getElementById(&quot;appcontent&quot;); &amp;nbsp; // browser
if(appcontent)
&amp;nbsp; &amp;nbsp;appcontent.addEventListener(&quot;DOMContentLoaded&quot;, HelloWorld.onPageLoad, true);
&lt;/pre&gt;&lt;br /&gt;
Получился следующий скрипт:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;var HelloWorld = {
&amp;nbsp; &amp;nbsp; onLoad: function() {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // initialization code
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.initialized = true;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.strings = document.getElementById(&quot;HelloWorld-strings&quot;);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var appcontent = document.getElementById(&quot;appcontent&quot;); &amp;nbsp; // browser
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(appcontent)
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; appcontent.addEventListener(&quot;DOMContentLoaded&quot;, HelloWorld.onPageLoad, true);
&amp;nbsp; &amp;nbsp; },

&amp;nbsp; &amp;nbsp; onMenuItemCommand: function(e) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; // ...
&amp;nbsp; &amp;nbsp; },

&amp;nbsp; &amp;nbsp; onToolbarButtonCommand: function(e) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...
&amp;nbsp; &amp;nbsp; },

&amp;nbsp; &amp;nbsp; onPageLoad: function(aEvent) {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var doc = aEvent.originalTarget;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// doc - документ, на котором произошло событие &quot;onload&quot;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doc.body.innerHTML = &quot;Hello World!&quot;;
&amp;nbsp; &amp;nbsp; }
};

window.addEventListener(&quot;load&quot;, function () { HelloWorld.onLoad(); }, false);
&lt;/pre&gt;&lt;br /&gt;
Теперь можем запаковать измененный код в zip-архив, поменять расширения файла на .xpi, и попробовать установить как дополнение в Firefox (см. више).&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; font-size: large;&quot;&gt;Результат работы плагина HelloWorld:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIVBVjhqteBEwyIAxyyKwxV3eHOzpKG6pHw23JbwQyRd_9TfALcK2YuXjPq5reh30cu7_8Q2hYiITHhKxFfwoG4JiiOFVwoXZ6F3mApIruje6ogGXE9AXFv4gOuCC1Nc2actjq2B69bPQd/s1600/Untitled-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;296&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIVBVjhqteBEwyIAxyyKwxV3eHOzpKG6pHw23JbwQyRd_9TfALcK2YuXjPq5reh30cu7_8Q2hYiITHhKxFfwoG4JiiOFVwoXZ6F3mApIruje6ogGXE9AXFv4gOuCC1Nc2actjq2B69bPQd/s400/Untitled-1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Разберемся как работают настройки плагина.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Предположим нам нужно создать счетчик, который будет увеличивать свое значение каждый раз, когда открывается новое окно браузера.&lt;br /&gt;
&lt;br /&gt;
Все параметры настройки плагина описаны в файле &lt;b&gt;/defaults/preferences/prefs.js&lt;/b&gt;. Для того чтобы добавить новый параметр достаточно прописать в этом файле следующую строчку:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;pref(&quot;extensions.HelloWorld.counter&quot;,0);
&lt;/pre&gt;&lt;br /&gt;
Теперь добавим к нашему методу &lt;b&gt;onLoad &lt;/b&gt;объекта &lt;b&gt;HelloWorld&lt;/b&gt; код для работы с созданным параметром настройки:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;&amp;nbsp; &amp;nbsp; onLoad: function() {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // initialization code
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.initialized = true;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.strings = document.getElementById(&quot;HelloWorld-strings&quot;);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //находим компонент настроек и получаем доступ к узловой ветке
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var prefs = Components.classes[&quot;@mozilla.org/preferences-service;1&quot;].getService(Components.interfaces.nsIPrefService);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //подключаемся к ветке нашего плагина
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prefs = prefs.getBranch(&quot;extensions.HelloWorld.&quot;);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //получение значения параметра counter
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; counter = prefs.getIntPref(&quot;counter&quot;);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; counter = counter+1;
       //сохранение нового значения параметра
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prefs.setIntPref(&quot;counter&quot;,counter);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alert(&quot;Вы открываете Фаерфокс уже в &quot;+counter+&quot; раз!&quot;); &amp;nbsp; &amp;nbsp;
&amp;nbsp; &amp;nbsp; }
&lt;/pre&gt;&lt;br /&gt;
Подробнее о методах и функциях для работы с настройками можно почитать на странице&amp;nbsp;&lt;a href=&quot;https://developer.mozilla.org/en/nsIPrefBranch&quot;&gt;nsIPrefBranch - MDC Doc&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
В результате при каждом запуске Firefox или открытии нового окна будет отображаться диалог с количеством просмотров.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Vdk1yPLAOusRpVMBPUVsTUaWW1Ekh0s6DL-PwHho_6eSwfSE943QOOUls5o_4xhVukuD76XWVHCnTWepwZmZQRNlMBeLbO0yRSk8E_u4-v_eYf2DH-3reC08h4ZfC34tVpzkAWMkjjal/s1600/Untitled-3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;119&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4Vdk1yPLAOusRpVMBPUVsTUaWW1Ekh0s6DL-PwHho_6eSwfSE943QOOUls5o_4xhVukuD76XWVHCnTWepwZmZQRNlMBeLbO0yRSk8E_u4-v_eYf2DH-3reC08h4ZfC34tVpzkAWMkjjal/s320/Untitled-3.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; font-size: large;&quot;&gt;Полезные ссылки по теме:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.javascriptkit.com/domref/windowmethods.shtml&quot;&gt;DOM Window Object methods&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/Code_snippets&quot;&gt;Code snippets - MDC Doc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en/nsIPrefBranch&quot;&gt;nsIPrefBranch - MDC Doc&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/6114635731812286273/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/06/firefox.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6114635731812286273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6114635731812286273'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/06/firefox.html' title='Как создать свой плагин для Firefox'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIVBVjhqteBEwyIAxyyKwxV3eHOzpKG6pHw23JbwQyRd_9TfALcK2YuXjPq5reh30cu7_8Q2hYiITHhKxFfwoG4JiiOFVwoXZ6F3mApIruje6ogGXE9AXFv4gOuCC1Nc2actjq2B69bPQd/s72-c/Untitled-1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-3768266885278713256</id><published>2011-05-25T14:48:00.009+03:00</published><updated>2011-05-25T15:08:14.169+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="css3"/><category scheme="http://www.blogger.com/atom/ns#" term="Datepicker"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><category scheme="http://www.blogger.com/atom/ns#" term="UI"/><title type='text'>jQuery UI: Проблема отображения Datepicker в Dialog</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://fuelyourcoding.com/files/jqueryui.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;http://fuelyourcoding.com/files/jqueryui.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Пытаясь встроить поле для даты, используя плагин &lt;a href=&quot;http://jqueryui.com/demos/datepicker/&quot;&gt;Datepicker&lt;/a&gt;, в диалоговое окно, создаваемое плагином &lt;a href=&quot;http://jqueryui.com/demos/dialog/&quot;&gt;Dialog&lt;/a&gt;&amp;nbsp;библиотеки &lt;a href=&quot;http://jqueryui.com/home&quot;&gt;jQuery UI&lt;/a&gt; обнаружил проблему. После открытия диалогового окна и выбора поля&amp;nbsp;Datepicker - панель для выбора даты (календарик) отображается позади диалогового окна.&lt;br /&gt;
&lt;br /&gt;
Решить данную проблему можно следующим образом: в&amp;nbsp;CSS файле со стилями для&amp;nbsp;Datepicker находим стиль для класа &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: monospace;&quot;&gt;.ui-datepicker&lt;/span&gt;&amp;nbsp;&amp;nbsp;и заменяем его на следующий&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:css&quot;&gt;.ui-datepicker {&amp;nbsp;
   width: 17em;&amp;nbsp;
   padding: .2em .2em 0;&amp;nbsp;
   z-index: 9999 !important;&amp;nbsp;
}
&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/3768266885278713256/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/jquery-dialog-datepicker.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3768266885278713256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/3768266885278713256'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/jquery-dialog-datepicker.html' title='jQuery UI: Проблема отображения Datepicker в Dialog'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-8748925415166462803</id><published>2011-05-19T14:23:00.000+03:00</published><updated>2011-05-19T14:23:11.439+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="elgg"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>ELGG: Создаем &quot;скелет&quot; плагина из коммандной строки</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Для того чтобы создать в ELGG новый плагин (модуль), первым делом, необходимо создать правильную структуру директорий. Помочь в этом может разработаный Оскаром Кастро (&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: &#39;Lucida Grande&#39;, Verdana, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;&lt;a href=&quot;http://community.elgg.org/pg/profile/Kareste&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #4690d6; font-family: inherit; font-size: 13px; font-style: inherit; font-weight: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: none; outline-width: initial; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none; vertical-align: baseline;&quot;&gt;Oscar Castro&lt;/a&gt;&lt;/span&gt;) простой bash-скрипт&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;#!/bin/bash 
 #name: pluginSkeleton
 #Author: @Kareste
 #Installation: Put file in mod/
 #usage ./pluginSkeleton 
 if [ $# -eq 0 ]; then
 echo &quot;Plugin Name is Missing&quot;
 else
 echo mkdir -p &quot;$1/actions/$1/&quot; | bash -x
 echo mkdir -p &quot;$1/classes/&quot; | bash -x
 echo mkdir -p &quot;$1/graphics/&quot; | bash -x
 echo mkdir -p &quot;$1/js/&quot; | bash -x
 echo mkdir -p &quot;$1/languages/&quot; | bash -x
 echo mkdir -p &quot;$1/lib/&quot; | bash -x
 echo mkdir -p &quot;$1/pages/$1/&quot; | bash -x
 echo mkdir -p &quot;$1/vendors/&quot; | bash -x
 echo mkdir -p &quot;$1/views/default/$1/&quot; | bash -x
 echo mkdir -p &quot;$1/views/default/forms/&quot; | bash -x
 echo mkdir -p &quot;$1/views/default/js/&quot; | bash -x
 echo mkdir -p &quot;$1/views/default/object/$1&quot; | bash -x
 echo mkdir -p &quot;$1/views/default/plugins/$1/&quot; | bash -x
 echo mkdir -p &quot;$1/views/default/widgets/$1_widget/&quot; | bash -x
 echo touch &quot;$1/start.php&quot; | bash -x
 echo touch &quot;$1/manifest.xml&quot; | bash -x
 echo -e &quot;\n\n\tExample Manifest\n\tElgg\n\t1.0\n\tThis is a simple example of a manifest file.  In this example, there are not screenshots, dependencies, or additional information about the plugin.\n\t\n\t\telgg_version\n\t\t2011010401\n\t\n&quot; &amp;gt;&amp;gt; &quot;$1/manifest.xml&quot;
 fi

&lt;/pre&gt;Источник:&amp;nbsp;&lt;a href=&quot;http://community.elgg.org/pg/pages/view/723878/plugin-skeleton-script-bash&quot;&gt;http://community.elgg.org/pg/pages/view/723878/plugin-skeleton-script-bash&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/8748925415166462803/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/elgg.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/8748925415166462803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/8748925415166462803'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/elgg.html' title='ELGG: Создаем &quot;скелет&quot; плагина из коммандной строки'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-1099572706454348458</id><published>2011-05-18T01:18:00.000+03:00</published><updated>2011-05-19T14:25:12.078+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="юмор"/><title type='text'>Структура современной IT компании</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://i.piccy.info/i5/38/74/1267438/humor.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;493&quot; src=&quot;http://i.piccy.info/i5/38/74/1267438/humor.jpg&quot; width=&quot;421&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/1099572706454348458/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/it.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1099572706454348458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1099572706454348458'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/it.html' title='Структура современной IT компании'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-6801188042767534802</id><published>2011-05-11T10:41:00.005+03:00</published><updated>2011-06-22T02:06:35.014+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Font API"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Font Directory"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Внедряем в свой сайт новые шрифты от Google Font Directory</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.google.com/images/icons/feature/font_api-128.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://www.google.com/images/icons/feature/font_api-128.gif&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;В очередной раз компания Google inc. порадовала веб-разработчиков. В этот раз компания разработала так называемый&amp;nbsp;&lt;a href=&quot;http://www.google.com/webfonts&quot;&gt;Google Font Directory&lt;/a&gt; - каталог высококачественных шрифтов, которые по средствам&amp;nbsp;&lt;a href=&quot;http://code.google.com/apis/webfonts/&quot;&gt;Google Font API&lt;/a&gt; можно внедрить на свой сайт.&lt;br /&gt;
&lt;br /&gt;
Преимущества использования таких шрифтов следующие:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;большой выбор высококачественных веб-шрифтов для любой вашей страницы.&lt;/li&gt;
&lt;li&gt;поддержка данных шрифтов почти всеми браузерами (в том числе Explorer 6).&lt;/li&gt;
&lt;li&gt;невероятно легко использовать.&lt;/li&gt;
&lt;li&gt;хранилище шрифтов продолжает увеличивается с каждым днем.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;&lt;br /&gt;
Как внедрить в свой сайт шрифты из Google Font Directory?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;На пример вы хотите внедрить шрифт Ubuntu. Для этого перед тегом &amp;lt;/head&amp;gt; добавляем следующий код:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;link href=&quot;http://fonts.googleapis.com/css?family=Ubuntu&amp;amp;amp;
subset=cyrillic,latin&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&amp;gt;&amp;lt;/link&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
API будет генерировать необходимые CSS, специфичные для браузера пользователя, таким образом Вы можете использовать шрифт на странице не переживая за правильность его отображения, поэтому далее просто используйте шрифт Ubuntu в CSS, например:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:css&quot;&gt;h1 { font-family: &#39;Ubuntu&#39;, arial, serif; }
&lt;/pre&gt;&lt;br /&gt;
Можно также подключить и использовать сразу несколько шрифтов на вашем сайте.&lt;br /&gt;
Запись подключения выглядит так.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;http://fonts.googleapis.com/css?family=Ubuntu|Tangerine:bold,bolditalic|Inconsolata:italic|Droid+Sans
&lt;/pre&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/6801188042767534802/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/google-font-directory.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6801188042767534802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/6801188042767534802'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/05/google-font-directory.html' title='Внедряем в свой сайт новые шрифты от Google Font Directory'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-1125950294403982301</id><published>2011-04-28T11:16:00.005+03:00</published><updated>2011-05-26T11:24:53.038+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blogger.com"/><category scheme="http://www.blogger.com/atom/ns#" term="blogspot.com"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><category scheme="http://www.blogger.com/atom/ns#" term="подсветка кода"/><title type='text'>Подсветка кода в блоге на Blogger.com (blogspot.com)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;При публикации на страницах блога программного кода, возникает вопрос его красивого, и главное, доступного, оформления.&lt;br /&gt;
&lt;br /&gt;
Существует множество скриптов и решений данного вопроса, но как организовать подсветку в блоге, размещенном на&amp;nbsp;Blogger.com. Хочу поделиться парой доступных и простых решений, возможно кому то оно&amp;nbsp;окажется&amp;nbsp;полезным.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit; font-size: large;&quot;&gt;1.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit; font-size: x-large;&quot;&gt; JQuery Sintax Highlight&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Первое решение это плагин для яваскриптовой библиотеки JQuery -&amp;nbsp;&lt;a href=&quot;http://webcodingstudio.com/blog/jquery-syntax-highlight-plugin&quot;&gt;JQuery Sintax Highlight Plugin&lt;/a&gt;. Чтобы подключить данный плагин, для начала, нам понадобится подключить&amp;nbsp;непосредственно саму JQuery библиотеку. Для этого заходим в админку блога, выбираем вкладку &lt;b&gt;&quot;Дизайн&quot;&lt;/b&gt; &amp;nbsp;и &quot;&lt;b&gt;Изменить HTML&quot;&lt;/b&gt;. далее после тега &amp;lt;title&amp;gt;&amp;lt;data:blog.pageTitle/&amp;gt;&amp;lt;/title&amp;gt; пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;code&quot; lang=&quot;html&quot;&gt;&amp;lt;script src=&#39;http://www.google.com/jsapi&#39; type=&#39;text/javascript&#39;/&amp;gt;
&amp;lt;script type=&#39;text/javascript&#39;&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;google.load(&amp;amp;quot;jquery&amp;amp;quot;, &amp;amp;quot;1.5&amp;amp;quot;);
&amp;lt;/script&amp;gt;&amp;nbsp;&lt;/pre&gt;Ниже добавляем код подключения плагина с сайта разработчиков:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;code&quot; lang=&quot;html&quot;&gt;&amp;lt;link href=&#39;http://webcodingstudio.com/modules/highlight/frontend/highlight.css?1282949674&#39; media=&#39;all&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;/&amp;gt;
&amp;lt;script src=&#39;http://webcodingstudio.com/modules/highlight/frontend/highlight.js?1268429770&#39; type=&#39;text/javascript&#39;/&amp;gt;
&lt;/pre&gt;Теперь для подсветки синтаксиса можно использовать тег &amp;lt;pre class=&quot;code&quot;&amp;gt;&amp;lt;/pre&amp;gt;. При чем для разных языков доступны свои варианты подсветки:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;code&quot; lang=&quot;html&quot;&gt;&amp;lt;pre class=&quot;code&quot;&amp;gt;default&amp;lt;/pre&amp;gt;
&amp;lt;pre class=&quot;code&quot; lang=&quot;js&quot;&amp;gt;js code&amp;lt;/pre&amp;gt;
&amp;lt;pre class=&quot;code&quot; lang=&quot;css&quot;&amp;gt;css code&amp;lt;/pre&amp;gt;
&amp;lt;pre class=&quot;code&quot; lang=&quot;html&quot;&amp;gt;html code&amp;lt;/pre&amp;gt;
&amp;lt;pre class=&quot;code&quot; lang=&quot;php&quot;&amp;gt;php code&amp;lt;/pre&amp;gt;&lt;/pre&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit; font-size: large;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit; font-size: large;&quot;&gt;2.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit; font-size: x-large;&quot;&gt;&amp;nbsp;SyntaxHighlighter&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Другое решение не предполагает использование JQuery библиотеки, и на этом решении я остановил свой выбор.&lt;br /&gt;
&lt;br /&gt;
SyntaxHighlighter представляет собой полностью функциональный, автономный код подсветки синтаксиса, разработан на JavaScript. Чтобы получить представление о том, на что способен SyntaxHighlighter, достаточно посетить &lt;a href=&quot;http://alexgorbatchev.com/SyntaxHighlighter/manual/demo&quot;&gt;демонстрационную страницу&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь разберемся как это подключить.&lt;br /&gt;
&lt;br /&gt;
Аналогично с первым вариантом&amp;nbsp;заходим в админку блога, выбираем вкладку&amp;nbsp;&lt;b&gt;&quot;Дизайн&quot;&lt;/b&gt;&amp;nbsp;&amp;nbsp;и &quot;&lt;b&gt;Изменить HTML&quot;&lt;/b&gt;. далее в окне редактора шаблона, после тега &amp;lt;title&amp;gt;&amp;lt;data:blog.pageTitle/&amp;gt;&amp;lt;/title&amp;gt; пишем следующее:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;link href=&#39;http://alexgorbatchev.com/pub/sh/current/styles/shCore.css&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;/&amp;gt;
&amp;lt;link href=&#39;http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css&#39; rel=&#39;stylesheet&#39; type=&#39;text/css&#39;/&amp;gt;
&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js&#39; type=&#39;text/javascript&#39;/&amp;gt;
&amp;lt;!-- add brushes here --&amp;gt;
&amp;lt;script type=&#39;text/javascript&#39;&amp;gt;
&amp;nbsp;&amp;nbsp;SyntaxHighlighter.config.bloggerMode = true;
&amp;nbsp;&amp;nbsp;SyntaxHighlighter.all();
&amp;lt;/script&amp;gt;
&lt;/pre&gt;После комментария &quot;add brushes here,&quot; добавляем скрипты для обработки тех языков, подсветку которых мы хотим использовать. В следующем примере будет использована подсветка для Javascript, SQL, XML/HTML, and PHP:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;!-- add brushes here --&amp;gt;
&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js&#39; type=&#39;text/javascript&#39;/&amp;gt;
&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js&#39; type=&#39;text/javascript&#39;/&amp;gt;
&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js&#39; type=&#39;text/javascript&#39;/&amp;gt;
&amp;lt;script src=&#39;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js&#39; type=&#39;text/javascript&#39;/&amp;gt;
&lt;/pre&gt;Осталось только сохранить изменения шаблона и приступать к использованию. Для того чтобы скрипт автоматически &quot;раскрашивал&quot; и размечал код, его необходимо разместить в теги &amp;lt;pre class=&quot;brush:[язык подсветки]&quot;&amp;gt;. Например, для подсветки блока с SQL-запросом:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;pre class=&quot;brush:sql&quot;&amp;gt;
SELECT *
FROM users
WHERE user_id = 1212;
&amp;lt;/pre&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/1125950294403982301/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/04/bloggercom.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1125950294403982301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/1125950294403982301'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/04/bloggercom.html' title='Подсветка кода в блоге на Blogger.com (blogspot.com)'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-2172430886598639666</id><published>2011-04-27T23:11:00.017+03:00</published><updated>2011-04-28T22:01:10.758+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><category scheme="http://www.blogger.com/atom/ns#" term="SexyBookmark"/><title type='text'>Как установить SexyBookmarks на свой сайт?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;
&lt;div style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;http://t2.gstatic.com/images?q=tbn:ANd9GcSU6JXyyqjULnKXX3WpWZ8ZSU1uQGrj8QfFL7ISjn15cvatw_br&quot; width=&quot;196&quot; /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a href=&quot;http://wordpress.org/extend/plugins/sexybookmarks/stats/&quot;&gt;SexyBookmarks&lt;/a&gt; - очень удобный плагин для Wordpress, который позволяет пользователям делится закладками на страницы вашего сайта.&lt;br /&gt;
&lt;br /&gt;
В данной заметке будет описано как установить SexyBookmarks на произвольный сайт, используя только Javascript.&lt;br /&gt;
&lt;br /&gt;
Итак, для начала необходимо &lt;a href=&quot;http://wordpress.org/extend/plugins/sexybookmarks/stats/&quot;&gt;скачать &lt;/a&gt;и распаковать последнюю версию плагина.&lt;br /&gt;
&lt;br /&gt;
Из всего архива нам понадобятся только несколько файлов:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;js/sexy-bookmarks-public.js&lt;/li&gt;
&lt;li&gt;css/style.css&lt;/li&gt;
&lt;li&gt; images/shr-sprite.png&lt;/li&gt;
&lt;/ul&gt;Далее, подключаем скрипт и файл стилей, перед тегом &amp;lt;/head&amp;gt; добавляем следующие строчки кода:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/style.css&quot; /&amp;gt;
 &amp;lt;script type=&quot;text/javascript&quot; src=&quot;js/sexy-bookmarks-public.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
Выбираем подходящее место на странице для размещения кнопок и добавляем следующий HTML-код:&lt;br /&gt;
&lt;pre class=&quot;brush:xml&quot;&gt;&amp;lt;div class=&quot;shr-bookmarks shr-bookmarks-center shr-bookmarks-bg-sexy&quot;&amp;gt;
    &amp;lt;ul class=&quot;socials&quot;&amp;gt;
        &amp;lt;li class=&quot;shr-linkedin&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Add this to Linkedin&quot; rel=&quot;nofollow&quot; href=&quot;http://www.linkedin.com&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.linkedin.com&#39;]);&quot;&amp;gt;Add this to LinkedIn&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-twitter&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Tweet This!&quot; rel=&quot;nofollow&quot; href=&quot;http://twitter.com/home&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;twitter.com&#39;]);&quot;&amp;gt;Tweet This!&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-facebook&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this on Facebook&quot; rel=&quot;nofollow&quot; href=&quot;http://www.facebook.com/share.php&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.facebook.com&#39;]);&quot;&amp;gt;Share this on Facebook&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-googlebuzz&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this on Google Buzz&quot; rel=&quot;nofollow&quot; href=&quot;http://www.google.com/buzz/post&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.facebook.com&#39;]);&quot;&amp;gt;Share this on Facebook&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-digg&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Digg this!&quot; rel=&quot;nofollow&quot; href=&quot;http://digg.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;digg.com&#39;]);&quot;&amp;gt;Digg this!&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-reddit&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this on Reddit&quot; rel=&quot;nofollow&quot; href=&quot;http://reddit.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;reddit.com&#39;]);&quot;&amp;gt;Share this on Reddit&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-delicious&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this on del.icio.us&quot; rel=&quot;nofollow&quot; href=&quot;http://del.icio.us/post&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;del.icio.us&#39;]);&quot;&amp;gt;Share this on del.icio.us&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-stumbleupon&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Stumble upon something good? Share it on StumbleUpon&quot; rel=&quot;nofollow&quot; href=&quot;http://www.stumbleupon.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.stumbleupon.com&#39;]);&quot;&amp;gt;Stumble upon something good? Share it on StumbleUpon&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-twittley&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Submit this to Twittley&quot; rel=&quot;nofollow&quot; href=&quot;http://twittley.com/submit/&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;twittley.com&#39;]);&quot;&amp;gt;Submit this to Twittley&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-googlebookmarks&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Add this to Google Bookmarks&quot; rel=&quot;nofollow&quot; href=&quot;http://www.google.com/bookmarks/mark&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.google.com&#39;]);&quot;&amp;gt;Add this to Google Bookmarks&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-gmail&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this with Gmail&quot; rel=&quot;nofollow&quot; href=&quot;https://mail.google.com/mail/&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.google.com&#39;]);&quot;&amp;gt;Add this to Google Bookmarks&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-technorati&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this on Technorati&quot; rel=&quot;nofollow&quot; href=&quot;http://technorati.com/faves&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;technorati.com&#39;]);&quot;&amp;gt;Share this on Technorati&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-diigo&quot;&amp;gt;
            &amp;lt;a href=&quot;http://www.diigo.com/post&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.diigo.com&#39;]);&quot;&amp;gt;Post this on Diigo&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-blinklist&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this on Blinklist&quot; rel=&quot;nofollow&quot; href=&quot;http://www.blinklist.com/index.php&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.blinklist.com&#39;]);&quot;&amp;gt;Share this on Blinklist&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-mixx&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Share this on Mixx&quot; rel=&quot;nofollow&quot; href=&quot;http://www.mixx.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.mixx.com&#39;]);&quot;&amp;gt;Share this on Mixx&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-newsvine&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Seed this on Newsvine&quot; rel=&quot;nofollow&quot; href=&quot;http://www.newsvine.com/_tools/seed&amp;amp;amp;save&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.newsvine.com&#39;]);&quot;&amp;gt;Seed this on Newsvine&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li class=&quot;shr-yahoobuzz&quot;&amp;gt;
            &amp;lt;a class=&quot;external&quot; title=&quot;Buzz up!&quot; rel=&quot;nofollow&quot; href=&quot;http://buzz.yahoo.com/submit/&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;buzz.yahoo.com&#39;]);&quot;&amp;gt;Buzz up!&amp;lt;/a&amp;gt;
        &amp;lt;/li&amp;gt;
    &amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;br /&gt;
Осталось немного поправить Javascript. Открываем файл &lt;b style=&quot;font-family: &#39;Courier New&#39;,Courier,monospace;&quot;&gt;js/sexy-bookmarks-public.js&lt;/b&gt; и внутри обработчика&lt;b&gt; &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;jQuery(document).ready(function () {})&lt;/span&gt;&lt;/b&gt; добавляем следующий код, для обработки событий, вызываемых при нажатии на каждую кнопку:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;jQuery(&#39;.shr-bookmarks a.external&#39;).click(function() {

var url = encodeURIComponent(window.location.href), desc = &#39;&#39;;

var title = document.title;
var description = $(&quot;meta[name=description]&quot;).attr(&quot;content&quot;);

switch(this.parentNode.className) {
    case &#39;shr-twitter&#39;:
        this.href += &#39;?status=&#39; + title + &#39;+-+&#39; + url;
        break;
    case &#39;shr-linkedin&#39;:
        this.href += &#39;shareArticle?mini=true&amp;amp;url=&#39;+url+&#39;&amp;amp;title=&#39;+title+&#39;&amp;amp;summary=&#39;+description+&#39;&amp;amp;source=CEEOA&#39;;
        break;
    case &#39;shr-facebook&#39;:
        this.href += &#39;?t=&#39; + title + &#39;&amp;amp;u=&#39; + url;
        break;
    case &#39;shr-googlebuzz&#39;:
        this.href += &#39;?message=&#39;+title+&#39;%0A&#39;+description+&#39;&amp;amp;url=&#39; +url;
        break;
    case &#39;shr-digg&#39;:
        this.href += &#39;?phase=2&amp;amp;title=&#39; + title + &#39;&amp;amp;url=&#39; + url + &#39;&amp;amp;desc=&#39; + description;
        break;
    case &#39;shr-reddit&#39;:
        this.href += &#39;?title=&#39; + title + &#39;&amp;amp;url=&#39; + url;
        break;
    case &#39;shr-delicious&#39;:
        this.href += &#39;?title=&#39; + title + &#39;&amp;amp;url=&#39; + url;
        break;
    case &#39;shr-stumbleupon&#39;:
        this.href += &#39;?title=&#39; + title + &#39;&amp;amp;url=&#39; + url;
        break;
    case &#39;shr-twittley&#39;:
        this.href += &#39;?title=&#39; + title + &#39;&amp;amp;url=&#39; + url + &#39;&amp;amp;desc=&#39; + description + &#39;&amp;amp;pcat=Internet&amp;amp;tags=&#39;;
        break;
    case &#39;shr-googlebookmarks&#39;:
        this.href += &#39;?op=add&amp;amp;title=&#39; + title +&#39;&amp;amp;desc=&#39;+description+ &#39;&amp;amp;bkmk=&#39; + url;
        break;
    case &#39;shr-gmail&#39;:
        this.href += &#39;?view=cm&amp;amp;tf=0&amp;amp;to=&amp;amp;su=&#39;+title+&#39;&amp;amp;body=&#39;+description+&#39;%0A%0A&#39;+url+&#39;&amp;amp;fs=1&#39;;
        break;
    case &#39;sexy-technorati&#39;:
        this.href += &#39;?add=&#39; + url;
        break;
    case &#39;shr-diigo&#39;:
        this.href += &#39;?title=&#39; + title + &#39;&amp;amp;url=&#39; + url + &#39;&amp;amp;desc=&#39; + description;
        break;
    case &#39;shr-blinklist&#39;:
        this.href += &#39;?Action=Blink/addblink.php&amp;amp;Title=&#39; + title + &#39;&amp;amp;Url=&#39; + url;
        break;
    case &#39;shr-mixx&#39;:
        this.href += &#39;?title=&#39; + title + &#39;&amp;amp;page_url=&#39; + url + &#39;&amp;amp;desc=&#39; + description;
        break;
    case &#39;shr-newsvine&#39;:
        this.href += &#39;?h=&#39; + title + &#39;&amp;amp;u=&#39; + url;
        break;
    case &#39;shr-yahoobuzz&#39;:
            this.href += &#39;?submitHeadline=&#39; + title + &#39;&amp;amp;submitUrl=&#39; + url + &#39;&amp;amp;submitSummary=&#39; + description + &#39;&amp;amp;submitCategory=science&amp;amp;submitAssetType=text&#39;;
            break;
}
});
&lt;/pre&gt;&lt;br /&gt;
Результат:&lt;br /&gt;
&lt;div class=&quot;shr-bookmarks shr-bookmarks-center shr-bookmarks-bg-sexy&quot;&gt;&lt;ul class=&quot;socials&quot;&gt;&lt;li class=&quot;shr-linkedin&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.linkedin.com/&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.linkedin.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Add this to Linkedin&quot;&gt;Add this to LinkedIn&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-twitter&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://twitter.com/home&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;twitter.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Tweet This!&quot;&gt;Tweet This!&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-facebook&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.facebook.com/share.php&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.facebook.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this on Facebook&quot;&gt;Share this on Facebook&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-googlebuzz&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.google.com/buzz/post&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.facebook.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this on Google Buzz&quot;&gt;Share this on Facebook&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-digg&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://digg.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;digg.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Digg this!&quot;&gt;Digg this!&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-reddit&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://reddit.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;reddit.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this on Reddit&quot;&gt;Share this on Reddit&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-delicious&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://del.icio.us/post&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;del.icio.us&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this on del.icio.us&quot;&gt;Share this on del.icio.us&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-stumbleupon&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.stumbleupon.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.stumbleupon.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Stumble upon something good? Share it on StumbleUpon&quot;&gt;Stumble upon something good? Share it on StumbleUpon&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-twittley&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://twittley.com/submit/&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;twittley.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Submit this to Twittley&quot;&gt;Submit this to Twittley&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-googlebookmarks&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.google.com/bookmarks/mark&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.google.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Add this to Google Bookmarks&quot;&gt;Add this to Google Bookmarks&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-gmail&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;https://mail.google.com/mail/&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.google.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this with Gmail&quot;&gt;Add this to Google Bookmarks&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-technorati&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://technorati.com/faves&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;technorati.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this on Technorati&quot;&gt;Share this on Technorati&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-diigo&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.diigo.com/post&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.diigo.com&#39;]);&quot;&gt;Post this on Diigo&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-blinklist&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.blinklist.com/index.php&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.blinklist.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this on Blinklist&quot;&gt;Share this on Blinklist&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-mixx&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.mixx.com/submit&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.mixx.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Share this on Mixx&quot;&gt;Share this on Mixx&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-newsvine&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://www.newsvine.com/_tools/seed&amp;amp;save&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.newsvine.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Seed this on Newsvine&quot;&gt;Seed this on Newsvine&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li class=&quot;shr-yahoobuzz&quot;&gt;&lt;br /&gt;
&lt;a class=&quot;external&quot; href=&quot;http://buzz.yahoo.com/submit/&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;buzz.yahoo.com&#39;]);&quot; rel=&quot;nofollow&quot; title=&quot;Buzz up!&quot;&gt;Buzz up!&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/2172430886598639666/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/04/kak-ustanovit-sexybookmarks-na-svoj.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/2172430886598639666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/2172430886598639666'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/04/kak-ustanovit-sexybookmarks-na-svoj.html' title='Как установить SexyBookmarks на свой сайт?'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8488092742015248864.post-2178515137334082768</id><published>2011-04-27T15:45:00.001+03:00</published><updated>2011-11-14T12:15:22.643+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jquery"/><category scheme="http://www.blogger.com/atom/ns#" term="SexyBookmark"/><title type='text'>Как установить SexyBookmarks на свой сайт?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://wordpress.org/extend/plugins/sexybookmarks/stats/&quot;&gt;SexyBookmarks&lt;/a&gt; - очень удобный плагин для Wordpress, который позволяет пользователям делится закладками на страницы вашего сайта.&lt;br /&gt;
&lt;br /&gt;
В данной заметке будет описано как установить SexyBookmarks на произвольный сайт, используя только Javascript.&lt;br /&gt;
&lt;br /&gt;
Итак, для начала необходимо скачать и распаковать последнюю версию плагина, который находится по адресу &lt;a href=&quot;http://wordpress.org/extend/plugins/sexybookmarks/stats/&quot;&gt;http://wordpress.org/extend/plugins/sexybookmarks/stats/&lt;/a&gt;.&lt;br /&gt;
Из всего архива нам понадобятся только несколько файлов:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;js/sexy-bookmarks-public.js&lt;/li&gt;
&lt;li&gt;css/style.css&lt;/li&gt;
&lt;li&gt; images/shr-sprite.png&lt;/li&gt;
&lt;/ul&gt;
Далее, подключаем скрипт и файл стилей, перед тегом &amp;lt;/head&amp;gt; добавляюм следующие строчки кода:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/style.css&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;js/sexy-bookmarks-public.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Выбираем место для размещения кнопок и добавляем HTML-код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&quot;shr-bookmarks shr-bookmarks-expand shr-bookmarks-center shr-bookmarks-bg-sexy&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ul class=&quot;socials&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;li class=&quot;shr-linkedin&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a class=&quot;external&quot; title=&quot;Add this to Google Bookmarks&quot; rel=&quot;nofollow&quot; href=&quot;http://www.linkedin.com&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;www.linkedin.com&#39;]);&quot;&amp;gt;Add this to LinkedIn&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;li class=&quot;shr-twitter&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a class=&quot;external&quot; title=&quot;Tweet This!&quot; rel=&quot;nofollow&quot; href=&quot;http://twitter.com/home&quot; onclick=&quot;javascript:_gaq.push([&#39;_trackEvent&#39;,&#39;outbound-article&#39;,&#39;twitter.com&#39;]);&quot;&amp;gt;Tweet This!&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevnotice.blogspot.com/feeds/2178515137334082768/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://webdevnotice.blogspot.com/2011/04/sexybookmarks.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/2178515137334082768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8488092742015248864/posts/default/2178515137334082768'/><link rel='alternate' type='text/html' href='http://webdevnotice.blogspot.com/2011/04/sexybookmarks.html' title='Как установить SexyBookmarks на свой сайт?'/><author><name>Sergiy Kamolov</name><uri>http://www.blogger.com/profile/15765093580706459079</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz3jrsZawU2ZOO9YeIl1gCfO-tMiGWzpFrFUjw4V-xm3rGz1MAjQMkHADMbke_u6irXehlh1oq8sD3iRpyhg09iYW2t4KOxJa1dHhpmMOhuaXkkTD_5WryLhaPgDhogw/s220/a_39b075b10.jpg'/></author><thr:total>0</thr:total></entry></feed>