giovedì 17 dicembre 2009

Uno slider in Jquery stile Coda

1 commenti
Il comodo ed innovativo slider di Panic Coda è molto famoso ed imitato dai web designer di tutto il mondo. Alcuni hanno anche provato a sfruttare jQuery per ottenere lo stesso effetto.

Vi segnalo questi tre script:

1) il primo, che ho utilizzato anch'io, è Coda Slider Effect di jqueryfordesigners.com. L'effetto che si ottiene è perfetto, peccato per la necessità di includere parecchi files js. Lo script funziona con tutti i browser moderni e anche con IE6. Inoltre, disattivando javascript, i contenuti restano accessibili.

2) il secondo è Coda Slider 2.0 di Niall Doherty's dot biz. Anche qui l'effetto ottenuto è ottimo, la quantità di js da includere è leggermente inferiore, l'implementazione è molto semplice e con javascript disattivato è possibile accedere ai contenuti.

3) il terzo è il già citato jQuery Scrollable @ jQuery Tools. Lo script è molto leggero, la configurazione veramente semplicissima, le features numerose MA non è possibile accedere ai contenuti con javascript disabilitato. Una grossa pecca per questo bellissimo script che altrimenti avrebbe vinto il primo posto!
Leggi tutto...

martedì 15 dicembre 2009

Date in PHP e MYSQL

2 commenti
Traduco questo ottimo articolo di Richard Lord: Dates in PHP and MySQL , perchè l'ho trovato molto utile e interessante.

Vedo molta gente nei forum e nei miei corsi chiedere quale sia il miglior modo (o il modo) per gestire le date archiviate in un database MySQL e utilizzate dal codice PHP. Di seguito tre soluzioni, ma prima il problema.

Il PHP usa timestamps unix per tutte le funzioni relative alle date. Ha metodi per convertire questi timestamps in praticamente qualsiasi formato testuale possiate desiderare ma internamente usa il formato timestamp. Il timestamp è semplicemente un intero senza segno. Nello specifico, è il numero di secondi trascorsi dalla mezzanotte del 1 Gennaio 1970 (in base all'ora di Greenwich).

MySQL ha a disposizione tre tipi di campi data. Sono: DATETIME, DATE, e TIMESTAMP. Un campo DATETIME salva data e orario come una stringa nella forma AAAA-MM-GG HH:MM:SS (es. 2006-12-25 13:43:15). Un campo DATE usa solo la parte della data del formato precedente AAAA-MM-GG (es. 2006-12-25). Un campo TIMESTAMP, nonostante il nome, non somiglia per nulla al timestamp unix usato in PHP. Un campo TIMESTAMP è semplicemente un campo DATETIME che si aggiorna automaticamente all'orario corrente ogni volta che i contenuti del campo vengono modificati (è una semplificazione ma a grandi linee corretta, e i dettagli non sono importanti in questo caso). In particolare, dalla versione 4.1 di MySQL il formato TIMESTAMP è esattamente uguale al formato DATETIME.

Perciò il problema è come lavorare con questi due differenti formati di data - il numero intero timestamp di PHP e la stringa DATETIME di MySQL. Ci sono tre soluzioni di uso comune...

  1. Una comune soluzione è archiviare le date in campi DATETIME e usare le funzioni PHP date() e strtotime() per convertire i timestamp PHP e i DATETIME MySQL. Le funzioni saranno usate come nell'esempio seguente:

    $mysqldate = date( 'Y-m-d H:i:s', $phpdate );
    $phpdate = strtotime( $mysqldate );
  2. La nostra seconda opzione è lasciare che MySQL faccia il lavoro sporco. MySQL ha delle funzioni che possiamo usare per convertire i dati nel momento in cui accediamo al database. UNIX_TIMESTAMP converte il formato DATETIME nel timestamp di PHP e FROM_UNIXTIME converte il timestamp di PHP nel DATETIME di MySQL. Le funzioni vengono usate all'interno della query SQL. Perciò inseriamo e aggiorniamo le date usando query come queste:

    $query = "UPDATE table SET
    datetimefield = FROM_UNIXTIME($phpdate)
    WHERE...";
    $query = "SELECT UNIX_TIMESTAMP(datetimefield)
    FROM table WHERE...";
  3. La nostra ultima possibilità è semplicemente usare il timestamp di PHP ovunque. Poichè il timestamp di PHP è un numero intero senza segno, è sufficiente usare un campo INTEGER senza segno nel MySQL per salvare il timestamp. In questo modo non ci sono conversioni e possiamo semplicemente spostare i timestamp di PHP dentro e fuori il database senza alcun problema.

    Fate attenzione comunque al fatto che usando un campo INTEGER senza segno per salvare le vostre date perderete molte delle funzionalità di MySQL perchè MySQL non riconoscerà le vostre date come date. Potrete ancora ordinare i dati nei vostri campi data poichè i timestamp di PHP aumentano in modo regolare nel tempo, ma se vorrete usare una qualsiasi delle funzioni data o tempo di MySQL dovrete prima usare la funzione FROM_UNIXTIME per ottenere un valore MySQL DATETIME.

    Ad ogni modo, se state usando il database solo per salvare le informazioni di data e ogni manipolazione di queste verrà effettuata dal PHP allora non c'è problema.

Così finalmente siamo giunti al momento della scelta di quale usare. Per me, se non avete la necessità di manipolare le date con MySQL allora non c'è discussione: l'ultima alternativa è la migliore. E' semplice da usare ed è la più efficiente in termini di spazio occupato nella tabella e velocità di esecuzione in fase di lettura e scrittura.

Comunque, alcune query potrebbero risultare più complicate dato che le vostre date non sono in un campo data (es. selezionare tutti gli utenti che compiono gli anni oggi) e potreste rimetterci nelle esecuzioni prolungate. Se è questo il caso, meglio usare una delle altre due opzioni. Quale delle due, dipende da voi, se preferite far lavorare MySQL o il PHP. Io tendo ad usare l'opzione 2 ma non c'è una risposta giusta o una sbagliata - fate la vostra scelta.

Per riassumere, per chi va dritto all'ultimo paragrafo, la maggior parte delle volte uso l'opzione n. 3 ma occasionalmente uso l'opzione 2 se ho la necessità di far sapere a MySQL che i campi contengono una data.

Leggi tutto...

Trasformare il proprio PC in un ROUTER WIFI

12 commenti
Eh sì avete letto bene!!! Da oggi, grazie a Windows 7 e alla mente geniale di alcuni sviluppatori, è possibile trasformare il proprio pc con Windows 7 in un hotspot wifi! Incredibile ma vero!
Tutto questo è possibile grazie a due fantastici programmi: Connectify Me e Virtual Router.
Il primo è stato testato da me personalmente e funziona benissimo, il secondo è recensito in questo articolo di Generazione Internet.


Vi descrivo in pochi passi la semplice procedura per trasformare il vostro pc in un router wifi senza usare nessun hardware (sembra impossibile anche a me eppure è proprio così!):

1) Scaricate il software Connectify Me da qui
2) Installate il software (doppio click sul file scaricato e seguire la procedura)
3) Al termine dell'installazione il programma verrà avviato in automatico, ma voi probabilmente non lo vedrete, perchè l'icona di notifica che appare sulla barra delle applicazioni verrà automaticamente nascosta. Per visualizzarla fate click con il tasto destro sulla barra delle applicazioni nell'area delle icone di notifica, vicino all'orologio. Scegliete "Proprietà" e quindi cliccate su "Personalizza icone di notifica". Cercate l'icona di Connectify e scegliete "Mostra icona e notifiche" dal menu a tendina.
4) Ora cliccate sull'iconcina nella barra delle applicazioni, si aprirà la finestra di Connectify.
5) Inserite un nome identificativo per la connessione wifi che andrete a creare
6) Inserite una password (serve per la connessione degli altri dispositivi / computers)
7) Scegliete una connessione dal menu a tendina (nel mio caso "Connessione alla rete locale (LAN)"
8) Su Mode lasciate "Access Point, ..."
9) Cliccate sul pulsantone "Start HotSpot".

