SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Упаковка и развертывание
программ на perl под Debian

Вячеслав Матюхин


May Perl, Москва, 16-17 мая 2009 года
Поиск по блогам
Статистика
• 280 пакетов
• 100000 строк кода
• 200 хостов
• 20 групп хостов
• 20 баз mysql до 100GB каждая
Общие знания про Debian
Debian
Полезные скрипты

Тысячи их.
Debian
Полезные скрипты

Тысячи их.
И все написаны на perl.
Debian
Полезные скрипты
...dh_make, dh-make-perl, debuild, debcommit, dupload, debrelease, dch,
debc, debi, dpkg-buildpackage, dpkg-repack, dh_builddeb, dh_builddeps,
dh_clean, dh_clearvcs, dh_compress, dh_css, dh_desktop, dh_fixperms,
dh_gconf, dh_gencontrol, dh_install, dh_installcatalogs, dh_installchangelogs,
dh_installcron, dh_installdeb, dh_installdebconf, dh_installdefoma,
dh_installdirs, dh_installdocs, dh_installemacsen, dh_installexamples,
dh_installinfo, dh_installinit, dh_installlogcheck, dh_installlogrotate,
dh_installman, dh_installmanpages, dh_installmenu, dh_installmime,
dh_installmodules, dh_installpam, dh_installppp, dh_installudev, dh_installwm,
dh_installxfonts, dh_installxmlcatalogs, dh_link, dh_listpackages, dh_make,
dh_makeshlibs, dh_md5sums, dh_movefiles, dh_perl, dh_perldeps,
dh_pycentral, dh_pysupport, dh_python, dh_scrollkeeper, dh_shlibdeps,
dh_strip, dh_suidregister, dh_testdir, dh_testroot, dh_testversion,
dh_undocumented, dh_usrlocal, dh_versions, cvs-buildpackage, svn-
buildpackage, apt-file, debconf, dpkg-parsechangelog, dpkg-repack, lintian...
Debian
dh_make
• Создает скелет нового пакета
Debian
 dh_make
• Создает скелет нового пакета
• И много мусора:
$ ls debian/
changelog control cron.d.ex docs
emacsen-remove.ex init.d.ex libyapm-perl.default.ex
manpage.1.ex manpage.xml.ex postinst.ex preinst.ex
README.Debian watch.ex compat copyright dirs
emacsen-install.ex emacsen-startup.ex init.d.lsb.ex
libyapm-perl.doc-base.EX manpage.sgml.ex menu.ex
postrm.ex prerm.ex rules
Debian
dh_make
• Создает скелет нового пакета
• И много мусора
• Карго-культ!
Debian
Необходимые файлы
•   debian/control - метаданные пакета
•   debian/compat - для debhelper
•   debian/rules - makefile для сборки
•   debian/changelog
Debian
debhelper
#!/usr/bin/make -f
clean:
    dh_testdir
    dh_testroot
    dh_clean
    $(MAKE) clean
build:
    $(MAKE) test
install:
    dh_testdir
    dh_testroot
    dh_clean -k
    dh_installdirs
    $(MAKE) install DESTDIR=debian/$(shell dh_listpackages)
binary: install
    dh_testdir
    dh_testroot
    dh_installchangelogs
    dh_installdocs
    dh_installexamples
    dh_installman
    dh_link
    dh_compress
    dh_fixperms
    dh_perl
    dh_installdeb
    dh_gencontrol
    dh_md5sums
    dh_builddeb
.PHONY: install binary
Debian
CDBS

#!/usr/bin/make -f

include /usr/share/cdbs/1/class/perlmodule.mk
include /usr/share/cdbs/1/rules/debhelper.mk
Debian
dh-make-perl

Одной строкой:
$ dh-make-perl --email=mmcleric@yandex-team.ru

Другой строкой:
$ sudo dh-make-perl --install --cpan Some::Module
Debian
   dh-make-perl

   Одной строкой:
   $ dh-make-perl --email=mmcleric@yandex-team.ru

   Другой строкой:
   $ sudo dh-make-perl --install --cpan Some::Module



http://wiki.debian.org/Teams/DebianPerlGroup:
...just send a signed mail to debian-perl@lists.debian.org and list the packages
you want us to take over.
Наши расширения debhelper
Debhelper
 dh_perldeps


Как отобразить зависимости perl-модулей
в зависимости пакетов?
Debhelper
        dh_perldeps
$ DH_VERBOSE=1 dh_perldeps
         processing file debian/libyandex-unrotate-perl/usr/share/perl5/Yandex/
