Архив рубрики: Глоссарий

Описания употребляемых в заметках терминов.

Mplayer – всеядный видеопроигрыватель

Кроссплатформенный видеоплеер Mplayer по праву может считаться одной из самых популярных программ современности, предназначенных для воспроизведения видео. Начало его разработки датируется 2000 годом, автором стал Апард Герёфии, к работе которого затем подключилось множество программистов со всего мира.

Плазменная резка труб
Плазменная резка трубы - пример видеоролика в mplayer

Уникальность Mplayer заключается в том, что его стандартная версия является полностью консольной и может управляться с клавиатуры или при помощу пульта ДУ, на экран выводится только окно с проигрываемым видеофайлом, что неплохо экономит системные ресурсы и не отвлекает от просмотра обилием кнопочек и ползунков.

При желании Mplayer может быть дополнен графическим пользовательским интерфейсом, коих существует великое множество. Самые популярные – GnomeMplayer, KMPlayer, SMPlayer и UMPlayer. Последние две обладают наибольшем функционалом и большим набором скинов. Кроме того, существуют графические интерфейсы к MEncoder, разработанные для сред KDE и Gnome – это KMencoder и GMencoder.

Помимо того, что Mplayer достаточно экономно расходует системные ресурсы (а значит – отличается невысокими системными требованиями), поддерживает воспроизведение множества видео- и аудиоформатов, позволяет производить пакетную обработку медиафайлов и может проигрывать видеофайлы “на лету”, после загрузки нескольких процентов, он также позволяет конвертировать видео и аудио при помощи встроенного кодировщика MEncoder. Кроме того, при помощи MPlayer можно проверить работоспособность веб-камеры в Linux и производить захват изображения с нее или слушать подкасты на лету, если встроенный в сайт плеер по какой-то причине не устраивает.

mplayer и проигрывание playlist

Естественно, mplayer имеет поддержку чтения плейлистов – достаточно вызвать его с соответствующей опцией: mplayer -playlist название_плейлиста.m3u. Сам плейлист можно легко сгенерировать при помощи find: find "$(pwd)" \( -name "*.mp3" -o -name "*.ogg" \) | sort > playlist.m3u – этак команда найдёт все файлы с расширением mp3 или ogg в текущей директории или поддиректориях и внесёт их в плейлист с названием playlist.m3u. Её удобно добавить в bashrc как alias, причём можно сразу с вызовом mplayer для проигрывания созданного плейлиста.

mplayer и проигрывание потокового аудио

Никаких особых секретов при воспроизведении аудиопотока в mplayer нет, достаточно указать адрес самого потока: mplayer http://audio_stream. В данном случае полезными могут оказаться две опции, отвечающие за кэширование потока: mplayer -cache 4456 -cahce-min 2 http://audio_stream – укажет использовать кэш размером 4456 килобайта и начинать проигрывание потока не раньше, чем будет заполнено 2% от размера кэша.

Настройки mplayer – ~/.mplayer/config

Настройки mplayer находятся в файле ~/.mplayer/config, который может состоять из нескольких секций с разными настройками для “чистого” mplayer и его графических оболочек (smplayer, gnome mplayer и т.п.). Одна из полезных опций – zoom = 1 – она заставляет mplayer автоматически масштабировать изображение до размеров окна при его растягивании/уменьшении – автоматический zoom видео в mplayer. Мои настройки приведены в качестве примера конфигурационного файла для mplayer:

Сервис микроблогов Juick. Краткий обзор.

Что представляет собой Juick?

Juick это бесплатный сервис микроблогов (родоначальником которых является Twitter, давно превратившийся из просто блогосервися в большую соц. сеть с возможностью заработка). Juick дает возможность пользователям выполнять отправку в свой блог текстовых заметок небольшого размера при помощи любого Jabber-клиента (существовал также транспорт для отправки заметок через веб-интрефейс). Помомо этого пользователи могут комментировать сообщения, подписываться на комментраии, прикладывать к своим заметкам видео- и фотоматериалы.

В чем отличия Juick от аналогичных сервисов?

Juick отличается от аналогичных сервисов системой управлением сообщениями. Все управление осуществляется исключительно с использованием Jabber-клиента, в котором необходимые команды отправляются сервису. Самая полезная команда – HELP (команды вводятся именно большими буквами) – выводит полную справку по всем командам Juick, также может пригодиться PING, позволяющий проверить доступность сервиса. При таком способе управления интерфейс отходит на задний план.

