Moderní Perl

Transkript

Moderní Perl
14.5.2014
Moderní Perl
LUKÁŠ RAMPA
14.5.2014
Historie
verze
◦ Perl 5 x Perl 6
◦ roční cyklus od 2010 (5.12), 5.20 letos v květnu
zhruba kolem 5.10 (2007, 20. narozeniny Perlu)
začátek Moderního Perlu
rozšíření core syntaxe
propagace čistého stylu programování
1
14.5.2014
Úspěšná použití
booking.com
duckduckgo.com
builtinperl.com
CPAN
Comprehensive Perl Archive Network
MetaCPAN
CPAN testers
rt.cpan.org
cpan / cpanm
2
14.5.2014
Moduly – kam s nimi?
instalace do system Perlu
instalace do ~/perl5
◦ local::lib
instalace do ./local
◦ carton
perlbrew
DBIx::Class
ORM
staví nad DBI/DBD
databázi lze generovat z tříd, třídy lze generovat z
databáze
překlad hodnoty sloupce za letu (např. konstrukce
objektů, formátování, konverze jednotek)
3
14.5.2014
DBIx::Class - result class
package MyApp::Schema::Result::Artist;
use base qw/DBIx::Class::Core/;
__PACKAGE__->table('artist');
__PACKAGE__->add_columns(qw/ artistid name /);
__PACKAGE__->set_primary_key('artistid');
__PACKAGE__->has_many(
cds => 'MyApp::Schema::Result::CD', 'artistid');
1;
DBIx::Class – práce s API
my @all_artists = $schema->resultset('Artist')->all;
foreach $artist (@all_artists) {
print $artist->name, "\n";
}
my $all_artists_rs = $schema->resultset('Artist');
my $first_artist = $ all_artists_rs->next;
4
14.5.2014
Moose
inspirováno Perlem 6
objekty konečně "správně„
staví na Class::MOP – Meta Object Protocol
role, modifikátory metod, datové typy
ekosystém pluginů (MooseX::*)
Moose
package File;
use Moose;
has path
=> ( is => 'ro' );
has content
=> ( is => 'ro' );
has last_mod_time => ( is => 'ro' );
sub print_info {
my $self = shift;
print "This file is at ", $self->path, "\n";
}
5
14.5.2014
Moo
subset funcionality Moose
API je kompatibilní
nevyžaduje kompilátor
rychlejší
PSGI/Plack
PSGI (Perl Web Server Gateway Interface)
◦ sjednocené rozhraní mezi web aplikací a serverem
Plack - implementace PSGI
6
14.5.2014
PSGI/Plack Hello World
plackup -e 'sub {
[
200,
["Content-Type" => "text/plain"],
["Hello, world!"]
]
}'
Web frameworky
Catalyst
Dancer
Mojolicious
struktura adresářů
podpora šablon (Template::Toolkit a další)
práce s databází
atd.
7
14.5.2014
Dancer – Hello World
#!/usr/bin/env perl
use Dancer;
get '/' => sub {
"Hello World!"
};
dance;
Dancer - ajax
ajax '/getloadavg' => sub {
return {
timestamp => time(),
loadavg
=> ( Unix::Uptime->load )[0],
};
};
{
"loadavg":"0.00",
"timestamp":1400061381
}
8
14.5.2014
Kultura testování
slušné aplikace jsou pokryty automatickými testy
množství modulů pro podporu samotného psaní
testů
Test Anything Protocol
Informační zdroje
perl-tutorial.org
Modern Perl by chromatic
(http://onyxneon.com/books/modern_perl/)
Perl maven (http://perlmaven.com/)
9
14.5.2014
Komunita
irc.perl.org
Perl Mongers
◦ plzen.pm.org, brno.pm.org, hradeckralove.pm.org
Perl Workshops
YAPC
Czech Perl Workshop
http://act.yapc.eu/czpw2014/
20. a 21. května 2014 v Praze
Community day (Perl technologie, Budoucnost)
Professional day (vývoj v oboru...)
10

Podobné dokumenty

Práce s databází

Práce s databází b) Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti ......................2 c) Typ 3 připojení prostřednictvím vrstvy aplikačního serveru ...................................

Více

PDF

PDF Django je vyspělý webový framework napsaný v jazyce Python, který podporuje rychlý vývoj a čisté, pragmatické konstrukce. Je založený na modelech šablonách, a pohledech Má bohaté databázové API

Více

CPAN, tvorba a šíření softwaru v jazyce Perl

CPAN, tvorba a šíření softwaru v jazyce Perl Varianta A je tradiční, B je v Perlu relativně nová, má ještě mouchy, pomalu se však začíná prosazovat.

Více

1. Co je blekko?

1. Co je blekko? určitě ještě dal vylepšit. Hezkým příkladem může být vyhledávač DuckDuckGo. Ten se taktéž soustředí na ochranu uživatelova soukromí a na filtraci spamu. A stejně jako blekko výsledky svých vyhledáv...

Více

Vyhledávače a portály

Vyhledávače a portály Světové vyhledávače: www.google.com, www.alltheweb.com, www.bing.com, www.altavista.com, www.excite.com, www.yahoo.com, www.duckduckgo.com , www.lycos.com, www.ask.com ....... České vyhledávače: ww...

Více

PSK2-11 DNS a WHOIS -

PSK2-11 DNS a WHOIS - Ing. Marek Nožka Anotace: Jak funguje DNS, vyhledávání v DNS a Whois Vzdělávací oblast: Informační a komunikační technologie Předmět: Počítačové sítě a komunikační technika (PSK) Tematická oblast: ...

Více

Zobrazit nápovědu v souboru

Zobrazit nápovědu v souboru Kapitola 1: O prostředí Adobe AIR Prostředí Adobe® AIR® je víceobrazovkový běhový modul pro více operačních systémů, pomocí něhož můžete využít své stávající znalosti v oblasti vyvíjení webů při vy...

Více

User`s manual, version 2.1 -

User`s manual, version 2.1 - Počátky projektu DoudouLinux ........................................................................ 27 Article table of contents .....................................................................

Více

Kulturní přehled za rok 2010

Kulturní přehled za rok 2010 6. července 2010, Žirovnice a 8. července 2010, Třeboň Izraelská klarinetistka Shirley Brill společně s klavíristou Jonathanem Anerem a cellistou Julianem Arpem vystoupila 6. července v 19:00 hodin...

Více

Analytické nadstavby GIS pro územní plánování

Analytické nadstavby GIS pro územní plánování a běžné lidi by se mohlo územní plánování stát efektivnějším. V práci bylo popsáno několik aplikací. Každá má své nesporné výhody, ale také nevýhody. Žádné ze zmíněných programových řešení není opt...

Více