Unrotate.pm
         dependent perl modules: warnings, strict, Digest::MD5, Yandex::Logger,
Yandex::TmpFile, File::Basename
         realpath: /usr/share/perl/5.8/warnings.pm -> /usr/share/perl/5.8.8/warnings.pm
         realpath: /usr/share/perl/5.8/strict.pm -> /usr/share/perl/5.8.8/strict.pm
         realpath: /usr/lib/perl/5.8/Digest/MD5.pm -> /usr/lib/perl/5.8.8/Digest/MD5.pm
         realpath: /usr/share/perl/5.8/File/Basename.pm -> /usr/share/perl/5.8.8/File/
Basename.pm
         dependent debian packages: perl, perl-base, libyandex-logger-perl, perl-modules,
libyandex-tmpfile-perl
Debhelper
  dh_perldeps

1. Читаем весь код в пакете
2. Ищем /buses+((?:w+::)*w+)(?:s+(v?[d_.]+))?/sg
3. Просматриваем @INC в поисках файлов
4. Делаем dpkg -S на каждый файл
5. ???
6. PROFIT!
Debhelper
dh_perldeps

До:
$ grep Depends debian/control
Depends: ${perl:Depends}
Debhelper
dh_perldeps

До:
$ grep Depends debian/control
Depends: ${perl:Depends}



После:
$ debc | grep Depends
 Depends: libyandex-logger-perl, libyandex-tmpfile-perl,
perl (>= 5.6.0-16), perl-base, perl-modules
Debhelper
dh_builddeps
$ dh_builddeps

$ cat debian/control
...
Build-Depends: perl, libyandex-ppb-ssh-perl, libyandex-
unrotate-perl
# [dh_builddeps] previous line is autogenerated
...
Debhelper
  dh_builddeps

- Debian policy запрещает генерировать control
- Иногда некроссплатформенен
+ Зато незаменим для автосборок
Debhelper
dh_perldeps и dh_builddeps

Безумная альтернатива - dpkg-depcheck
• Использует strace
• Тормозит
Debhelper
dh_versions


Q: Для каких пакетов писать версии?
Debhelper
dh_versions


Q: Для каких пакетов писать версии?
A: Для некоторых.
Debhelper
dh_versions

В исходниках:
use version; our $VERSION = qv(‘{{DEBIAN_VERSION}}’) unless
‘{{DEBIAN_VERSION}}’ =~ /DEBIAN/;

$ dh_versions

В пакете:
use version; our $VERSION = qv(’1.0.3’) unless ‘1.0.3’ =~ /
DEBIAN/;
Debhelper
dh_versions
$ grep Logger ./scheduler.pl
use Yandex::Logger 1.0.2;
$ debuild
...
$ debc | grep Depends
Depends: libyandex-logger-perl (>= 1.0.2), perl (>= 5.6.0-16),
perl-base, perl-modules
Debhelper
И снова CDBS

#!/usr/bin/make -f

include /usr/share/cdbs/1/class/perlmodule.mk
# include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/ppb.mk
Тестирование
Тестирование
Yandex::Config
# scheduler.pl:
use Yandex::Config ‘yandex-ppb-scheduler/main.cfg’, qw(
   $WORKDIR
   @DISTRIBUTE_TARGETS
);

# тесты:
BEGIN {
  $ENV{CONFIG_PATH} = ‘t/etc’;
}
system(“./scheduler.pl”);
Тестирование
  Yandex::Config

• Дефолтный CONFIG_PATH - “./etc:/etc”
• Проверяет, что параметры объявлены
• Работает на стадии компиляции
Тестирование
Yandex::DB
# в коде:
use Yandex::DB;
$db_scheduler = connectdb(“scheduler”);


$ # в консоли:
$ connectdb scheduler
Тестирование
Yandex::DB
Yandex::DB::Plugin::File
$ cat /etc/db.d/scheduler
[
  {
    “priority” : 1,
    “base” : “scheduler”,
    “host” : “db.feeds.yandex.net”,
    “pass” : “pass”,
    “user” : “user”,
  }
]
Тестирование
Yandex::DB
Yandex::DB::Plugin::Meta
$ cat /etc/db.d/meta
[{
    quot;basequot; : quot;metaquot;,
    quot;hostquot; : quot;meta-db.feeds.yandex.netquot;,
    ...
}, ...]