Какие имеются возможности Juick?

В Juick есть подписка по RSS. Даже для тех, кто не ведет свой блог. Регистрация для ведения блога не нужна. Нужно просто добавить пользователя juick@juick.com в свой список контактов – и можно начинать писать! При желании можно поменять отображаемое имя командой NICK новое_имя – установленный никнейм будет показываться сервисом вместо вашего Jabber ID.

Основные возможности Juick:

  1. Имеется возможность управлять Juick с любого Jabber-клиента;
  2. Длина сообщений равная 4096 символам;
  3. Имеется возможность добавлять к сообщению видео, либо же фото, а также гео-метку;
  4. Поддержка любых статусов, устанавливаемых в jabber-клиенте, включая красивые статусы про детей, отображаются и расширенные статусы клиента;
  5. Комментарии к сообщению выводятся списком, на странице, где находится исходное сообщение;
  6. Кросспостинг в Twitter;
  7. Возможность подписки не только на интересующего автора, но и на интересующий тег или по нужным ключевым словам из записей пользователей – через использование специального бота jubo (также, как и juick – просто добавляется в контакт-лист).

Можно заключить, что Juick представляет собой довольно удобное средство общения, доступное с любого мобильного устройства, имеющего jabber-клиент и имеющее все шансы вырасти из сервиса микроблогов в социальную сеть, пусть и довольно специфичную.

Быстроробот – что это такое

Поисковый робот
Столкнулся с удивительным (для меня) феноменом – некоторые страницы блога в отчёте биржи GoGetLinks об индексации Яндексом оказывались помеченными, как проиндексированные быстророботом. Стал разбираться, что это такое этот быстроробот и чем он полезен. Что удалось понять – изложено ниже.

Быстроробот – что это?

Быстроробот (быстробот) – отдельный поисковый робот Яндекса, работает с 2005 года и используется для ускоренной индексации страниц между обновлениями выдачи проиндексированного основным поисковым роботом. Таким образом, быстроробот призван индексировать актуальную на данный момент информацию – различные новости – и в силу этого он является “постоянным посетителем” часто обновляющихся сайтов (сервисы блогов и микроблогов, новостные ленты и т.п.). Можно сделать вывод, что часто обновляющийся сайт, особенно с RSS-лентой, не будет обойдён вниманием быстроробота.

Принцип работы быстроробота

Страница, проиндексированная быстророботом, моментально попадает в результаты выдачи, однако она не присутствует в основном индексе Яндекса и её релевантность относительно поисковых запросов вычисляется но основе внутренних факторов. В индексе такая страница находится двое суток, после чего происходит её перенос в общую базу проиндексированных страниц, её релевантность пересчитывается с использованием обычных показателей и она попадает в выдачу на общих основаниях. Соответственно, наличие страницы в индексе быстроробота позволяет утверждать, что и в основной индекс Яндекса она попадёт во время ближайшего апдейта.

Как узнать, что страница проиндексирована быстророботом

Основной признак того, что страница была проиндексирована быстророботом Яндекса – наличие под ней времени индексации: позавчера, вчера или N часов назад. Такие страницы могут быть найдены через расширенный поиск Яндекса
Естественно, что можно посмотреть дату последнего апдейта выдачи яндекса, и если целевая страница была проиндексирована позже этой даты, но присутствует в результатах поиска – она была проиндексирована быстророботом. Для проверки наличия страницы в индексе удобно использовать запрос вида http://yandex.ru/yandsearch?text=url:http://адрес_целевой_страницы&lr=2
Вот так, например, выглядит в поисковой выдаче Яндекса эта страница, проиндексированная быстророботом:
быстроробот Яндекса

Блоги-сателлиты – что это и зачем они нужны

игры для нетбуков без регистрации

Блог-сателлит – это блог, являющийся вспомогательным по отношению к основному ресурсу (название переводится буквально как “спутник”) и служащий в основном для добывания и передачи трафика на основной ресурс. Также сателлиты используются с целью заработка на контекстной рекламе типа AdWords или Яндекс.Директ или же при помощи бирж продажи ссылок (самая выгодная биржа продажи ссылок на данный момент – GoGetLinks).

