🗊Perl и Unicode Олег Алистратов Perl Mova – 2010

Категория: Технологии
Нажмите для полного просмотра!
Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №1Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №2Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №3Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №4Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №5Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №6Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №7Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №8Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №9Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №10Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №11Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №12Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №13Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №14Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №15Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №16Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №17Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №18Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №19Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №20Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №21Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №22Perl и Unicode  Олег Алистратов  Perl Mova – 2010, слайд №23

Вы можете ознакомиться и скачать Perl и Unicode Олег Алистратов Perl Mova – 2010. Презентация содержит 23 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Perl и Unicode
Олег Алистратов
Perl Mova – 2010
Описание слайда:
Perl и Unicode Олег Алистратов Perl Mova – 2010

Слайд 2





Зачем нужен Unicode?
Описание слайда:
Зачем нужен Unicode?

Слайд 3





Unicode в .ru
100 000 случайных сайтов
Описание слайда:
Unicode в .ru 100 000 случайных сайтов

Слайд 4





История
Описание слайда:
История

Слайд 5





Трафик: text/plain
Увеличение размера кириллического текста на 79%
Описание слайда:
Трафик: text/plain Увеличение размера кириллического текста на 79%

Слайд 6





Трафик: text/html
Увеличение размера HTML с русским текстом на 14%
Медианный  размер 100 тыс. случайно выбранных русскоязычных страниц
Описание слайда:
Трафик: text/html Увеличение размера HTML с русским текстом на 14% Медианный размер 100 тыс. случайно выбранных русскоязычных страниц

Слайд 7





Трафик: gzipped
Описание слайда:
Трафик: gzipped

Слайд 8





Производительность: платформы
Mobile Intel® Celeron® 560 @ 2.13 GHz, RAM 1 Gb
Microsoft® Windows® XP SP3
ActiveState Perl v5.10.0

Intel® Core™2 Duo E7400 @ 2.80 GHz, RAM 2 Gb
Ubuntu 9.10 Karmic Koala linux 2.6.31-14-server
perl v5.10.0

Intel® Xeon® E5450 @ 3.00 GHz × 2, RAM 32 Gb
FreeBSD® 6.2-RELEASE-p3
perl v5.8.8
Описание слайда:
Производительность: платформы Mobile Intel® Celeron® 560 @ 2.13 GHz, RAM 1 Gb Microsoft® Windows® XP SP3 ActiveState Perl v5.10.0 Intel® Core™2 Duo E7400 @ 2.80 GHz, RAM 2 Gb Ubuntu 9.10 Karmic Koala linux 2.6.31-14-server perl v5.10.0 Intel® Xeon® E5450 @ 3.00 GHz × 2, RAM 32 Gb FreeBSD® 6.2-RELEASE-p3 perl v5.8.8

Слайд 9





Строковые функции
Описание слайда:
Строковые функции

Слайд 10





Регулярные выражения
Описание слайда:
Регулярные выражения

Слайд 11





Регулярные выражения
use re 'debug';
$a =~ /\d/;
DIGIT

$a =~ /[0-9]/;
ANYOF[0-9]

$a =~ /(?:0|1|2|3|4|5|6|7|8|9)/;
TRIEC-EXACT[0-9]
Описание слайда:
Регулярные выражения use re 'debug'; $a =~ /\d/; DIGIT $a =~ /[0-9]/; ANYOF[0-9] $a =~ /(?:0|1|2|3|4|5|6|7|8|9)/; TRIEC-EXACT[0-9]

Слайд 12





Исходный файл в UTF-8
{
    use utf8;
    my $a = 'Привет!';
    print length($a), "\n";
}
> 7
{
    no utf8;
    my $a = 'Привет!';
    print length($a), "\n";
}
> 13
Описание слайда:
Исходный файл в UTF-8 { use utf8; my $a = 'Привет!'; print length($a), "\n"; } > 7 { no utf8; my $a = 'Привет!'; print length($a), "\n"; } > 13

Слайд 13





Символы и байты
use utf8; # or use encoding "cp1251";

my $a = 'Привет!';
print length($a), "\n";
use bytes;
print length($a), "\n";
> 7
> 13


use encoding::warnings 'FATAL';
Описание слайда:
Символы и байты use utf8; # or use encoding "cp1251"; my $a = 'Привет!'; print length($a), "\n"; use bytes; print length($a), "\n"; > 7 > 13 use encoding::warnings 'FATAL';

Слайд 14





Исключения
chdir, chmod, chown, chroot, exec, link, lstat, mkdir, rename, rmdir, stat, symlink, truncate, unlink, utime, -X
%ENV
glob (<*>)
open, opendir, sysopen
qx/…/, system
readdir, readlink
Описание слайда:
Исключения chdir, chmod, chown, chroot, exec, link, lstat, mkdir, rename, rmdir, stat, symlink, truncate, unlink, utime, -X %ENV glob (<*>) open, opendir, sysopen qx/…/, system readdir, readlink

