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

Febbraio 2014

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  

Cerca






 


« Giugno 2009 | Home | Agosto 2009 »

Italian Perl Workshop 2009 :: gli ospiti

Anche per l'edizione 2009 dell'Italian Perl Workshop che si terrà a Pisa il 22-23 Ottobre 2009 presso la prestigiosa sede del Centro Nazionale delle Ricerche, l'organizzazione ha la possibilità e l'onore di invitare personalità provenienti da tutto il mondo e di assoluto rilievo della community Perl e non solo:

  • Tim Bunce, autore dell'interfaccia Perl DBI (layer di astrazione Perl che consente di accedere ai database in maniera uniforme tramite i vari drivers) di importanti moduli CPAN (il driver DBI per Oracle, maintainer del Perl 5.4.x, Devel::NYTProf, ...), autore per l'editore O'Reilly Media ("Programming the Perl DBI") , e speaker di rilievo nelle maggiori conferenze internazionali dedicate all'Open Source. Tim ha inoltre ricevuto il Premio White Camel 2009 che riconosce i molti contributi significativi portati al miglioramento del linguaggio Perl e della sua comunità. Per saperne di più: http://blog.timbunce.org/about/
  • Mike Whitaker (Penfold) è un membro della comunità Moose e ha tenuto vari talk in altri workshop su Moose e su Perl. Mike lavora nel team del BBC iPlayer ed è uno dei fondatori della Enlightened Perl Organisation.
  • Jonathan Worthington, core developer di Rakudo Perl 6 compiler e della Parrot Virtual Machine. Per saperne di più: http://www.jnthn.net/about.shtml
  • Thomas Fuchs, creatore di script.aculo.us (famoso framework Javascript), core developer di Prototype e di Ruby on Rails. Co-autore di "Agile Web Development with Rails" (Ed. Pragmatic Bookshef) Per saperne di più: http://mir.aculo.us/
  • Amy Hoy, esperta di user interaction e product design, relatrice ad OSCON ed ad altri workshop e conferenze. Per saperne di più: http://slash7.com/about

L'evento è gratuito, è sufficiente registrarsi per partecipare. La partecipazione darà diritto all'accesso a tutti gli interventi, ai gadget degli sponsor, a 2 coffee break giornalieri, all'accesso all'asta finale ed all'attestato di partecipazione (su richiesta).

È previsto anche un biglietto Supporter, del costo di € 50, che vi consente di supportare l'organizzazione. Esso dà inoltre diritto alla maglietta, alla fattura (su richiesta), all'attestato di partecipazione "Supporter", ed alla tessera dell'Associazione Perl.It (su richiesta; ulteriori informazioni saranno presto disponibili).

I biglietti Supporter ci aiuteranno a migliorare i servizi offerti dal workshop e ad offrire in futuro eventi sempre di maggior qualità.

Iscriviti ora e/o invia una proposta di intervento

Inviato da bepi alle 13:13 | Commenti (0)

Corso di Perl a Milano

Il gruppo Milano.pm è lieto di organizzare in collaborazione con la Provincia di Milano presso il prestigioso centro Vigorelli, un corso base di Perl.

Il corso ha lo scopo di introdurre alla programmazione in Perl e di consentire ai partecipanti di scrivere e saper interpretare correttamente il codice. Le competenze acquisite consentiranno nell'ambiente lavorativo di avere facili soluzioni in tempi brevi e di
risolvere in modo facile e veloce problematiche legate:

  • All'estrazione/conversione di dati,
  • Alle verifiche funzionali (ordinarie e straordinarie),
  • Alla creazione di pagine web dinamiche (anche in ambiente MVC)
  • All'interfacciamento a db , sistema operativo, socket, etc ...
  • Alla creazione di interfacce grafiche
  • Alla portabilità fra più sistemi operativi

Per avere maggiori informazioni potere seguire questo link: Corso di Perl a Milano (Vigorelli)