Сайты-сателлиты обычно используются не поодиночке, а целыми сетками от нескольких десятков сайтов одной тематики, но с уникальным наполнением и оформлением, имеющих собственные RSS-ленты. Чаще всего сателлиты делаются небольшими, в среднем на 20 уникальных статей с нужными ключевыми словами, ссылки из которых ведут на основной сайт. Таким образом он получает вес в глазах поисковых систем и некоторое количество трафика.

Кроме того, сателлиты могут помочь с ускорением индексации материалов на основном ресурсе – достаточно разместить их на популярных бесплатных блог-площадках, индексируемых поисковыми системами очень часто. “Родные” площадки (типа Я.ру или Блогспот) индексируются очень быстро и позволяют “скормить” материалы поисковикам в течение нескольких часов.

Подводя итог, можно заключить, что сателлиты довольно полезны для продвижения основного ресурса, но поддержание постоянно обновляющейся сетки сателлитов – задача довольно хлопотная и затратная. Статические же сателлиты не смогут в полной мере реализовать свой потенциал и подвержены угрозе попадания в бан поисковых систем. Как найти “золотую середину” – каждый веб-мастер решает сам.

PHP – Personal Home Page Tools

Общие сведения о PHP

PHP скрипты, сео, курсы, примеры, плагин, wordpress
Язык PHP (Personal Home Page Tools, или, как он теперь называется, PHP: Hypertext Preprocessor) является представителем семейства скриптовых языков программирования. Название у языка говорящее, основная область его применения – разработка различных интернет-приложений (интернет-скриптов) и именно в этой области PHP наиболее распространён.

PHP – краткая история создания

Корнями PHP уходит к Perl, затем интерпретатор языка претерпел изменения в сторону большей веб-ориентированности и был переписан на С. Соответственно, PHP включает в себя черты обоих “родителей” – синтаксис похож на синтаксис С, ассоциативные массивы (хэши) и цикл foreach заимствованы у Perl.

PHP – основные особенности и функции

Основная особенность PHP – штатная возможность встраивать исполняемый код в html-код веб-страниц, что делает его очень удобным для создания динамически изменяющихся страниц, при этом шаблоны страниц одновременно являются и статическими, и динамическими элементами.

Функции PHP для веб-разработки

Помимо того, PHP обладает богатым набором встроенных инструментов для веб-программирования, среди которых стоит отметить основные:

  • Встроенные массивы данных, в которые автоматически загружаются переменные окружения сервера, а также параметры, извлекаемые из GET и POST-запросов;
  • В язык встроена поддержка основных СУБД (семейство SQL и другие распространённые СУБД);
  • Возможность отправлять HTTP-заголовки в автоматическом режиме;
  • Поддержка работы с сессиями, cookies, HTTP-авторизацией
  • Работа с файлами (в виде сокетов, удалённых и локальных файлов);
  • Обработка форм, включая XForms, обработка загружаемых на сервер файлов;

PHP и графические приложения

Кроме своего прямого предназначения – создания веб-страниц, PHP также может использоваться для разработки кросс-платформенных графических приложений, среды для разработки которых так же, как и сам язык, распространяются на условиях open-source.

Пример кода на PHP – создание и обработка веб-формы

Ниже приведён пример кода на PHP, выполняющий обработку html-формы. В примере пользователь вводит имя и выбирает пол, после чего нажимает кнопку “Ответить”. PHP-скрипт получает данные из формы, производит над ними заданные действия и распечатывает результат в браузер.

Проверка имени пользователя не осуществляется, поскольку данные из формы никуда дальше не иду, но если вы планируете передавать их в рабочий скрипт или в системную утилиту – не лишним будет сделать проверку регулярным выражением (навроде такого: /^ [^/\.$?&*] $/ix) для отсечения ввода символов, которые в имени встречаться не должны. А при передаче системным утилитам пользовательского ввода – дополнительно использовать escapeshellarg.

Пример веб-формы

Как тебя зовут: ?
Ты или ?


Код для обработки формы на PHP


<form name="PHP_example_web_form" action="" method="post">
<table rows="2" cellspacing="8" cellpadding="4">
<tr><td>Как тебя зовут: </td><td><input type="text" name="u_name" value="" size="10" maxlength="20" />?</td></tr>
<tr><td>Ты <label><input type="radio" name="sex" value="m" checked="checked">мальчик</label></td>
<td> или <label><input type="radio" name="sex" value="w">девочка</label>?</td></tr>
</table>
<input type="submit" value="Ответить" />
</form>