[meta-dbs3.feeds.yandex.net] meta> select host, user, passwd,
base from Bases where name = ‘scheduler’;
+-----------------------+-----------+-----------+-----------+
| host                  | user      | passwd    | base      |
+-----------------------+-----------+-----------+-----------+
| db.feeds.yandex.net   | user      | pass      | scheduler |
+-----------------------+-----------+-----------+-----------+
Тестирование
Yandex::DB
Yandex::DB::Plugin::Sandbox
# t/test.t:
$ENV{YANDEX_SANDBOX_DB} = “scheduler,feeds”;
use Yandex::DB;
$db = connectdb(“scheduler”);
... # заполнить базу временными данными

$ENV{YANDEX_SANDBOX_DB_EXISTING} = $ENV{YANDEX_SANDBOX_DB};
system(“./scheduler.pl”);
... # проверить содержимое базы
Тестирование
  Yandex::DB
  Yandex::DB::Plugin::Sandbox
• Индивидуальные базы у каждого пользователя
• Пересоздается на каждый запуск тестов
• Но остается работать после запуска тестов
Вячеслав Матюхин
Разработчик

Россия, Москва,
ул. Льва Толстого, 16.

+7 (495) 739-00-00
+7 (495) 739-70-70 — факс

mmcleric@yandex-team.ru

Más contenido relacionado

La actualidad más candente

俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681Turkmenistan Laws
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055Turkmenistan Laws
 
Minsk Jazz 190509 Templ
Minsk Jazz 190509 TemplMinsk Jazz 190509 Templ
Minsk Jazz 190509 Templsef2009
 
Основы работы с Memcached
Основы работы с MemcachedОсновы работы с Memcached
Основы работы с Memcachedrailsclub
 
Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin NakovIntro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin NakovSvetlin Nakov
 
Jazz – открытая платформа разработки ПО
Jazz – открытая платформа разработки ПОJazz – открытая платформа разработки ПО
Jazz – открытая платформа разработки ПОSQALab
 
20090410 Gree Opentech Main
20090410 Gree Opentech Main20090410 Gree Opentech Main
20090410 Gree Opentech MainHideki Yamane
 
20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)Hideki Yamane
 
企业级搜索引擎Solr交流
企业级搜索引擎Solr交流企业级搜索引擎Solr交流
企业级搜索引擎Solr交流chuan liang
 
Что такое ASP.NET MVC?
Что такое ASP.NET MVC?Что такое ASP.NET MVC?
Что такое ASP.NET MVC?Dima Pasko
 
俄罗斯Gost标准,进出口购买商品目录№RG 3757
俄罗斯Gost标准,进出口购买商品目录№RG 3757俄罗斯Gost标准,进出口购买商品目录№RG 3757
俄罗斯Gost标准,进出口购买商品目录№RG 3757Turkmenistan Laws
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687Turkmenistan Laws
 
俄罗斯Gost标准,进出口购买商品目录№RG 3438
俄罗斯Gost标准,进出口购买商品目录№RG 3438俄罗斯Gost标准,进出口购买商品目录№RG 3438
俄罗斯Gost标准,进出口购买商品目录№RG 3438Turkmenistan Laws
 
Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3
Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3
Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3Транслируем.бел
 
俄罗斯Gost标准,进出口购买商品目录№RG 3782
俄罗斯Gost标准,进出口购买商品目录№RG 3782俄罗斯Gost标准,进出口购买商品目录№RG 3782
俄罗斯Gost标准,进出口购买商品目录№RG 3782Turkmenistan Laws
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441Russian Gost
 

La actualidad más candente (20)

俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2681
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 1055
 
Minsk Jazz 190509 Templ
Minsk Jazz 190509 TemplMinsk Jazz 190509 Templ
Minsk Jazz 190509 Templ
 
Hasql in practice (Russian)
Hasql in practice (Russian)Hasql in practice (Russian)
Hasql in practice (Russian)
 
Основы работы с Memcached
Основы работы с MemcachedОсновы работы с Memcached
Основы работы с Memcached
 
Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin NakovIntro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
 
Jazz – открытая платформа разработки ПО
Jazz – открытая платформа разработки ПОJazz – открытая платформа разработки ПО
Jazz – открытая платформа разработки ПО
 
Postgre Sql 8 4
Postgre Sql 8 4Postgre Sql 8 4
Postgre Sql 8 4
 
20090410 Gree Opentech Main
20090410 Gree Opentech Main20090410 Gree Opentech Main
20090410 Gree Opentech Main
 
20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)20090410 Gree Opentech Presentation (opening)
20090410 Gree Opentech Presentation (opening)
 
企业级搜索引擎Solr交流
企业级搜索引擎Solr交流企业级搜索引擎Solr交流
企业级搜索引擎Solr交流
 
