Categoria ‘Sviluppo’


ActionScript 2.0: usare al meglio setInterval()

Esistono due modalità di usare l’utilissima funzione setInterval() in ActionScript 2.0:

1
setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number

Questa è quella più usata, almeno la prima che la si prova, inoltre ricorda (è praticamente identica) l’omonima funzione Javascript (tutti ECMA). Questa modalità è anche semplice da ricordare e richiede poche righe di codice – nome funzione, numero di millisecondi, …

Tuttavia, quando smettiamo di fare prove e passiamo a sviluppare un progetto consistente, la modalità sopra esposta può risultare scomoda, soprattutto quando viene eseguito il codice della nostra funzione.

Un’alternativa inizialmente più onerosa è usare questa modalità:

1
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number

In questo caso passiamo alla funzione setInterval() un oggetto e non più un “puntatore” ad una funzione. Il secondo parametro, in questo caso, è il nome (è una Stringa) del metodo da invocare nell’oggetto passato. Il resto è uguale… Il vantaggio è immediatamente visibile in questi due esempi:

ESEMPIO 1

1
2
3
4
function miaFunction() {
    trace("Hi, world, this="+this);
}
var i:Number = setInterval(miaFunction, 1000);

ESEMPIO 2

1
2
3
4
5
var obj:Object = new Object();
obj.miaFunction = function() {
    trace("Hi, world, this=" + this);
};
var i:Number = setInterval(obj, "miaFunction", 1000);

L’esempio 1 funzionerà parzialmente, nel senso che il puntatore this sarà undefined. L’esempio 2, invece, porta come contesto (this) l’oggetto obj che gli abbiamo passato! Questo può risultare estremamente utile in quanto ci permette di aggiungere – a piacere - metodi e – soprattutto - proprietà all’oggetto obj, così da poter accedere a queste informazioni dalla nostra funzione (o metodo) chiamata da setInterval(). Ad esempio:

1
2
3
4
5
6
var obj:Object = new Object();
obj.miaProperty = 64738;
obj.miaFunction = function() {
    trace("Hi, world, miaProperty=" + this.miaProperty);
};
var i:Number = setInterval(obj, "miaFunction", 1000);

Se preferiamo questo metodo, cioè preferiamo non rimanere senza un this valorizzato, siamo necessariamente costretti a creare un oggetto? Assolutamente no! Partendo dal presupposto che il livello principale (_root o _level0) è un oggetto che si comporta da contesto globale (o principale) quando inseriamo ad esempio del codice nel primo fotogramma, possiamo sfruttare questo puntatore per ottenere un comportamento ” ad oggetti” senza crearne nessuno; perchè creare un nuovo oggetto quando ce nè uno già bello è pronto?!
Ecco come scrivere l’esempio 1 in modo assai migliore:

1
2
3
4
function miaFunction() {
    trace("Hi, world, this=" + this);
}
var i:Number = setInterval(_root, "miaFunction", 1000);

Di sonseguenza:

1
2
3
4
5
function miaFunction() {
trace("Hi, world, miaProperty=" + this.miaProperty);
}
_root.miaProperty = 53280;
var i:Number = setInterval(_root, "miaFunction", 1000);

Continua...

Ajax Frameworks

È uscita un’interessante indagine sulla quantità (non parliamo certo di qualità) di strumenti Ajax, in particolare Frameworks, che sono stati sviluppati in quest’ultimi anni, sia come puro Javascript lato Client che strati più ingegnerizzati lato Server; la pagina originale, in continuo aggiornamento, potete trovarla qui su Google Spreadsheet. La ricerca parte da AjaxPatterns dove sono stati elencati tutti i Frameworks presi in esame.
Come sottolinea l’autore (210 Ajax Frameworks and Counting) i dati non sono precisi al millesimo, quindi prendiamoli come indicativi, tuttavia forniscono qualche dato curioso.

Javascript puro – lato client 

Flash 3
Specialised 3
Logging 5
Graphics and Effects 6
XML 6
Remoting 19
Multipurpose 37
Totale 79

Sul fronte del puro Javascript è interessante notare il 19 di Remoting, che dimostra una forte attenzione per la tecnica Ajax in senso stretto, quindi a librerie che si sono concentrare nell’uso del controllo XMLHttpRequest.  I Multipurpose, evidentemente, sono i preferiti, in quanto garantiscono l’inclusione di un unico pacchetto che – in teoria – fa un po’ tutto.

Pure Javascript