Слайд 15





Encode
use utf8;
use Encode;

my $x = 'a → b';
$x = Encode::encode(
        'windows-1251', 
        $x, 
        Encode::FB_HTMLCREF
     );
print $x, "\n";

> a &#8594; b
Описание слайда:
Encode use utf8; use Encode; my $x = 'a → b'; $x = Encode::encode( 'windows-1251', $x, Encode::FB_HTMLCREF ); print $x, "\n"; > a &#8594; b

Слайд 16





Символы
my $copy = "\x00a9";    
my $copy = "\x{00a9}";   
my $copy = pack('U', 0x00a9);
print $copy;
> ©
Описание слайда:
Символы my $copy = "\x00a9"; my $copy = "\x{00a9}"; my $copy = pack('U', 0x00a9); print $copy; > ©

Слайд 17





Регулярные выражения
my $copy = '©';
$copy =~ /\x{00a9}/;
$copy !~ /\p{Uppercase}/;
$copy =~ /\p{Other_Symbol}/;
$copy =~ /\p{InLatin-1_Supplement}/;
$copy !~ /\p{InCyrillic}/;
$copy !~ /\p{BidiClass:R}/;
Описание слайда:
Регулярные выражения my $copy = '©'; $copy =~ /\x{00a9}/; $copy !~ /\p{Uppercase}/; $copy =~ /\p{Other_Symbol}/; $copy =~ /\p{InLatin-1_Supplement}/; $copy !~ /\p{InCyrillic}/; $copy !~ /\p{BidiClass:R}/;

Слайд 18





IO
open(my $fh, "<:utf8", "file.txt");
open(my $fh, "<:encoding(UTF-8)", "file.txt");

open(my $fh, "<:encoding(cp1251)", "file.txt");

binmode(STDOUT, ":utf8");
RTFM Encode::Supported
Описание слайда:
IO open(my $fh, "<:utf8", "file.txt"); open(my $fh, "<:encoding(UTF-8)", "file.txt"); open(my $fh, "<:encoding(cp1251)", "file.txt"); binmode(STDOUT, ":utf8"); RTFM Encode::Supported

Слайд 19





LWP
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;

my $response = $ua->get("http://example.com");
if ($response->is_success) {
    my $content = $response->decoded_content;
    if (defined($content)) {
        # ...
    }
}
Описание слайда:
LWP use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $response = $ua->get("http://example.com"); if ($response->is_success) { my $content = $response->decoded_content; if (defined($content)) { # ... } }

Слайд 20





Базы данных
MySQL
$dbh->do('SET NAMES utf8');
$dbh->{mysql_enable_utf8} = 1;
PostgreSQL
$dbh->do("SET client_encoding TO 'UTF8'");
$dbh->{pg_enable_utf8} = 1;
SQLite
$dbh->{sqlite_unicode} = 1;
Описание слайда:
Базы данных MySQL $dbh->do('SET NAMES utf8'); $dbh->{mysql_enable_utf8} = 1; PostgreSQL $dbh->do("SET client_encoding TO 'UTF8'"); $dbh->{pg_enable_utf8} = 1; SQLite $dbh->{sqlite_unicode} = 1;

Слайд 21





Конвертация БД
$ mysqldump db_name > dump.sql
$ iconv -f cp1251 -t utf-8 dump.sql >
  newdump.sql
$ sed -i .bak "s/cp1251/utf8/"
  newdump.sql
$ mysql < newdump.sql
Описание слайда:
Конвертация БД $ mysqldump db_name > dump.sql $ iconv -f cp1251 -t utf-8 dump.sql > newdump.sql $ sed -i .bak "s/cp1251/utf8/" newdump.sql $ mysql < newdump.sql

Слайд 22





perl 5.12
Расширена поддержка классов и свойста символов до стандарта
Unicode 5.2.0
use charnames ':full';
print "\N{GREEK SMALL LETTER ALPHA}"
Описание слайда:
perl 5.12 Расширена поддержка классов и свойста символов до стандарта Unicode 5.2.0 use charnames ':full'; print "\N{GREEK SMALL LETTER ALPHA}"

Слайд 23





Спасибо!
Олег Алистратов
http://alienator.ya.ru
 http://clubs.ya.ru/regexp/
Описание слайда:
Спасибо! Олег Алистратов http://alienator.ya.ru http://clubs.ya.ru/regexp/



Похожие презентации
Mypresentation.ru
Загрузить презентацию