<?php
// если в скрипт было что-то передано - начать обработку
if(count($_POST)>0){
// если переданное имя пользователя не пустое - продолжаем
if(count_chars($_POST['u_name'])>0){
unset($prefixes_m); // на всякий случай очистить массив
unset($prefixes_w); // то же

// если пол указан как мужской - выбрать прилагательное в мужском роде
if($_POST['sex'] === 'm'){
// массив с прилагательными
$prefixes_m = array('мужественный', 'великий', 'сообразительный', 'учёный', 'хитрый');
// выборка случайного элемента из массива
$prefix = $prefixes_m[rand(0,count($prefixes_m) - 1)];
}
// иначе если пол - женский - выбрать прилагательное женского рода
elseif($_POST['sex'] === 'w'){
$prefixes_w = array('прекрасная', 'нежная', 'восхитительная', 'обаятельная', 'неповторимая');
$prefix = $prefixes_w[rand(0,count($prefixes_w) - 1)];
}

// распечатать результат
print '<br /><hr><p>';
print '<div title="Приветствие" class="php-test" contenteditable="true">';
print 'Привет, '.$prefix .' '. $_POST['u_name'].'!';
print '</div></p>';
} // конец обработки имены
} // конец обработки формы
?>

Perl [Practical Extraction and Report Language]

Кратко о Perl

Perl – динамический язык программирования высокого уровня. Был задуман и начал создаваться как язык для удобной работы с текстовой информацией, отсюда вытекает основная особенность языка – строковой тип данных (строка представляет собой единый объект, а не массив отдельных символов, эту же особенность унаследовал от Perl язык PHP).

Язык знаменит своими мощными возможностями по обработке текстовых данных, что делает его весьма привлекательным для создания web-ориентированных cgi-скриптов и различных парсеров, использующих возможности регулярных выражений.

Интерпретатор Perl открытый, существуют сборки под многие популярные платформы. Также язык славится огромны количеством дополнительных модулей-библиотек, ускоряющих и упрощающих разработку приложений для решения типовых задач.

Не секрет, что perl часто используется на VPS-серверах и хостингах, в таком случае обслуживание серверов – достаточно востребованная работа. Если самостоятельно обслуживать сервер нет возможности – лучше использовать готовый сервер на хостинге, оставив решение задач по его обслуживанию техподдержке.

Интересные особенности Perl

Конструкция Switch/Case

Штатно возможность использовать конструкцию switch/case предусмотрена не была, однако это ограничение может быть обойдено достаточно простым и элегантным способом:

my %case = (
'action1' => \&action1,
'action2' => \&action2,
'actionN' => \&actionN,
);
my $action = 'action1';
$case{$action};

Помимо этого, можно использовать дополнительный модуль Switch, включив директиву use Switch;. В Perl6 конструкция switch/case встроена в интерпретатор.

Регулярные выражения в Perl

Мощная встроенная в язык поддержка регулярных выражений – это то, чем силён Perl. Основные операторы, используемые при работе с регулярными выражениями в Perl, это s///, m//, =~ и split (да, это тоже оператор).

Важной особенностью регулярных выражений, появившейся в последных версиях Perl, является поддержка исполнения встроенного Perl-кода и динамичности, что позволяет, например, описать и найти при помощи регулярного выражения конструкцию с любым количеством уровней вложенности без знания этого количества.

Тема регулярных выражений отлично раскрыта в имеющейся в разделе “Библиотека” книге Mastering Regular Expressions (Регулярные выражения), издание второе.

Примеры программ на Perl

Парсер тИЦ

Простейший парсер значений тИЦ, написанный на Perl, может выглядеть так:

#!/usr/bin/perl
use warnings;
use strict;
use utf8;
use LWP::Simple;

my $base_url = 'http://bar-navig.yandex.ru/u?ver=2&show=32&url=';
my $target_url = 'https://dimio.org';
my $content = get($base_url.$target_url);
die "Can't load tCY page!\n" if !$content;

if ( $content =~ m/^<tcy\srang="(\d{1,4})"\svalue="(\d{1,6})"\/>$/imsxo ) {
print 'Yandex Rang = '.$1.', Yandex tCY = '.$2,"\n";
}
exit 0;

Более продвинутый парсер ТИЦ – с параллельной загрузкой значений ТИЦ для переданного в скрипт списка сайтов – можно найти в разделе Софт.

