-+  Associazione
-+  Documenti
-+  Eventi
-+  Community
-+  Blog
-+  Link

Ottobre 2013

Dom Lun Mar Mer Gio Ven Sab
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Cerca






 


« Agosto 2005 | Home | Ottobre 2005 »

YAPC::EU::2005: I video dei talk

Per chi fosse interessato (e presumo tutti!) sono disponibili da un paio di giorni i video dei talk tenuti allo YAPC::EU::2005.
I video sono poco più di una ventina, molti gli argomenti interessanti anche se purtroppo sono andati "persi" alcuni interventi che sarebbe stato interessante vedere (penso a "Questions and Answers" di Larry Wall).
Ah, dimenticavo, la pagina dei video è qui (mirror 1).

Inviato da kral alle 23:28 | Commenti (0)

LDAP da Perl: si può ed è semplice

In questa puntata analizziamo un interessante, e non sufficientemente conosciuta, distribuzione di moduli Perl, e cioè quelli che permettono di utilizzare il protocollo LDAP. In particolare verrà mostrato un esempio di utilizzo del modulo Net::LDAP.

LDAP da Perl: si può ed è semplice

Se avete avuto a che fare con un Directory Server basato sul protocollo LDAP e vi è sembrato che le cose fossero più complicate del dovuto, rilassatevi, forse avevate solo sbagliato linguaggio. Quelli basati su LDAP sono database non relazionali particolarmente efficienti in lettura e vengono largamente utilizzati per mantenere dati relativi ad utenze, ad esempio di posta o di sistema, ed informazioni relative ad organizzazioni o aziende. Perl dispone di un ottimo modulo, e cioè Net::LDAP, che fa parte della distribuzione perl-ldap, che permette non solo di accedere a database online ma anche di manipolare dump di DB LDAP nel classico formato ldif, e di accedere allo schema di un database. Vedremo un breve esempio di utilizzo del modulo per creare una classe utente che si appoggi ad un LDAP per la memorizzazione dei dati, che mostrerà quanto sia semplice con poche righe di codice accedere ad un simile backend.

Il codice visbile in Listato 1 mostra il codice della classe User, da memorizzare in un file User.pm Alla linea 2 viene importato il modulo Net::LDAP. Le linee 6-26 sono il costruttore della classe che prende come parametro lo username. Dopo aver ottenuto una connessione al DB con le credenziali del caso, si esegue una query per ottenere i dati relativi all'utente, linee 14-18. La query specifica come parametri il nodo di partenza della ricerca, ricordiamo che i DB LDAP organizzano le informazioni in una struttura ad albero, lo scope della ricerca, ovvero sul nodo stesso, sui figli diretti o su tutto il sottoalbero, il filtro della ricerca che specifica condizioni sugli attributi del nodo, ed infine la lista degli attributi da recuperare, nel nostro caso non specificata. Le linee 22-23 memorizzano in uno hash tutti gli attributi dell'utente per poi inserirli in un data member dell'oggetto nelle linee successive. Infine la linea 25 crea la struttura dell'oggetto utente (su base hash) e lo "benedice", come si dice in Perl, nel tipo User o in quello di una classe derivata a seconda di come viene invocato il costruttore. Quanto riportato in Listato 2 è uno stralcio di codice applicativo che crea un oggetto della classe utente, linea 3, e lo utilizza per verificare la sua password, linee 4-5.

Lo spazio a nostra disposizione non consente di approfondire oltre, ma vi invito a sperimentare; scoprirete che l'accoppiata Perl+LDAP grazie alla bontà del modulo ed alla naturalezza con cui in Perl si utilizza LDAP è vincente.

Listato 1

 1  use strict;
 2  use Net::LDAP;
 3
 4  package User;
 5
 6  sub new {
 7      my $class = shift;
 8      my $username = shift;
 9
10      my $ldap = Net::LDAP->new('server:port', onerror => 'die') or die "$@";
11      $ldap->bind('uid=admin,ou=Admins,dc=MyCompany,dc=it',
12                  password => 'mypasswd') or die "$@";
13
14      my $result = $ldap->search(
15                         base   => "uname=$username,ou=Users,dc=MyCompany,dc=it",
16                         scope  => 'base',
17                         filter => 'objectclass=*',
18                       );
19      my $entry = [$result->all_entries]->[0];
20      $ldap->unbind;
21
22      my %attrs;
23      $attrs{$_} = $entry->get_value($_) foreach ($entry>attributes);
24
25      bless { _attrs => \%attrs }, $class;
26  }
27
28  sub check_password {
29      my $self = shift;
30      my $passwd = shift;
31      return $self->{'_attrs'}->{'password'} eq $passwd;
32  }
33
34  1;