Inviato da larsen alle 15:15 | Commenti (0)

White Camel Award 2009

Forse non tutti sanno che annualmente, nell'ambito di OSCON, vengono assegnati gli White Camel Award.

Nelle regioni dove vagano i cammelli, il cammello bianco e` un esemplare raro e riverito. Il Premio White Camel riconosce i molti contributi significativi portati dagli eroi non celebrati della comunita`. Gli sforzi di costoro, insieme, rendono migliori il linguaggio Perl e la sua comunità

Ora, a parte il fatto che se uno riceve il premio diventa automaticamente un eroe celebrato, dando luogo ad un paradosso logico, ecco i premiati di quest'anno, e qualcuna delle tante cose utili che hanno fatto per il Perl e la sua comunità di utenti:

Inviato da larsen alle 13:34 | Commenti (0)

Video di IPW2008 online!

Con solerzia e rapidità, siamo orgogliosi di presentarvi... ah no questo è l'incipit per un altro post. Ricominciamo. Dopo un vergognoso ritardo di un intero anno, siamo comunque orgogliosi di presentarvi i filmati degli interventi che si sono tenuti a IPW2008.

Soprassediamo sui motivi del ritardo, ma ci concediamo l'orgoglio: è bello rivedersi anche dopo quasi un anno. Quei talk ora smettono di essere solo ricordi, potete guardarli online
oppure scaricarli. Eccoli: http://yapc.tv/2008/ipw/. Anzi, ecco un esempio:

Se vi sono piaciuti, se vi hanno smosso qualcosa nel profondo, allora IPW2009 fa per voi: iscrivetevi subito.

Se poi guardando gli interventi vi fosse venuto in mente qualccosa di cui vorreste parlare o di cui vorreste sentir parlare, sempre sul sito di IPW2009 potete trovare il form per proporre il vostro intervento.

Inviato da larsen alle 01:45 | Commenti (0)

Lighting Talks all'IPW

Durante IPW2009 ci piacerebbe avere una vera e propria sessione di ligthning talks. Se non sapete di cosa si tratta, potete farvene un'idea qui:

http://www.justanotherperlhacker.org/lightning/index.shtml

