Perl / [Из песочницы] Производительность пакетов ООП в Perl
2011-09-19 20:22:02
Как известно в Perl не очень удобная поддержка объектно-ориентированного программирования. Если ...
+ развернуть текст сохранённая копия
Как известно в Perl не очень удобная поддержка объектно-ориентированного программирования. Если хочется программировать с классами, то многое приходится делать вручную. Однако у Perl'а есть очень богатые возможности расширения, поэтому со временем появилось много библиотек (пакетов) обеспечивающих поддержку классов, методов и свойств с синтаксисом различной степени удобности. Но как оказалось, эти пакеты проигрывают в производительности по сравнению с ручной реализацией конструкций ООП. Т.е. с одной стороны, их приятно использовать, а с другой, они делают код медленнее. Мне всегда хотелось узнать насколько медленее становится код, и какие из этих пакетов стоит применять, а какие нет. Поэтому я решил провести небольшое исследование.
Читать дальше →
Тэги:
oop,
performance,
perl,
перл,
производительность
Серверное администрирование / [Из песочницы] Система автоматической генерации настроек DNS-сервера Bind
2011-09-15 12:18:58
По службе приходится часто и много создавать зоны ДНС, добавлять или изменять в них записи. Вручную ...
+ развернуть текст сохранённая копия
По службе приходится часто и много создавать зоны ДНС, добавлять или изменять в них записи. Вручную это довольно кропотливый и сложный процесс: ведь надо держать в голове синтаксис и не ошибаться в мелочах. Для таких вещей самое оно заставить работу выполнять компьютер.
IAdmin — это система создана для автоматической генерации конфигов Bind на хостинговом сервере и представляет собой базу iadmin в БД MySQL и скрипт, который на основании данных из базы генерирует конфигурационные файлы. Для настройки Bind используются таблицы dns_domains, dns_records, dns_subgmail. Основной скрипт, написанный на перле читает данные из БД iadmin и создаёт файлы конфигурации. Файлы зоны генерируются в дирректории /var/cache/bind/. Там же хранятся и прочие файлы зон, которые не обслуживаются системой iadmin. Этой же системой создаётся конфиг для secondary-DNS, который туда и переносится. До тех пор, пока скрипт не отработает, все изменения из БД НЕ материализуются.
Читать дальше →
Тэги:
bind,
dns,
perl,
генератор,
конфигурационный,
файл
Яблочные окна
2011-09-14 11:59:36
Компания, один из крупнейших разработчиков решений для создания виртуальных сред, представила ...
+ развернуть текст сохранённая копия
Компания, один из крупнейших разработчиков решений для создания виртуальных сред, представила седьмую версию продукта Parallels Desktop для Mac. Задачи программы – создание и запуск виртуальных ОС (например Windows) на компьютерах Apple. Соответственно, она ориентирована на тех владельцев Mac, которые пользуются «яблочной» операционной системой, но при этом не в силах отказаться от привычных Windows-приложений. Виртуализация давно [...] читать далее...
Тэги:
desktop,
mac,
parallel,
программа
Ненормальное программирование / Как писать квайны
2011-09-11 12:43:46
Введение
Многие программисты считают написание квайнов (программ, выводящих свой ...
+ развернуть текст сохранённая копия
Введение
Многие программисты считают написание квайнов (программ, выводящих свой исходный код) непосильной задачей. И действительно — все эти цепные квайны и квайны различного порядка, при взгляде на которые можно потеряться в казалось бы бессмысленном наборе символов…
Однако на самом деле написать квайн на каком-либо языке не так сложно, как кажется. Сейчас я расскажу, как сделать это на различных языках программирования. Более того, мы не будем использовать «хаки» интерпретеруемых языков вроде операции вывода исходного кода и функций типа eval, а также напишем квайны на интерпретируемых и компилируемых языках.
Читать дальше →
Тэги:
perl,
php,
python,
ruby,
квайн,
ненормальный,
программирование
*nix / [Из песочницы] Автоматизированные бэкапы для DB2 на *nix
2011-09-06 19:19:39
Не так давно на работе понадобилось настроить автоматизированные оффлайн бэкапы для DB2 на AIX. Tак ...
+ развернуть текст сохранённая копия
Не так давно на работе понадобилось настроить автоматизированные оффлайн бэкапы для DB2 на AIX. Tак как стандартным методом это сделать не получилось я решил попробавать настроить всё при помощи скриптов которые бы запускались с помощью крона. Простым методом тыка я выяснил что полные оффлайн бэкапы базы занимающие около нескольких гигабайт можно весьма успешно архивировать с помощью 7z. Конечные результаты занимают около 20-50 мб для баз размером в 2-3 гигабайта. Таким образом можно хранить полные бэкапы расфасованные по датам. Осталось всё это дело автоматизировать. Для этого я решил написать несколько скриптов которые бы автоматически убивали соединение к базе, делали бэкап схемы и самой базы.
Для примера расмотрим DB2 9.7.4 Express Edition установленную на Centos 5.5. Для того чтобы вся эта система работала у вас должен быть установлён perl и 7za. База по умолчанию установлена в директорию /home/db2inst1. Cоздадим две директории, одну для скриптов а вторую для бэкапов.
mkdir bin
mkdir backups
Первый скрипт который нам понадобится это скрипт для убийства соединений к базе forcedb
Читать дальше →
Тэги:
cron,
db2,
perl,
unix