Quando uno è figo è figo...


Quella qui sopra è l'incorcio evidentemente mal riuscito di me e Al Pacino. Il servizio sfruttato,come evidenziato dal watermark in basso,è Mophthing.
Mi scuso se non cito la fonte dal quale ho appreso del servizio,ma appena ho letto la notizia ho cliccato sul link e poi mi son perso via...
Beh che dire? Sembra che mi abbiano scartavetrato la testa di pugni da ambo le parti.

GWT esce dalla beta

Google Web Toolkit apporda alla versione 1.4 e abbandona lo stato di beta che aveva. Per chi ancora non lo conoscesse,GWT è un tool che permette di creare applicazioni AJAX scrivendo del codice in java. Non ho avuto tempo di provarlo a fondo,ho notato che il gruppo di discussione è abbastanza attivo tra l'altro. Ve lo consiglio per trovare altro prezioso materiale.

Blogger infettato

Riporto la notizia direttamente da Punto Informatico:

Sarebbero oltre 400 i siti della piattaforma Blogger, di proprietà di Google, infettati dal famigerato worm denominato Storm. A mesi di distanza dalla prima individuazione, questo "cavallo di troia" continua a cambiare identità mentre i suoi creatori non perdono occasione per escogitare nuove forme di diffusione.

La notizia continua dicendo che:
non è ben chiaro come il malware sia stato in grado di scavalcare le protezioni di BigG, ma l'ipotesi più probabile resta quella dei post inseriti via email dai proprietari dei blog a cui potrebbe essere allegato un messaggio contenente il codice indesiderato.

non ho mai sfruttato fino ad oggi la possibilità di usare il proprio MUA per postare,rimane il fatto,da quel che ho capito,che bisogna prima infettarsi con il worm,per infettare anche il proprio blog. Un worm con i fiocchi!

Data in italiano in java

Prima di un corso che ho seguito (che tra l'altro non era incentrato sulla programmazione,ma la sfiorava solo qua e là) la data in italiano la facevo tramite un switch:


public static String dataoggi(){

Calendar c=new GregorianCalendar();
String time,day,month,secondi;
time=day=month=secondi=null;

int gmese=c.get(Calendar.DAY_OF_MONTH);
int giorno=c.get(Calendar.DAY_OF_WEEK);
int mese=c.get(Calendar.MONTH);
int anno=c.get(Calendar.YEAR);
int ore=c.get(Calendar.HOUR_OF_DAY);
int min=c.get(Calendar.MINUTE);
int sec=c.get(Calendar.SECOND);

switch(giorno){
case 1: day="Domenica"; break;
case 2: day="Lunedi"; break;
case 3: day="Martedi"; break;
case 4: day="Mercoledi"; break;
case 5: day="Giovedi"; break;
case 6: day="Venerdi"; break;
case 7: day="Sabato"; break;
default: day="Errore";
}

switch(mese){
case 0: month="Gennaio"; break;
case 1: month="Febbraio"; break;
case 2: month="Marzo"; break;
case 3: month="Aprile"; break;
case 4: month="Maggio"; break;
case 5: month="Giugno"; break;
case 6: month="Luglio"; break;
case 7: month="Agosto"; break;
case 8: month="Settembre"; break;
case 9: month="Ottobre"; break;
case 10: month="Novembre"; break;
case 11: month="Dicembre"; break;
default: month="Errore";
}
// ci assicuriamo che stampi 04 non 4 per i minuti
time=Integer.valueOf(min).toString();
if(min<10)
time="0"+time;
// ci assicuriamo che stampi 04 non 4 per i secondi
secondi=Integer.valueOf(sec).toString();
if(sec<10)
secondi="0"+secondi;

s=day+" "+gmese+" "+month+" "+anno+",ore "+ore+":"+time+":"+secondi;
return s;

}

Ci vuole un po' ma alla fine si arriva al risultato. Una maniera più efficace è di usare le Locali:

import java.util.*;
import java.text.*;

class ShowItalianDateJava {

public static void main(String [] argv) {

Locale itLocale = new Locale("it", "IT");
DateFormat dfshort = DateFormat.getDateInstance(DateFormat.SHORT, itLocale);
DateFormat dflong = DateFormat.getDateInstance(DateFormat.LONG, itLocale);
DateFormat dftimedate = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.FULL,itLocale);

Date today = new Date();
System.out.println("SHORT: "+dfshort.format(today));
System.out.println("LONG: "+dflong.format(today));
System.out.println("TIME - MEDIUM e FULL: "+dftimedate.format(today));
}
}


Il codice è molto più compatto,niente switch e mostra diversi formati di rappresentazione della data.

Video corso di java per principianti gratuito

Voglio segnalare per coloro che sono alle prime armi con il linguaggio java un videocorso di Michele Sciabarrà,che copre più o meno tutti gli aspetti principali del linguaggio attraverso delle animazioni flash.

Fonte: Java Fishing

Syntax highlitghting su Blogger!