Secondo me e` un banco di prova utile se avete un'idea per un intervento, ma vi scoraggia il dover preparare materiale per un talk di 40 minuti, o dubitate delle vostre qualità di speaker. Oppure se volete sfruttare IPW2009 per condividere un'idea o un progetto che si può divulgare molto brevemente.

Vi invito dunque ad inviare le vostre proposte attraverso il sito della conferenza (quando vi chiede la durata, basta spuntare l'opzione "intervento lampo")

http://www.perl.it/workshop

Inviato da larsen alle 13:39 | Commenti (0)

Breve introduzione a Moose

Quella che segue è la versione italiana dell'articolo A Gentle introduction to Moose, di Jay Kuri.
Jay lavora in Perl e con le infrastrutture di Internet dal 1994. Con la sua compagnia Ionzero è attivo nella comunity Perl, contribuendo con codice open source e nello sviluppo della comunity, compresi l'interprete Perl e il sito di Catalyst.

Se l'articolo vi è piaciuto e volete saperne di più su Moose, potete considerare l'idea di dare la vostra adesione al corso che vorremmo organizzare prima dell'Italian Perl Workshop. Il relatore sarà Dave Rolsky, maintainer del modulo Moose. Maggiori informazioni qui.
Traduzione a cura della redazione di Perl.it.

Perl, fin dal 1994 con il rilascio della versione 5, ha le caratteristiche proprie di un linguaggio orientato ad oggetti. La programmazione ad oggetti in Perl 5 è comunque in qualche modo del genere "fai da te", poiché secondo il classico stile Perl fornisce un supporto minimo incorporato nel linguaggio, e lascia che vi occupiate voi del resto.

Il maggior beneficio di questo stile "fai da te" sta nel fatto che il linguaggio impone molte poche restrizioni riguardo a come fare le cose. Per contro, ha lo svantaggio di essere in qualche modo intimidatorio verso i principianti. Ad ogni modo è diventato familiare.

Ulteriore beneficio è il fatto che queste caratteristiche sono state libere di evolversi e, dal momento che la programmazione ad oggetti non è imposta dal linguaggio, alcuni programmatori molto abili hanno avuto la facoltà di esplorare modi di fare le cose che altrimenti non avrebbero potuto essere concepiti. [Moose] è il prodotto di questa esplorazione e sta diventando rapidamente lo standard de-facto per la programmazione ad oggetti in Perl. Oggi esploreremo i fondamenti della creazione e dell'uso di oggetti con Moose.

Nella programmazione ad oggetti Perl convenzionale, ci sono tre cose principali che avete bisogno di fare. Queste sono:

  1. Creazione di oggetti
  2. Attributi e Accessor
  3. Subclassing

Condurremo un veloce esame di questi aspetti, mettendo a confronto la tecnica di Perl e quella di Moose.

Creazione di oggetti

In Perl "puro", creare un oggetto consiste nel creare una variabile e poi "blessare" un riferimento a tale variabile in una classe. Potete farlo con qualunque tipo di variabile, ma più frequentemente si fa con un riferimento ad hash. Tipicamente si fa in una subroutine chiamata 'new':

  package FooClass;
  
  sub new { 
      my $class = shift; 
      my $foo = {}; 
      bless $foo, 'FooClass'; 
      return $foo; 
  }

Questo vi mette a disposizione un oggetto, ma quasi nient'altro. Con Moose, lo si può fare in modo un po' più semplice:

   package FooClass;
   use Moose;

E basta. Moose crea la routine new() per voi. Se la vostra classe ha degli attributi, Moose si occuperà anche di gestirne la popolazione, basandosi sugli argomenti eventualmente passati.

Creare un'istanza di una classe segue la stessa convenzione del Perl "puro": semplicemente si chiama new() sulla classe. Moose, comunque, vi permette di passare i valori iniziali per gli attributi nella chiamata a new(). Per esempio:

   FooClass->new( name => 'bob' );

Si tratta di un pratico pezzettino delle funzionalità "gratuite" che avrete con Moose.

Attributi e accessor

In Perl "puro", il vostro oggetto è (di frequente) un hash e i vostri attributi sono semplicemente membri di tale hash. Spesso, agli attributi si accede direttamente:

   $foo->{name};

Questo è però disapprovato, in genere, poiché fornisce molto poca struttura e rende molto facile dichiarare gli attributi erroneamente senza volerlo. $foo->{naem} può rivelarsi un bug molto difficile da scovare. La "buona pratica" generalmente accettata consiste nel creare subroutine di accesso per le vostre variabili: questo limita chi utilizza il vostro oggetto a lavorare con gli attributi che avete creato (gli esperti di programmazione ad oggetti si riferiscono a tutto ciò dicendo "incapsulamento"). Il problema è che in Perl "puro" dovete create cose di questo tipo da soli:

   sub name {
       my $self = shift;
       if( @_ ) {
           $self->{'name'} = $_[0];
       }
       return $self->{'name'};
   }

È un sacco di codice, per avere solo get e set degli attributi di un oggetto. Per il Perl "puro", è nato un modulo CPAN per rendere le cose più facili. [Class::Accessor] rende la creazione di accessor più semplice:

   package FooClass;
   use base qw(Class::Accessor);
   
   FooClass->mk_accessors(qw(name age));

Class::Accessor crea il metodo new per voi. È chiaramente meglio che farlo a mano. A questo punto è praticamente impossibile la creazione accidentale di attributi, o l'accesso a quelli sbagliati. Non vi impedisce in alcun modo di buttare spazzatura negli attributi. Questo è perfettamente lecito:

  $foo = FooClass->new();
  $foo->name(192);
  $foo->age('cupcake');

Moose, invece, non solo fa quello che fa Class::Accessor, ma aggiunge controlli di tipo (ed altre amenità). Lo stesso oggetto creato con Moose:

   package FooClass;
   use Moose;
   
   has 'name' => (
     is => 'rw',
     isa => 'Str'
   );
   
   has 'age' => (
     is => 'rw',
     isa => 'Int'
   );
   1;

Il codice riportato sopra fornisce i medesimi metodi name() ed age() cui eravamo avvezzi. Ma se proviamo ad impostare 'cupcake' come age() otterremo un errore. Inoltre otteniamo l'abilità di dire, in sostanza, "questo attributo non può essere cambiato una volta che l'oggetto è stato creato". (Tra le altre cose, il sistema di attributi e di controllo sui tipi di Moose è estremamente flessibile e merita un articolo dedicato).

Subclassing

Nella programmazione ad oggetti il subclassing è progettato per permettere la specializzazione di una particolare classe. L'esempio classico è quello in cui avete una classe Shape che può fornire certe funzionalità, e quando vi serve una classe Square potete fare una sottoclasse aggiungendo solamente il codice che rende Square unica. In Perl "puro" fareste così:

   package Square;
   @ISA = ("Shape");
   
   # il resto della classe Square

Perl conosce le malizie per cercare i metodi nelle classi definite in @ISA, se non può trovarli nella classe Square. Funziona bene, ma non è proprio intuitivo.

Anche Moose permette di creare sottoclassi, e rende particolarmente chiaro quel che state facendo:

   package Square;
   use Moose;
   extends 'Shape';
   
   # il resto della classe Square

Piuttosto lineare.

Altre cose da Moose

Moose non fa nulla che non possiate già fare in in Perl "puro". È costruito sulle stesse caratteristiche proprie della programmazione ad oggetti che sono supportate da Perl. Si occupa, però, di un'enorme quantità di lavoro che dovreste altrimenti fare da soli, lasciandovi liberi di lavorare sulle nuove funzionalità anziché reinventare la ruota.

In questo articolo vi ho mostrato come fare le cose "normali" con Moose. A questo punto sapete usare la programmazione ad oggetti di base, e potreste cominciare a sostituire le vostre classi costruite a mano con quelle costruite con Moose.

Moose, tutto sommato, è più di un po' di sintassi furba e di stratagemmi salva-tempo. Moose possiede caratteristiche aggiuntive che rendono un piacere lavorarci. Le elencherò solamente, visto che richiederebbero un libro per essere trattate propriamente. Alcune delle caratteristiche disponibili in Moose sono:

  • Metadati di classi - la possibilità di far sì che il vostro codice esamini la struttura dei vostri oggetti
  • "Coercion" - l'abilità di convertire valori da un tipo all'altro quando è necessario
  • Modificatori di metodo - la possibilità di aggiungere codice che venga lanciato prima, durante o "attorno" un metodo esistente
  • Ruoli - l'abilità di aggiungere funzionalità pre-definite alle classi, senza crearne sottoclassi

Ce ne sono molte altre e vale la pena di esplorarle a loro volta. I ruoli sono particolarmente interessanti e forniscono una flessibilità inaudita in quasi ogni linguaggio di programmazione. Vale inoltre la pena di notare che numerose [estensioni] di Moose forniscono ulteriori funzionalità, al di là di Moose standard.

Per imparare altro su Moose, fate riferimento al [manuale]. Per altri dettagli su Moose e il rapporto con Perl "puro", controllare la versione non ancora "[sgrezzata]" del manuale.

Potete anche visitare la [homepage di Moose]. Alla fine, ho cominciato una lista di "[spigolature Moose]" sul [Wiki Catalyzed], per tenere traccia delle parti più insidiose di Moose in cui mi sono imbattuto. Ritenetevi liberi di aggiungere le vostre, man mano che scoprirete le gioie di Moose.

Inviato da larsen alle 15:26 | Commenti (0)

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