Listato 2

1   use User;
2   ...
3   my $user = User->new("mario");
4   if ($user->check_password("test")) {
5       print "Password corretta\n";
6   ...

Inviato da larsen alle 16:03 | Commenti (1)

Linux Journal pubblica "An Introduction to perl-ldap"

Ciao a tutti.

Ricevo da Graham Barr sulla lista lista perl-ldap e riporto qui:

There is an article on linuxjournal.com about perl-ldap

http://www.linuxjournal.com/article/7086

Reading this I first thought that they got the homepage link wrong, but it seems I have not updated the docs with the new home of http:// ldap.perl.org/

I guess I will do that now :-)

Graham.

Ciao!
--bronto

Inviato da bronto alle 12:39 | Commenti (0)

Ellenic Perl.It

Perl alla conquista del mondo antico!

Quest'estate ho attaccato (e poi ovviamente staccato) il mitico adesivo di Perl.It a vari monumenti in Grecia, nonché alla mia tenda, ispirandomi al "lavoro" di davidebe nella Piazza Rossa. ;-)

Le immagini che vedete qui sono dei "ritagli" ma cliccando potete ammirare il monumento intero.

Chi è in possesso di adesivi è incoraggiato fare altrettanto, ma mi raccomando staccateli a foto scattata!!! I membri di Perl.It non sono conosciuti come deturpatori di monumenti. ;-)

Inviato da arthas alle 12:07 | Commenti (0)

IGSuite 3.1.9. Released

Salve a tutti,

è con piacere che vi annuncio il rilascio dell'ultima release di IGSuite, la 3.1.9.

Potete leggere l'annuncio ufficiale e avere maggiori informazioni su www.igsuite.org

[LucaS]

Inviato da LucaS alle 15:57

The State of the Onion 9

Larry Wall durante il talk È (finalmente) disponibile su perl.com la trascrizione del nono State of the Onion, il tradizionale talk di Larry Wall sullo stato dell'arte del Perl, tenuto alla OSCON di O'Reilly, a Portland quasi due mesi fa.

La lettura è piacevole come al solito, intensa come o forse più del solito. Anche solo guardare le figure vi regalerà sicuramente qualche minuto di godimento :-).

Lo sguardo di Larry abbraccia e illumina il passato, il presente e il futuro del Perl - e un po' anche il nostro. Uno sguardo brillante, lucido e appassionato che, non mi vergogno a dirlo, commuove.

Ma non vi trattengo oltre, andate pure a leggere e buon divertimento.

cheers,
Aldo

Inviato da dada alle 12:03 | Commenti (0)

Perl Best Practices - Recensioni

Pubblichiamo due recensioni di "Perl Best Practices", di Damian Conway. Le recensioni, di Daniele Radogna e Stefano Rodighiero, si possono discutere nei commenti a questa entry.

Inviato da larsen alle 16:21 | Commenti (4)

Reinhard Voglmaier recensisce "Advanced Perl Programming"

Reinhard Voglmaier, apprezzato speaker all'Italian Perl Workshop e OpenLDAP hacker :-) ha recensito la nuova edizione di Advanced Perl Programming per Unix Review. La trovate qui.

Ciao
--bronto

Inviato da bronto alle 11:29 | Commenti (0)

POD2::IT 0.09

Il team di pod2it è lieto di annunciare una nuova release di POD2::IT disponibile su CPAN .

CHANGES FROM PREVIOUS VERSION

+ Added perlunicode.pod translation [dakkar]
+ Added resources/podenc.pl script in order to 
  encode italian characters with E<> sequence [dakkar, bepi]
! Updated E<> pod entities [bepi]
! Updated IT.pm pod documentation [bepi]
! Fixed Changes and README typos [bepi]

Inviato da bepi alle 12:15

YAPC::Europe 2005 - asta e conclusioni