Come saprete (o me glio che io sappia) su blogger non è consentito uploadare cartelle di files o qualsiasi cosa che non sia un'immagine integrabile nel post o del semplice codice javascript inseribile nel modello.
Ebbene grazie al buon google,grazie alla query "blogger highlighting code",ho trovato su GoogleCode il progetto di Alex Gorbatchev SyntaxHighlighter. Il bello del tool è che non serve che carichiate le vostre risorse sul server,ma basta linkarne i riferimenti.
L'unica neo: Blogger introduceva degli antipatici break lines che facevano mostrare il codice su una linea sola rendendolo di fatto poco leggibile. Ebbene oltre a inserire il codice qui descritto a fondo pagina nel modello principale,dovete fare una piccola aggiunta inserendo il quel codice la stringa
dp.SyntaxHighlighter.BloggerMode();. Seguite i link per capire appieno come sfruttare il tool.

Estensioni Firefox per sviluppatori

Mashable fa una listuccia di comodi add-ons per Firefox utili al Web development. Personalmente credo che la maggior parte delle estensioni relative a CSS,HTML,ecc sia riassumibile in una sola: Web developer. Altre estensioni che ho usato o mi ripropongo di usare sono:

fonte: download blog;

Triggers Management in MySQL

I triggers sono stati un'innovazione in MySQL a partire dall'ultima versione. Fra i tools più famosi di gestione del DBMS via Web prende posto ovviamente phpMyAdmin. Quest'ultimo però non supporta i triggers (li mostra in sola lettura nella tabella information schema),forse complice il fatto che la maggior parte dei siti odierni (compresi Aruba e Altervista per citare alcuni hosting provider italiani) montano ancora una vecchia versione di MySQL.
Ad ogni modo per le vostre prove in locale e per quegli hosting provider che offrono l'ultima versione di MySQL (e di PHP),esiste un semplicissimo tool in PHP5 di Binzy Wu,che sfrutta l'object orientation ed è in grado di mostrare i triggers presenti in un database,modificarli o cancellarli.

Creare un indice stile Google

Avete presente gli indici delle pagine in basso che si visualizzano quando scartabelliamo delle pagine che stiamo ricercando? Beh,ultimamente mi è capitato di dover implementare qualcosa di simile sul mio sito per facilitare la navigazione e poichè non facciamo le cose meccanicamente ma usiamo la zucca (noi programmatori intendo),dovevo creare uno script che mi creasse in automatico tale indice di navigazione. Ecco i passi per crearlo:

  • creare le nostre pagine con il seguente modello: nomepageina+numero_progressivo. Es: page1,page2,page3,ecc.
  • creare la seguente funzione:


function showPagesIndex($page,$num_pages) {
echo "<br><p align=\"center\">";
// pagina corrente
$active = str_replace(".php","",(str_replace($page, "",basename($_SERVER['PHP_SELF']))));
$i = $active - 3;
$f = $active + 4;
$c = $a = 0; //init

for($c=$i; $c<=$f && $c<=$num_pages; $c++) {
if($c > 0){
$a++;
$var = $c==$active ? "<strong>$c</strong> " : "<a href=\"$page$c.php\">$c</a> ";
if($a == 1 && $c != 1) $var="<a href=\"$page".($c-1).".php\">&lt;<</a> ".$var;
echo $var;
if($c!=$f && $c<$num_pages)
echo "- ";
}
}

$c--; // invalida l'ultimo incremento del ciclo
if($c < $num_pages){
$c++; // la pagina successiva all'ultima
echo " <a href=\"$page$c.php\">&gt;></a></p>";
}
}

  • la funzione precedente prende come parametro il nome modello della nostra pagina e il numero totale di pagine.
  • Siccome non vogliamo dover far modifiche in ogni pagina man mano che le cose evolvono inserendo di volta in volta il numero delle pagine totali,creaimo una funzione che ritorni il numero di pagine totali per la sezione di nostro interesse. Quindi ammettendo che stiamo parlano di PostgreSQL e che abbiamo creato dieci pagine del tipo pgsql1.php,pgsql2.php,ecc facciamo:
    function getNumPagesSQL() {
    return 10;
    }
    Ed infine ecco come la usiamo nelle nostre pagine,basterà solo ricopiare questa stringa e quando dovremo fare modifiche,modificare per tutte le pagine solo le funzioni:

    showPagesIndex("pgsql",getNumPagesSQL())

La funzione creata creerà indici del tipo "<<>>" dove i segni di maggiore e minore rimandano allaa pagina immediatamente successiva e precedente. Una demo è visionabile sul mio sito qui in fondo alla pagina. Scaricate le funzioni.

Nasce Byte Strike!

Buongiorno a todos! Nell'esplosione universale del Web oggi si aggiunge l'ennesima scintilla che vi accompagnerà con i miei spunti in ambito di programmazione Web e altre cose che posso ritenere utili,affascinanti o divertenti.
Come tutte le cose che faccio mi auguro possa essere di utilità anche ad altri,anche perchè mi piacerebbe avere un confronto sull'ultilità e lo stile degli scripts che pubblico confrontandoli con altre soluzioni pubblicate dagli utenti (si sa che al meglio e al peggio non c'è mai fine!).
Quindi a presto!

Byte Strike Blog - Designed by Posicionamiento Web | Bloggerized by GosuBlogger