L’operazione aritmetica modulo

Sabato 31 Maggio, 2008

Il "modulo" è una delle operazioni aritmentiche disponibili su praticamente tutti i linguaggi di programmazione (l'ho usato la prima volta con il Basic del Commodore 64). Può comparire come semplice operatore, come nel caso di Actionscript o Javascript che usano entrambi il carattere "percento" (a % b), o come metodo o istruzione. Per gli sviluppatori può risultare utile in contesti apparentemente diversi tra loro. Gskinner ne ha parlato poco tempo fa, mostrando alcuni classici, ma interessanti, esempi.

Semplificando, l'operazione modulo tra due numeri restituisce il resto della loro divisione. Per completezza diciamo che l'operazione di modulo è un argomento assai vasto, che ho trattato anche in La cifratura RSA! Questa volta, tuttavia, non parleremo di codici o cifrature, ma di cose utili e molto più semplici.

Divisibile per... alternare

Il primo uso che possiamo fare dell'operazione di modulo è quella di determinare se un numero a è divisibile per un numero b! Se il risultatto di a % b(userò qui la notazione % per indicare l'operazione di modulo) è zero, a è divisibile per b. Ricordo che quando ebbi a che fare con un problema simile non conoscevo l'operazione di modulo. Sul Commodore 64 mi serviva sapere se un numero era divisibile per 2. All'epoca usai questa sintassi (ho ritrovato il codice origionale - anno 1983):

CODE:
  1. 10 INPUT A
  2. 12 B=A/2: IF B = INT(B) THEN PRINT "OK IL NUMERO "A" E' PARI":GOTO 10
  3. 14 PRINT "IL NUMERO "A" E' DISPARI":GOTO 10

Il BASIC del Commodore 64, comunque, non possedeva l'operazione di modulo - almeno che io ricordi!!

Continua a leggere... »

Post correlati

Papervision3D: BasicView

Venerdì 30 Maggio, 2008