Что такое ASP.NET MVC?
Что такое ASP.NET MVC?Что такое ASP.NET MVC?
Что такое ASP.NET MVC?
 
俄罗斯Gost标准,进出口购买商品目录№RG 3757
俄罗斯Gost标准,进出口购买商品目录№RG 3757俄罗斯Gost标准,进出口购买商品目录№RG 3757
俄罗斯Gost标准,进出口购买商品目录№RG 3757
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 2687
 
俄罗斯Gost标准,进出口购买商品目录№RG 3438
俄罗斯Gost标准,进出口购买商品目录№RG 3438俄罗斯Gost标准,进出口购买商品目录№RG 3438
俄罗斯Gost标准,进出口购买商品目录№RG 3438
 
Hiv
HivHiv
Hiv
 
Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3
Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3
Bynet2.3 Microsoft. Mediacontent delivery using IIS7 and Silverlight3
 
俄罗斯Gost标准,进出口购买商品目录№RG 3782
俄罗斯Gost标准,进出口购买商品目录№RG 3782俄罗斯Gost标准,进出口购买商品目录№RG 3782
俄罗斯Gost标准,进出口购买商品目录№RG 3782
 
Strip
StripStrip
Strip
 
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441
俄罗斯进出口标准,技术规格,法律,法规,中英文,目录编号RG 441
 

Destacado

Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.rumayperl
 
Почему я программирую на Perl‎
Почему я программирую на Perl‎Почему я программирую на Perl‎
Почему я программирую на Perl‎Anatoly Sharifulin
 
‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎mayperl
 
Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎mayperl
 
Navigating Uncertainty when Launching New Ideas
Navigating Uncertainty when Launching New IdeasNavigating Uncertainty when Launching New Ideas
Navigating Uncertainty when Launching New Ideashopperomatic
 

Destacado (9)

Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.ru
 
Почему я программирую на Perl‎
Почему я программирую на Perl‎Почему я программирую на Perl‎
Почему я программирую на Perl‎
 
Selenium Perl
Selenium PerlSelenium Perl
Selenium Perl
 
‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎
 
Unit Four
Unit FourUnit Four
Unit Four
 
Unit Five
Unit FiveUnit Five
Unit Five
 
Unit Seven
Unit SevenUnit Seven
Unit Seven
 
Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎
 
Navigating Uncertainty when Launching New Ideas
Navigating Uncertainty when Launching New IdeasNavigating Uncertainty when Launching New Ideas
Navigating Uncertainty when Launching New Ideas
 

Similar a Упаковка и развертывание программ на perl под debian‎

P2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And TargetingP2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And Targetingguest258f78a
 
Защо Ruby on Rails
Защо Ruby on RailsЗащо Ruby on Rails
Защо Ruby on RailsStefan Kanev
 
Groovy Vs Perl
Groovy Vs PerlGroovy Vs Perl
Groovy Vs Perlmayperl
 
Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !mayperl
 
Paver For PyWorks 2008
Paver For PyWorks 2008Paver For PyWorks 2008
Paver For PyWorks 2008Kevin Dangoor
 
Perl в хэке и хэки в Perl
Perl в хэке и хэки в PerlPerl в хэке и хэки в Perl
Perl в хэке и хэки в Perlmayperl
 
bioinfolec_2nd_20070622
bioinfolec_2nd_20070622bioinfolec_2nd_20070622
bioinfolec_2nd_20070622sesejun
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2ady36
 
yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909Yusuke Wada
 
HA+DRBD+Postgres - PostgresWest '08
HA+DRBD+Postgres - PostgresWest '08HA+DRBD+Postgres - PostgresWest '08
HA+DRBD+Postgres - PostgresWest '08Jesse Young
 
query optimization
query optimizationquery optimization
query optimizationDimara Hakim
 
421 Ch
421 Ch421 Ch
421 Chanjaan
 
За что мы ненавидим Drupal
За что мы ненавидим DrupalЗа что мы ненавидим Drupal
За что мы ненавидим DrupalDrupal Camp Kyiv
 

Similar a Упаковка и развертывание программ на perl под debian‎ (20)

Why Ror
Why RorWhy Ror
Why Ror
 
P2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And TargetingP2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And Targeting
 
Защо Ruby on Rails
Защо Ruby on RailsЗащо Ruby on Rails
Защо Ruby on Rails
 
DevOps pasv public
DevOps pasv publicDevOps pasv public
DevOps pasv public
 
Groovy Vs Perl
Groovy Vs PerlGroovy Vs Perl
Groovy Vs Perl
 
Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !
 
Paver For PyWorks 2008
Paver For PyWorks 2008Paver For PyWorks 2008
Paver For PyWorks 2008
 
