Archivio marzo, 2010

Come applicare la tecnica del Chroma Key in Adobe Flash

La tecnica del Chroma Key, cioè la sostituzione di un determinato colore con un altro (o una diversa sorgente), è riesplosa nell’ultimo decennio con notevole prepotenza, grazie alla sempre più diffusa tecnologia presente nel cinema e nel trattamento di immagini digitali.

Continua...

Very short trick: rendere invisibili i commenti HTML

Commentare codice HTML è una prassi durante le prime fasi di sviluppo Web. Tuttavia il codice commentato rimane visibile all’interno della pagina, anche se viene ignorato dal browser. Selezionando “Visualizza Sorgente” o “Visualizza Codice” dal nostro browser, saremo sempre in grado di vederlo.

Continua...

Very short snippet: come identificare le chiamate Ajax in PHP

Quando si costruisce un Gateway Ajax, cioè un file che viene richiamato dall’oggetto XmlHTTPRequest Javascript, si può involontariamente creare un tunnel per intrusioni non gradite. Essendo infatti un file come gli altri, posizionato sul nostro server, risulta raggiungibile anche dalla barra indirizzi del browser.

Continua...

10,000 WP Thanks

WP Bannerize
Un bel record e una bella soddisfazione!

Continua...

setAnimationDidStopSelector: usi diversi ed avanzati

Nella maggioranza dei casi, o perchè siamo abituati o perchè l’abbiamo visto in tutorial e in alcuni testi, utilizziamo il setAnimationDidStopSelector in questa maniera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(removeView)];
 
myView.alpha = 0;
 
[UIView commitAnimations];

//

- (void) removeView {
    [myView removeFromSuperview];
}

Nel codice sopra esposto la setAnimationDelegate imposta self come delegato e tramite la setAnimationDidStopSelector gli invia un messaggio removeView quando l’animazione è terminata. Il codice è di per sé corretto, tuttavia fa uso di una definizione di messaggio (removeView) che potrebbe essere omessa. Guardate adesso lo stesso codice, con il medesimo effetto, senza il messaggio removeView:

1
2
3
4
5
6
7
8
9
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:myView];
[UIView setAnimationDidStopSelector:@selector(removeFromSuperview)];
 
myView.alpha = 0;
 
[UIView commitAnimations];

La cosa interessante di questo approccio è che myView potrebbe essere una sottoclasse di una UIView! Potrebbe quindi essere una nostra classe personalizzata con propri messaggi ed, nel modo esposto, tranquillamente richiamabile da setAnimationDidStopSelector. Inoltre, la setAnimationDidStopSelector accetta selettori con parametri:

1
2
3
4
5
6
7
8
9
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:myView];
[UIView setAnimationDidStopSelector:@selector(myMessage:param1:)];
 
myView.alpha = 0;
 
[UIView commitAnimations];

Questo esempio può essere esteso a tutti qui casi dove impostiamo un delegato che, atro non è, che un puntatore ad un’istanza di un oggetto qualsiasi.

Continua...

WP CleanFix 0.3.0 beta release

WP CleanFix è un Plugin per WordPress (compatibile anche con WordPress MU – finchè esisterà questa distinzione) che ho scritto per ottimizzare, manutenere, pulire e sistemare il nostro Database WordPress.

WP CleanFix

Continua...

WP Bannerize 2.4.1

Era un po’ che volevo segnalarlo, visto che WP Bannerize sta per raggiungere quota 10.000 Download! Ma il tempo – ultimamente – è davvero tiranno!

WP Bannerize Download

Continua...


Stop SOPA