Acme-PM-Barcelona
view release on metacpan or search on metacpan
lib/Acme/PM/Barcelona/12x5_ca.pod view on Meta::CPAN
=item * l'espai ocupat a cada rèplica és de 6064 MB
=back
=head3 Com funciona?
Publicar codi al CPAN és molt senzill, tothom pot demanar un
compte al PAUSE, que és el servei que permet
fer la publicació; un cop aprovat, es poden registrar els mòduls
i publicar-los.
=head3 Els mòduls
Un mòdul és un fitxer de text que conté la definició d'un o més
paquets de Perl. Per exemple el paquet C<Acme::PM::Barcelona::Meeting>
defineix el codi que calcula quan serà la propera reunió dels mongers
de Barcelona. Aquest paquet es troba al fitxer següent dins del
directori de mòduls de Perl:
Acme/PM/Barcelona/Meeting.pm
=head3 Els paquets
Els paquets defineixen espais de noms reservats per a agrupar
trossos de codi relacionat amb un mateix tema. Aixà s'hi poden
utilitzar els noms de funcions que hom desitgi sense que això
afecti a d'altres parts del codi.
package Acme::PM::Barcelona::Meeting;
sub festival {
# ...
}
=head3 Les distribucions
Els paquets s'agrupen dins els mòduls i aquests s'agrupen en
distribucions. Una distribució no només conté el codi d'un o
més mòduls sinó que a més a més disposa dels mecanismes adients
per a fer-ne la configuració, la verificació i la instal·lació.
Les distribucions de Perl acostumen a tenir un format concret,
especialment si hom les vol publicar al CPAN.
=head3 Avantatges del CPAN
El CPAN posa a disposició dels autors que hi publiquen un gran
ventall de serveis i avantatges a canvi de què el que publiquin
sigui lliure. Alguns d'ells són:
=over 4
=item * un repositori replicat arreu del món
=item * la publicació de la documentació dels mòduls
=item * la possibilitat que els usuaris facin comentaris i anotacions
=item * un sistema automà tic de tests de versions i plataformes
=item * un servei de notificació i seguiment d'errors
=back
=head2 Tests en Perl
=head3 Perl utilitza tests des del principi
Ja des de la primera versió de Perl, un cop construït l'executable
es verifica que es comporta com cal. El codi font de Perl inclou
un gran nombre de tests de tot tipus, que no només permeten veure
objectivament que la construcció de l'executable ha anat bé sinó
que ajudaran a detectar errors en cas que passi res.
=head3 La cultura dels tests
Aquesta filosofia d'incorporar tests va quallar molt bé des de
bon començament dins la comunitat de Perl i els autors que
publicaven mòduls amb llicència lliure de seguida es van pujar
al carro dels tests, afegint-los a les seves distribucions.
=head3 Els tests al CPAN
Avui en dia és imprescindible com a mÃnim tenir 1 test que
funcioni per a poder publicar un mòdul al CPAN. Això a més
facilita que els CPAN I<smokers> (robots que executen els
tests periòdicament) puguin dedicar-se a provar tot el codi
que hi ha el CPAN sense que els autors hagin de fer molts
esforços.
Com a resultat, els autors tenen informes d'error i d'èxit
en múltiples plataformes a les quals habitualment no tenen
accés i poden veure si els canvis que introdueixen en noves
versions provoquen algun maldecap a d'altra gent.
=head3 Com es poden provar els tests?
En les distribucions basades en C<ExtUtils::MakeMaker>:
perl Makefile.PL
make
make test
En les distribucions basades en C<Module::Build>:
perl Build.PL
perl Build
perl Build test
=head2 WWW::Mechanize
=head3 Robots web
Amb Perl es poden escriure programes que naveguen per la web.
=head3 La pà gina d'inici de La Vanguardia
Aquest programa descarrega la pà gina web de La Vanguardia.
use WWW::Mechanize;
$mech = WWW::Mechanize->new;
$mech->get("http://www.lavanguardia.es");
print $mech->content;
=head3 Una cerca a Google
Aquest programa cerca la paraula "Perl" a Google.
use WWW::Mechanize;
$mech = WWW::Mechanize->new;
$mech->get('http://www.google.com');
$mech->field('q', 'Perl');
$mech->click('btnG');
print $mech->content;
=head3 L'extracte d'un compte de La Caixa
Aquest programa treu per pantalla la primera pà gina de l'extracte
d'un compte de La Caixa.
use WWW::Mechanize;
$user = 'el-teu-dni';
$password = 'contrasenya';
# fes-te passar per un iPhone
lib/Acme/PM/Barcelona/12x5_ca.pod view on Meta::CPAN
les instruccions que us indicarà aquesta ordre:
$ flickr_upload --auth
I un cop ho haureu fet, ja podreu publicar les fotos que vulgueu:
$ flickr_upload --progress --tag 'barcelona.pm' *.jpg
=head3 Programar amb Flickr::Upload
Però també es pot utilitzar des d'un programa que
permeti triar amb més flexibilitat com voleu etiquetar
les vostres fotos.
use Flickr::Upload;
$ua = Flickr::Upload->new({
'key' => $key,
'secret' => $secret,
});
$ua->upload(
'auth_token' => $auth_token,
'photo' => 'barcelona-pm.jpg',
'tags' => 'barcelona.pm',
'is_public' => 1,
'is_friend' => 1,
'is_family' => 1,
);
=head2 Codis QR
=head3 Què són?
Els codis QR s'utilitzen per a codificar informació que pugui
ser llegida i utilitzada de forma rà pida des d'un dispositiu
lector.
Es tracta d'un invent japonès per tal que es pugui llegir
informació rà pidament des dels mòbils i
es pugui utilitzar d'immediat sense haver d'escriure res, per exemple
posant-ho en un anunci d'un diari o en una pancarta al carrer, etc.
=head3 Tipus de dades
S'assemblen als codis de barres però permeten emmagatzemar
tot tipus de dades:
=over 4
=item * numèriques
=item * alfanumèriques
=item * binà ries
=item * kanji o kana
=back
=head3 Correcció d'errors
Una altra caracterÃstica interessant dels codis QR és
que permeten fer correcció d'errors si el dibuix no es veu
del tot bé. N'hi ha de 4 nivells:
=over 4
=item * L recupera el 7%
=item * M recupera el 15%
=item * Q recupera el 25%
=item * H recupera el 30%
=back
=head3 GD::Barcode::QRcode
Generar un codi QR és molt senzill:
use GD::Barcode::QRcode;
binmode(STDOUT);
print GD::Barcode::QRcode->new('http://perl.cat/')
->plot
->png;
=head3 Image::DecodeQR
Llegir un codi QR és encara més senzill:
use Image::DecodeQR;
$url = Image::DecodeQR::decode('perl.cat_qr.png');
=head2 X11::GUITest
=head3 Automatització d'interfÃcies grà fiques a X11
C<X11::GUITest> permet interactuar amb interfÃcies grà fiques
d'usuari basades en X11.
Algunes funcions interessants d'aquest mòdul:
=over 4
=item * C<StartApp> executa l'aplicació i retorna el control al
programa Perl.
=item * C<SendKeys> simula l'ús del teclat tot enviant les
pulsacions a la finestra que estigui en primer pla.
Les teclas modificadores es codifiquen amb carà cters especÃfics:
=over 4
=item ^ => CTRL
=item % => ALT
=item + => MAJ
=item ~ => ENTER
( run in 0.581 second using v1.01-cache-2.11-cpan-c966e8aa7e8 )