XS Japan 2008 Xen Mgmt Japanese
XS Japan 2008 Xen Mgmt JapaneseXS Japan 2008 Xen Mgmt Japanese
XS Japan 2008 Xen Mgmt Japanese
 
Perl в хэке и хэки в Perl
Perl в хэке и хэки в PerlPerl в хэке и хэки в Perl
Perl в хэке и хэки в Perl
 
bioinfolec_2nd_20070622
bioinfolec_2nd_20070622bioinfolec_2nd_20070622
bioinfolec_2nd_20070622
 
OpenSPARC
OpenSPARCOpenSPARC
OpenSPARC
 
Capistrano2
Capistrano2Capistrano2
Capistrano2
 
Perl basics for Pentesters
Perl basics for PentestersPerl basics for Pentesters
Perl basics for Pentesters
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2
 
yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909yusukebe in Yokohama.pm 090909
yusukebe in Yokohama.pm 090909
 
HA+DRBD+Postgres - PostgresWest '08
HA+DRBD+Postgres - PostgresWest '08HA+DRBD+Postgres - PostgresWest '08
HA+DRBD+Postgres - PostgresWest '08
 
query optimization
query optimizationquery optimization
query optimization
 
421 Ch
421 Ch421 Ch
421 Ch
 
Cooking with Chef
Cooking with ChefCooking with Chef
Cooking with Chef
 
За что мы ненавидим Drupal
За что мы ненавидим DrupalЗа что мы ненавидим Drupal
За что мы ненавидим Drupal
 

Más de mayperl

Use Perl like Perl
Use Perl like PerlUse Perl like Perl
Use Perl like Perlmayperl
 
Anyevent
AnyeventAnyevent
Anyeventmayperl
 
Perl + nginx = ♥‎
Perl + nginx = ♥‎Perl + nginx = ♥‎
Perl + nginx = ♥‎mayperl
 
А у нас Perl 6 в production :)
А у нас Perl 6 в production :)А у нас Perl 6 в production :)
А у нас Perl 6 в production :)mayperl
 
Что будет с Перлом?
Что будет с Перлом?Что будет с Перлом?
Что будет с Перлом?mayperl
 
Использование WebMoney в Perl‎
Использование WebMoney в Perl‎Использование WebMoney в Perl‎
Использование WebMoney в Perl‎mayperl
 
Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎mayperl
 
Сравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на PerlСравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на Perlmayperl
 
Курс Perl в УрГУ
Курс Perl в УрГУКурс Perl в УрГУ
Курс Perl в УрГУmayperl
 
Making Your Own CPAN
Making Your Own CPANMaking Your Own CPAN
Making Your Own CPANmayperl
 
Распределенная обработка потоковых данных
Распределенная обработка потоковых данныхРаспределенная обработка потоковых данных
Распределенная обработка потоковых данныхmayperl
 
Написание DSL в Perl
Написание DSL в PerlНаписание DSL в Perl
Написание DSL в Perlmayperl
 
10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелтор10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелторmayperl
 

Más de mayperl (13)

Use Perl like Perl
Use Perl like PerlUse Perl like Perl
Use Perl like Perl
 
Anyevent
AnyeventAnyevent
Anyevent
 
Perl + nginx = ♥‎
Perl + nginx = ♥‎Perl + nginx = ♥‎
Perl + nginx = ♥‎
 
А у нас Perl 6 в production :)
А у нас Perl 6 в production :)А у нас Perl 6 в production :)
А у нас Perl 6 в production :)
 
Что будет с Перлом?
Что будет с Перлом?Что будет с Перлом?
Что будет с Перлом?
 
Использование WebMoney в Perl‎
Использование WebMoney в Perl‎Использование WebMoney в Perl‎
Использование WebMoney в Perl‎
 
Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎
 
Сравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на PerlСравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на Perl
 
Курс Perl в УрГУ
Курс Perl в УрГУКурс Perl в УрГУ
Курс Perl в УрГУ
 
Making Your Own CPAN
Making Your Own CPANMaking Your Own CPAN
Making Your Own CPAN
 
Распределенная обработка потоковых данных
Распределенная обработка потоковых данныхРаспределенная обработка потоковых данных
Распределенная обработка потоковых данных
 
Написание DSL в Perl
Написание DSL в PerlНаписание DSL в Perl
Написание DSL в Perl
 
10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелтор10.000 вариантов снять квартиру или сам себе POE-риелтор
10.000 вариантов снять квартиру или сам себе POE-риелтор
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Упаковка и развертывание программ на perl под debian‎