Скрипт для автоматической смены IP-адреса в TOR

Для сети TOR (бесплатные рабочие SOCKS-прокси) можно сделелать Perl скрипт для автоматической смены НИМа / получения новго IP-адреса с использованием модуля Expect или при помощи модуля Net::Telnet.

TOR – the onion router. Лучший из бесплатных прокси.

Аббревиатура “TOR” происходит от сокращения полного названия программы-анонимайзера The onion router. TOR представляет из себя комплект бесплатного свободного ПО для реализации системы последовательной анонимной маршрутизации для сети интернет.

Каждое сообщение, отправляемое через TOR, последовательно шифруется несколько раз и проходит через ряд узлов сети анонимной маршрутизации. Каждый узел, в свою очередь, снимает один “слой” шифрования и получив маршрутизационную информацию, отправляет исходное сообщение дальше. Таким образом, промежуточные узлы не знают начального и конечного адресатов сообщения.

Таким образом, использование TOR может целесообразно в следующих случаях: необходимость смены IP время от времени (при этом не придется задумываться над тем, где купить список прокси или как создать свой список из бесплатных и рабочих прокси или анонимайзеров), необходимость зашифровать передаваемый трафик или же потребность “научить” работать через прокси приложение, изначально не имеющее подобного функционала (в данном случае можно прибегнуть к т.н. торификации при помощи утилит типа torsocks).

К плюсам использования TOR можно отнести:

  • бесплатность системы.
  • удовлетворительная (по сравнению с публичными прокси) скорость работы.
  • достаточно высокая безопасность передачи данных (следует однако помнить о том, что последний узел в цепочке имеет возможность прочесть сообщение полностью).
  • простота использования (socks-прокси TOR может использоваться совместно с http proxy Privoxy, что позволяет легко настроить привычные программы для работы с системой).
  • Наличие возможности подключаться на командный порт, что позволяет реализовать например автоматическую смену нима и IP-адреса в TOR при помощи скрипта.

PID – process ID (идентификатор процесса)

PID – уникальный идентификатор процесса (напр. выполняющейся программы). Позволяет обращаться к конкретному процессу.

PID присваивается каждому вновь запущенному процессу с целью персонифицировать его относительно других уже выполняющихся процессов.

По сути PID представляет собой “адрес” процесса, что позволяет другим процессам взаимодействовать с ним тем или иным образом.

В ОС Linux узнать PID процесса (процессов) можно например при помощи таких команд, как top или ps.

Команда kill являет собой характерный пример использования PID – она принимает его в качестве одного из аргументов и отправляет указанный сигнал нужному процессу.

Application programming interface

Application programming interface (API) – сборник готовых функций, констант, классов, которые библиотека представляет для внешнего использования с целью ускорения и упрощения разработки приложений.

Функциональность, предоставляемая библиотекой (программой) определяется именно API, причём используя API, программисту не нужно думать о том, как реализована предоставляемая функциональность.

API – простой и удобный способ взаимодействия со сторонним программным продуктом (приложением, библиотекой) без необходимости изучать его внутреннее устройство.

Что такое социальная сеть?

Социальной сетью называют специальный веб-сайт, основным направлением деятельности которого является объединение интернет-пользователей, обладающих схожими интересами или видом деятельности. Социальные сети, таким образом, представляют собой сообщества по интересам.

Для нахождения сообщников социальные сети предоставляют интерфейс поиска людей по указанными ими персональным данным – например, не только имя, фамилия и отчество, но также номер и год окончания школы, ВУЗ и факультет, место прохождения службы, предпочитаемые места отдыха и т. п.

Основным способом группировки пользователей в социальных сетях является “добавление в друзья” – формирование групп своих друзей. Также возможно прослеживание связей между друзьями друзей и т. д.

Помимо непосредственно общения пользователей между собой, социальные сети дают возможность размещать медиа-файлы (музыку, видео, фильмы, фотографии), которые доступны для просмотра другими участниками сети. Популярны и онлайн-игры, построенные на интерфейсе соц. сети.

Наиболее популярными на территории России социальными сетями являются сайты “Вконтакте” и “Одноклассники”.
Для обхода запрета (напр. корпоративного) на посещение соц. сетей пользователи часто используют анонимайзеры, позволяющие скрыть личную информацию и конечный адрес, посещаемого пользователем ресурса.