Papervision3D 2.0 (GreatWhite) è in continuo sviluppo e sono molte le funzione che quasi settimanalmente vengono aggiunte. Ad aprile è stato inaugurato il blog dedicato agli sviluppatori (http://dev.papervision3d.org/), tuttavia, la release 2.0, non è ancora stata rilasciata ufficialemente è spesso difficile carpirne le vere potenzialità. Una delle recenti novità introdotte, comunque, è il nuovo oggetto BasicView che crea un'ambiente 3D con pochissime righe di codice. Basta infatti creare questo oggetto per avere a disposizione scena, viewport e camera in un colpo solo.

Continua a leggere... »

Post correlati

undolibrary: libreria Actionscript 3.0 su Google Code

Mercoledì 28 Maggio, 2008

Ho aperto un progetto su Google Code: undolibrary. Per adesso, questa libreria, contiene un solo componente (Knob -  manopola) da utilizzare tramite Actionscript 3.0. Ne parlo in quanto questo componente è propedeutico ad una serie di tutorial/sorgenti in Flash che volevo rendere disponibili.

Loading Flash Player...

Google Code

Prima di tutto introduco il concetto di Google Code per chi ne fosse estraneo. Google Code è un servizio gratuito messo a disposizione da Google con lo scopo di condividere codice ma, soprattutto, di condividerlo in modo collaborativo e con un sistema di versioning (subversion) e wiki utilissimo a gruppi di sviluppo (soprattutto opensource) o a singoli programmatori. Sul sito Google Code troviamo:

È possibile cercare progetti di altri, con un motore di ricerca appositamente costruito. Molti gruppi di sviluppo, composti da team che sono ubicati in zone geografiche distanti, sfruttano questa condivisione per lavorare insieme, garantiti da un sistema di versioning ormai assodato (checkout/checkin per non sovrapporsi o il supproto per creare dei branch - spinoff di progetti). Librerie e tools come Papervision3D, Tweener o AS3corelib, ad esempio, sono ubicati proprio su Google Code godendo da un lato di un hosting di sviluppo e dall'altro di un accesso pubblico per il download dei sorgenti e della documentazione.
Punto importante, poi, è la possibilità - aperto un progetto - di impostare gli accessi e la visualizzazione. Se volete potete proteggere il vostro lavoro o renderlo del tutto privato, invece che pubblico.

Continua a leggere... »

Post correlati

Adobe Flash: rilasciato il Player 10 in beta e le API Google Maps

Giovedì 15 Maggio, 2008
Aggiornamento: pare che Google si sia sbagliata e invece di scrivere Flex ha scritto Flash! Morale della situazione le API Google Maps sono state rilasciate solo per Flex e NON funzionano in ambiente Flash: a dimostrazione della confusione che questi due "branch" (Flex/Flash) stanno causando! Leggere, a tal proposito, Damn it google get it right! the google map API is for flex not flash!

Due notizie - veloci veloci - davvero interessanti! Su Adobe Labs è stata rilasciata la Beta di Adobe Flash Player 10 (Astro), con una dettagliata nota delle nuove features (da leggere!). Si comincia anche a definire il nuovo sistema per i filtri dinamici: Adobe Pixel Bender.

Google, invece, rilascia "ufficialmente" le API Google Maps per Adobe Flash.

Post correlati

Google AJAX Language API: tutorial sul funzionamento

Martedì 13 Maggio, 2008

Rispondo, con questo post, alla richiesta di Andrea su come inserire il traduttore di Google nel proprio web. Esistono vari modi per usufruire dei servizi di traduzione automatica messi a disposizione da Google e non solo. Possiamo usare Plugin scritti da terzi, un semplice script Javascript preconfezionato da Google stessa o imparare ad usare le API, cioè una serie di funzioni richiamabili - come vedremo - in vari modi.

Plugin

Su questa soluzione non mi dilungo, in quanto credo non sia propriamente attinente alla richiesta di Andrea, se ho compreso bene. Inoltre è una soluzione sostanzialemente valida solo per i Blog e non per un uso personalizzato e generico. Posso solo segnalare, per gli utenti WordPress, Global Translator, forse il più semplice, funzionale e diffuso Plugin di questo tipo.

Script preconfezionato da Google

Il modo più semplice per tradurre il proprio sito web o il proprio Blog è quello di inserire un semplice script Javascript fornito da Google stessa. Basta andare sul sito translate.google.com e cliccare sulla scheda 'Strumenti'. Da questa pagina è possibile preimpostare le funzioni di traduzione o lasciare quelle di default. Lo script è molto semplice:

HTML:
  1. <script src="http://www.gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/translatemypage.xml&amp;up_source_language=it&amp;w=160&amp;h=60&amp;title=&amp;border=&amp;output=js"></script>

e come risultato si ottiene:

Google Translate

Continua a leggere... »

Post correlati

Argomenti variabili e di default in Javascript, Actionscript e PHP

Mercoledì 7 Maggio, 2008

Chi sviluppa sa bene che una delle caratteristiche delle funzioni (function () ) è quella di avere o meno degli argomenti di input. Può capitare, a volte, di dover scrivere una funzione che, in base ai parametri di input, si comporta in modo differente (in programmazione OO troviamo questo comportamento indicato come poliformismo). I parametri variabili (varargs), introdotti già all'epoca del C e presenti di default nella classica dichiarazione del main:

CODE:
  1. int main(int argc, char *argv[]);

Continua a leggere... »

Post correlati

Inserire filmati Flash in Wordpress con SWFObejct 2.0

Giovedì 1 Maggio, 2008

Dopo aver eseguito negli anni svariate patch e prove per trovare il modo migliore di inserire contenuti attivi - come Flash - nel Blog, penso finalmente di aver risolto una volta per tutte il problema. Avevo già parlato del rilascio della libreria SWFObject 2.0, utilissima nella realizzazione di siti con contenuto di tipo Adobe Flash. Fortunatamente Unijimpe ha realizzato un Plugin per Wordpress in grado di sfruttare le potenzialità di SWFObject e semplificare l'inserimento all'interno dei Post. Per usarlo, infatti, basta attivare il Plugin e inserire all'interno del post:

CODE:
  1. [SWF] /wp-content/uploads/2006/05/7762.swf, 231, 132 [/SWF]

È inoltre possibile utilizzare il Plugin per inserire contenuti Flash anche all'interno del Blog stesso, come ad esempio la Sidebar:

PHP:
  1. <div id="sidebar">
  2. <?php wp_swfobject_echo("boton.swf","100","22"); ?>
  3. </div>

Post correlati

Snipplr code 2.0: frammenti (snipp) di codice utile

Sabato 26 Aprile, 2008

Snipplr Era da tempo che volevo segnalare questo utilissimo servizio dedicato al mondo della programmazione. Snipplr (code 2.0) è un vero e proprio aggregatore o repository di frammenti di codice utili. È possibile registrarsi gratuitamente ed inviare le proprio porzioni di codice e, soprattutto, usufruire dei tantissimi snipp già presenti su sito. I linguaggi trattati sono tantissimi (Actionscript, ASP, C#, MatLab, PHP, Rails, SVN, etc...), tutti ben ordinati e catalogati. È possibile anche installare un comodo plugin per Wordpress in grado di visualizzare sul nostro blog un snipp-code tramite il suo id univoco.

Post correlati

Nasce Divoogle: divulgazione e ricerca strumenti per lo sviluppo

Giovedì 24 Aprile, 2008

Divoogle

Prodotto ed ideato da JuliusDesign nasce un nuovo strumento dedicato allo sviluppo. L'idea è quella di creare un motore di ricerca specializzato in determinati ambiti, per iniziare Flash. Il sistema sfrutta gli innovativi e recenti strumenti di personalizzazione messi a disposizione da Google. Visitate il Blog del progetto e iniziate dare in primi consigli.

Post correlati

Estendere l’IDE di Flash CS3 con Snippets

Lunedì 14 Aprile, 2008

Snippets Lee Brimelow, Platform Evangelist in Adobe, si occupa di sviluppo in Flash, Flex ed AIR. Dal suo blog (TheFlashBlog) è possibile scaricare una comoda estensione per Flash CS3: Snippets. Questa estensione, scritta utilizzando le API che Flash mette a disposizione per interagire con la sua IDE (JSFL API), permette di aggiungere un comodo pannello (sulla falsa riga di quello presente già in Adobe Dreamweaver) dove è possibile inserire delle piccole porzioni di codice che usiamo più spesso.

Una volta installato è già possibile usufrire di alcuni snippets forniti dall'autore. Cliccando sull'icona image è possibile modificare il file XML che contiene gli snippets (gli spezzoni di codice). Una volta fatta la modifica è sufficiente salvare il file e cliccare sull'icona Aggiorna gli snippet  per aggiornare la lista. Sul sito dell'autore sono stati rilasciati proprio in questi giorni ulteriori snippets da aggiungere a quelli già presenti. Ecco la versione completa del file XML: Continua a leggere... »

Post correlati