Eiffel 0
Ruby, 4D, C#, Lisp, Tcl, Smalltalk 1
Perl, Lotus Notes 2
Coldfusion 4
Python 5
Multi-Language 11
C++, DotNet (+ASP) 19
PHP 38
Java 44
Totale 229

Sul fronte Server anche le grandi software house e i colossi informatici si sono davvero sbizzarriti ultimamente, infatti Java vince su tutti! Tuttavia il popolo di Internet risponde con PHP, open source per eccelenza. Microsoft e affini si trovano quindi dietro PHP con le tecnologie .NET etc…

Mi sono preso la briga di linkare le varie categorie così potete vedere i dati aggiornari ed avere anche un commento sui singoli Frameworks elencati. Uno sguardo può essere interessante ed istruttivo.

Continua...

BlogBabel Rank WordPress Plugin

Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi

Sotto consiglio di P|xel ho creato un Plugin per WordPress dell’antipixel di BlogBabel, così da poterlo usare in modo standard. Visto che a P|xel gli sono venute in menu alcune modifiche interessanti, passo a lui il testimone.

  • Download BlogBabel Rank Plugin 1.0 (blogbabelrank.zip)

Installazione
All’interno del pacchetto zip è presente un solo file (blogbabelrank.php). Copiare questo file sotto la classica cartella wp-content/plugins ed attivarlo.
Il codice da inserire in WordPress (nella sidebar o altrove) è il seguente:

1
 wp_blogbabelrank("undolog");

Al posto di “undolog” inserite il vostro codice identificativo recuperandolo dalle vostre statistiche di BlogBabel.

Continua...

DreamHost: CURL e BlogBabel Rank Down

Che succede? Internet impazzisce? MyBlogLog emette pagine di Yahoo! Bravi, molto probabilmente le voci su una loro acquisizione erano più che fondate!

Ma quello che mi interessa è sottolineare quanto la rete 2.0 sia fragile, almeno per noi comuni blogger. Da ieri, infatti, sono stati riscontrati dei problemi con il BlogBabel Rank che ho realizzato. Cosa è successo? Il servizio viene fornito da undolog.com, che è posizionato su un Web Server di DreamHost. Da ieri, senza avere spiegazioni sensate dall’assistenza tecnica, il sito di BlogBabel(http://it.blogbabel.com) non è più raggiungibile dai server DreamHost!!

Ho dovuto, quindi, spostare temporaneamente i file di servizio su un altro Hosting, in particolare su un mio altro dominio (http://www.e-lementi.com).

All’inizio pensavo fosse un problema di librerie curl/php, quelle usate per “catturare” il rank di BlogBabel. Ma poi – insieme all’assistenza tecnica di DreamHost – mi sono reso conto che solo BlogBabel era irrangiungibile (e forse qualcun’altro), come se fosse stato “bannato” dai Web Server di DreamHost. Lo stesso identico codice, infatti, funzionava fino a qualche giorno fa e continua a funzionare sui server di HostingVirtuale – il provider del dominio di salvataggio che ho dovuto usare.

Morale di questa orrenda favola è che fino a quando DreamHost non “sbanna” la connessione verso BlogBabel (e chissà a quanti altri domini) dovrò lasciare i servizi su HostingVirtuale! Tuttavia per chi utilizza il BlogBabel Rank non cambia nulla!! Ho “patchato” tutto e re-diretto verso HostingVirtuale, quindi tranquilli.

Comunque non fornirò mai più un servizio a nessuno finchè non cambierò Hosting!! ;)

Continua...

Come nasce un Antipixel: storia di BlogBabel Rank

Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi

Voglio raccontarvi come è nato l’antipixel di BlogBabel, le tecniche di programmazione utilizzate e il prezioso contributo, diretto e indiretto, di voi Blogger, che ha reso tutto questo particolarmente divertente! ;)

Continua...

BlogBabel Rank: non intrusivo

Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi

In questo cosa il non intrusivo non si riferisce a particolari tecniche Javascript, anzi! Sempre per questioni legate alla compatibilità (ringrazio ancora Gioxx per il testing e feedback), ecco un’ulteriore metodo per installare l’antipixel di BlogBabel anche sui Blog che intercettano caricamenti di script e quant’altro:

1
2
3
<!-- BlogBabel Rank -->
<img alt="BlogBabel Rank - by undolog.com" src="http://www.undolog.com/bbrank/[blog]"/>
<!-- BlogBabel Rank -->

Ottenendo

BlogBabel Rank

Se volete potete anteporre anche il link a BlogBabel o alle vostre statistiche complete:

1
2
3
4
5
<!-- BlogBabel Rank -->
<a target="_blank" href="http://it.blogbabel.com/metrics/[blog]">
<img border="0" alt="BlogBabel Rank - by undolog.com" src="http://www.undolog.com/bbrank/[blog]"/>
</a>
<!-- BlogBabel Rank -->

O più semplicemente:

1
2
3
4
5
<!-- BlogBabel Rank -->
<a target="_blank" href="http://it.blogbabel.com">
<img border="0" alt="BlogBabel Rank - by undolog.com" src="http://www.undolog.com/bbrank/[blog]"/>
</a>
<!-- BlogBabel Rank -->

Questa tecnica rende l’antipixel di BlogBabel del tutto simile al metodo usato da Feedburner… ;)

Continua...

BlogBabel Rank: immagine senza script

Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi

Ulteriore miglioramento grazie ad una scambio mail con Gioxx per eliminare anche l’uso di uno script. Con questo semplice codice e grazie al servizio fornito da tools.blogflux.com è possibile visualizzare il Rank di BlogBabel direttamente dal un link ad un’immagine! Questo dovrebbe risolvere le maggiori incompatibilità tra i vari blogger:

1
2
3
<!-- BlogBabel Rank -->
<img alt="BlogBabel Rank - by undolog.com" src="http://www.undolog.com/services/bbroimage.php?blog=[blog]"/>
<!-- BlogBabel Rank -->

Per determinare il vostro codice da sostituire a [blog] vedi qui

Continua...

BlogBabel Rank versione immagine

Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi

Ho realizzato l’antipixel per BlogBabel anche in versione immagine! Grazie ad uno dei servizi offerti da tools.blogflux.com è ora possibile visualizzare il proprio Rank BlogBabel anche in GIF. Il codice da usare è il seguente:

1
2
3
<!-- Start BlogBabel Rank -->
<script language="javascript1.2" type="text/javascript" src="http://www.undolog.com/services/bbrimage.php?blog=[blog]"></script>
<!-- End BlogBabel Rank -->

Come sempre sostituite a [blog] il vostro codice. Questa versione NON richiede Flash! Tuttavia permette la visualizzazione dello sfondo rosso o verde a seconda del miglioramento del Rank. Ovviamente non è disponibile il menu contestuale come nella versione Flash. A voi la scelta e buon antipixel a tutti ;)

Continua...

BlogBabel Rank patch: compatibilità W3C e Internet Explorer

Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi

Per risolvere l’attivazione del controllo su Internet Explorer e migliorare la validazione W3C ho modificato – e reso più semplice – l’installazione dell’antipixel BlogBabel Rank. Il nuovo codice da usare è:

1
2
3
<!-- Start BlogBabel Rank -->
<script language="javascript1.2" type="text/javascript" src="http://www.undolog.com/services/bbrjs.php?blog=[blog]"></script>
<!-- End BlogBabel Rank -->

Sostituite [blog] con il solito codice fornito nelle metriche di BlogBabel.

Continua...

BlogBabel Rank 1.2

Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi

  • Corretta label "Blogbael" in "Blogbabel" – grazie Alex per avermelo fatto notare
  • Aggiunta visualizzazione Valore Attuale, Valore Massimo e Valore Minimo, questi corrispondono all’elenco mostrato sulla classifica generale, tipo:

Per rispondere a Tommaso Tessarolo che scriveva:

Perché non fai anche altri 2 antipixel uno per la classifica senza categoria e l’altro per quella senza blog commerciali. L’ideale sarebbe avere un 4 antipixel omnicomprensivo: generale, non commerciale, senza categoria + trend (up o down) sullo stile di quelli di shiny stats

Purtroppo attualmente su BlogBabel non è possibile visualizzare in modo immediato un blog in una particolare categoria. In pratica se si va sul sito di BlogBabel e si seleziona ad esempio "Solo i blog senza categoria", quello che si ottiene è una lista-paginata di Blog, dal primo al  centesimo, senza tuttavia avere la possibilità di chiedere al sistema "fammi vedere undolog in che posizione risulta in questa categoria"… mentre per le metriche standard è possibile scremare per blog, per le altre si ottengono solo liste paginate. In pratica solo chi risulta tra i primi 100 sarebbe rintracciabile, ma per il centunesimo blog in poi, bisognerebbe eseguire una ricerca per tutte le pagine… cosa assai troppo "arzigogolata"!!

Dovrei contattare i responsabili di BlogBabel e chiedere l’attivazione di qualche filtro o pagine speciali realizzate appositamente per l’antipixel… cosa che tuttavia in futuro non è detto che non sia possibile ;)

Continua...



Stop SOPA