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

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

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 – простой и удобный способ взаимодействия со сторонним программным продуктом (приложением, библиотекой) без необходимости изучать его внутреннее устройство.

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

красивые фигуры девушек
Девушка из социальных сетей

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

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

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

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

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