Prima dell'asta, l'annuncio di dove si terrà la prossima YAPC. E prima ancora, premiazione agli organizzatori di questa. L'anno prossimo: Birmingham. L'annuncio è accompagnato da un filmino stile muto, che spero sia disponibile in rete, perché merita di essere visto.

Comincia l'asta: Greg banditore, Avery ai conteggi, ambs ai soldi. Battuti:

  • il flimino di cui sopra,
  • svariati libri, alcuni firmati,
  • i fogli usati da Gloria per il suo talk,
  • il permesso a acme di continuare a vestirsi di arancione,
  • un naso da clown, di plastica rossa (per €50!),
  • magliette, di cui una "speciale" per €500,
  • cappellini arancio firmati,
  • il "middle name" del nascituro figlio di Jellyfish
  • due posti a una cena in Londra organizzata da Greg,
  • una bottiglia di Porto,
  • la lingua del discorso di apertura della prossima YAPC::Europe: Giapponese con "sottotitoli" in Morse,
  • un ombrellone con le firme di tutti gli speaker (preso io!),
  • una targa di automobile, zona Braga,

La maglietta speciale dovrebbe avere un'immagine del ministro dell'informazione dell'Iraq che dice "pugs has always been in the Perl6 timeline, ah yes. The Python infidels are already surrendering"

Tra le magliette, quella fatta firmare da parecchia gente a Ferrara (ICJ), e alcune avanzate da IPW 2004 e 2005.

Il totale dell'asta è stato di circa €7200.


Micro-talk di chiusura: i sette stadi degli organizzatori di YAPC. Almeno le slides sono da lasciare ai posteri.

Inviato da dakkar alle 20:01 | Commenti (0)

YAPC::Europe 2005 - terzo pomeriggio

