CDATA с помощью XML::LibXML

CDATA (character data — символьные данные) используется в языках разметки XML для отображения символьных данных. Раздел CDATA начинается последовательностью символов "<![CDATA[" и заканчивается "]]>".

При создании xml-документов с CDATA на Perl я использую библиотеку XML::LibXML::CDATASection.

Рассмотрим пример: 

use XML::LibXML;

my $cdata = new XML::LibXML::CDATASection('symbols <>');
print $cdata->toString, "\n";
# результат: <![CDATA[symbols <>]]>

my $text = new XML::LibXML::Text('symbols <>');
print $text->toString, "\n";
# результат symbols &lt;&gt;

Perl: все файлы каталога

Задача:

Необходимо получить имена всех файлов каталога в массив @files.

Решение:

Откроем каталог функцией opendir и последовательно считаем имена файлов функцией readdir:

my $dir = '/home/dir_name';
my @files;

opendir(DIR, $dir) or die "can't opendir $dir: $!";

while (defined(my $file = readdir(DIR))) {
	next if $file =~ /^\.\.?$/;
	push @files, $file;
}

closedir(DIR);

Ошибка ImageMagick: Resource temporarily unavailable

Проблема:

При запуске скрипта с использованием ImageMagick на виртуальном хостинге возникла ошибка:

libgomp: Thread creation failed: Resource temporarily unavailable

ImageMagick использует алгоритм, который может выполняться в нескольких параллельных потоках. Но на виртуальном хостинге каждому пользователю выделяется определённое количество потоков, превысить которое он не может и если это произойдет - возникает ошибка «Thread creation failed: Resource temporarily unavailable».

API Яндекс.Карты: событие при нажатие правой клавиши

При клике правой клавишей мыши на Яндекс.Карте, определяем координаты щелчка и вызываем балун.

myMap.events.add('contextmenu', function (e) {
	if (!myMap.balloon.isOpen()) {
		var coords = e.get('coordPosition');
		myMap.balloon.open(coords, {
			contentHeader:'Добавление точки!',
			contentBody: 'Текст',
			contentFooter:'Координаты щелчка: ' + [
				coords[0].toPrecision(8),
				coords[1].toPrecision(8)
			].join(', ')
		});
	} else {
		myMap.balloon.close();
	}
});

Данный пример кода можно использовать при добавлении пользовательских координат.

API Яндекс.Карты: несколько маршрутов на одной карте

Несколько маршрутов на Yandex.Maps реализуется следующим образом:

undefined

API Яндекс.Карты: передача переменных в init

API Яндекс.Карты: передача параметров в init выглядит следующим образом:

ymaps.ready(init(var1, var2));

function init (var1, var2) {
    return function () {
        ...
    };
}

Структура Linux

/bin В этом каталоге хранятся основные команды, необходимые пользователю для работы в системе. Например, такие как командные оболочки и команды файловой системы. Каталог /bin обычно не изменяется после установки. Если изменяется, то обычно лишь при обновлениях пакетов программ, предоставленных разработчиками операционной системы.

/boot В этом каталоге хранятся файлы, используемые загрузчиком ОС — LInux LOader. Этот каталог так же практически не изменяется после установки.

/dev В этом каталоге размещены описания устройств системы. В Linux всё рассматривается, как файл, даже различные устройства, такие как последовательные порты, жёсткие диски и сканеры. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл, называемый device node. Все эти файлы находятся в каталоге /dev. Аналогично устроено большинство UNIX-подобных операционных систем.

/home В этом каталоге размещены домашние каталоги пользователей. Linux является многопользовательской системой и каждому пользователю присваивается имя и уникальный каталог для персональных файлов.

Регулярные выражения jQuery. Валидация

Обзор содержит несколько примеров валидации вводимых пользовательских данных средствами jQuery.

Валидация email:

var emailRegex = '^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$'; 

Валидация логина:

var usernameRegex = '/^[a-z0-9_-]{3,16}$/';

Валидация пароля:

var passwordRegex = '/^[a-z0-9_-]{6,18}$/';

Загрузка iOS8 станет доступна 17 сентября

iOS 8 станет доступна для загрузки 17 сентября.

undefined