Fatto!!! Il vostro pc è un router wifi! Fintanto che non cliccherete sul pulsante "Stop HotSpot" o terminerete il programma! Bello no?!

Buona navigazione! :)
Leggi tutto...

martedì 1 dicembre 2009

Eliminare programmi in avvio automatico su Windows 7

13 commenti
Pochi giorni fa sono passata a Windows 7. Dopo aver installato i pochi programmi che utilizzo abitualmente, ho notato subito un forte allungamento dei tempi di avvio: dai 70 secondi di Windows Vista ero passata a quasi 90 secondi!!! Tempi di avvio decisamente insostenibili per il tanto acclamato nuovo arrivato in casa Microsoft.

Ecco però un semplice metodo per eliminare i programmi in avvio automatico.
Nella casella di ricerca del menu Start digitate msconfig . Apparirà come risultato msconfig.exe. Premete invio per azionare il programma. Cliccate sulla tab "Avvio". Deselezionate tutti i programmi non necessari in fase di avvio (ad esempio io ho tolto Openoffice, Google Update, uTorrent, ecc). Cliccate su OK e riavviate se ve lo chiede.
Noterete subito una forte riduzione dei tempi di avvio!
Leggi tutto...

Una fenomenale raccolta di PSD pronti all'uso

6 commenti
Ho trovato per caso questa bellissima e veramente utile raccolta di PSD free e liberamente scaricabili: PSD Graphics.
Si trovano PSD per tutti i gusti, background, icone, tutorial, oggetti di uso comune, idee semplici ma geniali. Un sito che merita una visita.

LINK: http://www.psdgraphics.com/
Leggi tutto...

Un aiuto per il web design: le raccolte di design pattern

0 commenti
A volte vi trovate a dover disegnare un pulsante, o un menu, e non avete proprio idea di come fare o da dove partire? Magari vi serve solo una fonte di ispirazione?
Un sito come Pattern Tap vi potrebbe essere d'aiuto. Si tratta di una raccolta di showcase di elementi ricorrenti di design, come appunto pulsanti, menu, icone, liste, ecc.
Veramente utile nei momenti di "vuoto creativo"!

LINK: http://patterntap.com/


Vi propongo anche un suo "concorrente", anche se secondo me il sito è meno ben organizzato rispetto a Pattern Tap. Si tratta di Design Snips. Le categorie sono poche così come i siti recensiti, però in caso di emergenza... tutto fa brodo :)

LINK: http://designsnips.com/
Leggi tutto...