Pomeriggio dedicato alle GUI: Trelane su CamelBones, e Gabor su GTK+2.
CamelBones è migliorato molto dagli inizi, e se Apple non rifrulla tutti gli entry-point (di nuovo) dovrebbe essere perfino compatibile in avanti (indietro non c'è verso: tra 10.2 e 10.3 è cambiata troppa roba).
GTK-Perl usa la stessa API di GTK+2 in C, per cui la documentazione consiste quasi tutta in "guardate quella C". Gabor ha messo insieme tutti i tutorial e esempi che ha trovato e li ha impacchettati in un'applicazioncina (la trovate sulla sua homepage).

Inviato da dakkar alle 17:23 | Commenti (0)

YAPC::Europe 2005 - terza mattina

Ligthning talks again!
David Dorward su come installarsi il validatore del W3 sulla propria macchina (è in Perl); johnpc su un modo per scrivere sotto-sopra usando alcuni caratteri nel repertorio Unicode; h.merijn brand mostra che ci si possono fare anche dei JAPH; Will Whittaker su Apache2::Protocol::ESMPT e Apache2::Throttle; Anthony Fisher su un metodo di organizzare le cose da fare; Abigail sulle stranezze di 'print (...)' e parenti; Smylers su come girare soldi britannici verso la Perl Foundation, fondando un ordine professionale; Martin Vorlaender sulla generazione di codice; Anton Berezin mostra come creare un port per BSD di un modulo Perl in 5 minuti; domm e altri (io incluso) hanno parlato dei vari Workshop, e invitato altri a organizzarne.
Poi una sorpresa: Gloria Wall ha presentato "10 things about Larry". Da vedere.
Seguono vari "award": NJAPHs presentati da David Adler (dha), anche se in effetti nessuno è stato nominato. Poi ambs premia il miglior articolo negli atti della conferenza: SureSpell di Paul Johnson, visto che era in pratica l'unico attinente al tema della conferenza. Il premio per le donne del Perl (il galletto simbolo della regione) è andato a Allison e Gloria. Infine acme (e clkao anche se sta ancora dormendo) presentano gli "White Onion Awards": una cipolla a Mark Overmeer, una a Marcus Ramberg, e una a Simon Cozens; e un barattolo di cipolle sott'olio agli organizzatori. Altro che acme poteva pensare una cosa del genere...La sorpresa del giorno: sessione di domande con Larry. Anche se nessuno riesce a pensare a domande da fare... alla fine parla della migrazione P5-P6 e delle differenze di apprendibilità tra i due linguaggi, cosa succederà a CPAN, qualche idea sul futuro di POD, e varie altre chiacchiere.
Abigail tiene un talk (a dire il vero un po' noiosetto) sugli oggetti "a rovescio" (inside-out), arrivando al suo modulo Lexical::Attributes. Carino, ha un problema grosso (e qualche altro piccolo): è un source filter. No mi fido dei source filters. Per ottenere lo stesso effetto preferisco usare Class::Std (di Damian).

Inviato da dakkar alle 13:45 | Commenti (0)

YAPC::Europe 2005 - secondo pomeriggio

Riprendiamo con Leo che racconta lo stato attuale di parrot: stanno lavorando bene, hanno eliminato un bel po' di sporcizia, aggiunto astrazioni comode, e fatto qualche benchmark: minimo minimo, sono 4 volte più veloci di Perl/Python attuali. Peccato che le metriche fossero piuttosto sospette: contava il numero di opcode eseguiti al secondo, ma la "dimensione" degli opcode cambia parecchio da Perl a Parrot. Boh.
Poi Christian Aperghis-Tramoni ha mostrato come abbia usato Parrot per insegnare la programmazione in assembler al primo anno del corse di informatica a Marsiglia. Non ho capito bene con che gente abbia a che fare: ha detto che sono troppo giovani per sapere che cosa sia un compilatore o un linker, che non sanno bene cosa sia un while o un if... spero che il problema sia stato nella traduzione (pensa in francese). Spero.
Poi il talk "a kick in the monads". Marty è un genio per i titoli. Peccato che spiegare (anche brevemente) le monadi richiede ben più di 20 minuti...
Dopo l'immancabile pausa per caffé e/o dolcetti, acme ha presentato il suo Devel::ebug, in pieno stile acme: sfondi arancio, grida dal pubblico...
Paul Johnson ha introdotto Devel::Cover (non ho seguito molto: lo stavo usando per i miei moduli ;-) ).
Dopodiché clkao (mr. svk) ha parlato di RunApp per le applicazioni Web. Non sono sicuro di aver capito bene, ma in pratica serve per mandare in giro un tar con dentro tutti i pezzi che servono, e lui si occupa di tirare su e giù eventuali demoni (ovvero, apache).
Johnson torna a parlare di Devel::Cover, uso avanzato: come scegliere quali file controllare, come usarlo con mod_perl, e come integrarlo con gcov per controllare la copertura anche delle parti in C/XS.

Inviato da dakkar alle 18:10 | Commenti (0)

YAPC::Europe 2005 - seconda mattina

Lightning talks! BooK con i suoi nomi di variabile (Acme::MetaSyntactic); Sébastien Aperghis-Tramoni su un bel modulo di tracing (Devel::SimpleTrace) per avere dei trackback stile Java, e su come cercare roba in CPAN; di nuovo BooK su come ha generato le slides; Salvador Fandino su un modulo che nasconde la Trasformata di Schwartz; Alexandre Martins de Carvalho su come migliorare l'accessibilità del Web per i ciechi, specie usando SmartProxy; Casiano Rodriguez-Leon ha parlato un po' di parser; cog ha messo su una specie di mini-recita sui "Perl Ninjas"... spero solo che di questo ci sia il video: dovete vederlo; Miguel Duarte su come parsare record a lunghezza fissa; e infine BooK sulla storia delle aste alle YAPC passate, specie per quanto riguarda le "follie": da vedere il modo con cui si sono scusati per le magliette di quest'anno.
Seguono gli interventi di formato più "rilassato".
domm ha parlato di 'use' e tutto quello che succede "dietro la quinte".
Coffe break, durante il quale domm mi chiede di preparae qualche foto e 1 minuto di chiacchiere su IPW: si sta preparando un lightning talk per domani.
Poi un talk su Tangram: sembra molto interessante, in quanto implementa una mappatura object/relational guardandola più dal lato della persistenza di oggetti invece che dal lato SQL. Ci dovrò dare un'occhiata, come alternativa a Class::DBI quando non ho vincoli sul DB. Notare che questo talk è su Tangram 3, non la versione 2 disponibile su CPAN.
jonasbn parla di Module::Build e di come lo si possa estendere per usi particolari.

Inviato da dakkar alle 13:30 | Commenti (4)

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google