Caputo’s blog

Informatica, tecnologia, programmazione, fai da te, papercraft e papertoy

Creare una galleria fotografica con API di Flickr

novembre 13th, 2009 by Giovanni Caputo

Volevo segnalare  una guida per realizzare una galleria fotografica, utilizzando le API di Flikr.

TUTORIAL

Category: Siti Web, tutorial | No Comments »

Aggiungere una google maps personalizzata nel proprio sito web

ottobre 17th, 2009 by Giovanni Caputo

Le API di  Google Maps permettono di inserire direttamente una mappa nel proprio sito web.

Spesso si usano le mappe per indicare il luogo di una certa azienda, quindi potrebbe essere utile segnalare attraverso delle immagini particolari, ad esempio con il logo, il luogo stesso, o ancora potrebbe essere utile visualizzare dei posti che possono aiutare l’orientamento come il parcheggio, la stazione dei trani e altre cose ancora.

Adding Custom Google Maps to Your Website

Per ottenere qualcosa di simile all’immagine utilizzate il tutorial al seguente link

GOOGLE MAPS TUTORIAL

Category: Siti Web, tutorial | No Comments »

Semplice guida a jQuery

ottobre 5th, 2009 by Giovanni Caputo

Voglio segnalare a tutti gli sviluppatori una semplice e utile guida per jQuery.

Versione online:

jQuery Visual Cheat Sheet (by WOORK)

Category: Siti Web, Tecnologia | No Comments »

Università su Youtube

ottobre 1st, 2009 by Giovanni Caputo

YouTube Edu è un vero e proprio contenitore di informazioni legato al mondo delle Università, accessibile su YouTube .

All’interno di YouTube Edu é possibile visualizzare i contenuti video caricati da centinaia di università in tutto il mondo. Da Stanford alla UCLA, sono presenti numerosi video che raccontano la vita del Campus, i corsi universitari e che riprendono importanti conferenze così come interventi degli studenti.

[EDU_logo1.JPG]

In Italia Università Bocconi e Politecnico di Milano sono i primi atenei ad aderire al progetto. Altre università che vogliono farne parte, possono inviare richiesta direttamente all’indirizzo email: youtube_edu_it@google.com

Category: Siti Web, Tecnologia, video | No Comments »

Trovare la posizione di un IP su google maps

agosto 31st, 2009 by Giovanni Caputo

Volevo segnalare un tutorial che permette di identificare la posizione geografica di un IP su google maps.

LINK

Category: Programmazione, Siti Web, Tecnologia, tutorial | 2 Comments »

Validare form con jQuery

giugno 12th, 2009 by Giovanni Caputo

Per vedere come realizzare un validatore di form come quello nell’immagine utilizzate il seguente tutorial

TUTORIAL

Category: Programmazione, Siti Web, Tecnologia, tutorial | 1 Comment »

Video-Tutorial: installare Ubuntu da Windows XP con Wubi

giugno 9th, 2009 by Giovanni Caputo

Video pubblicato da tartarugatecnologica.

Category: Open Source, Programmazione, Siti Web, Tecnologia, programmi, tutorial, video | No Comments »

Funzioni utili per PHP

maggio 9th, 2009 by Giovanni Caputo

  1. Generare password random

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    
    function generatePassword($length) {
        $character = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        $password = "";
        for($i=0;$i<$length;$i++) {
            $password .= $character[rand(0, 61)];
        }
        return $password;
    }
    
    echo generatePassword(7);
    
    ?>
  2. Calcolare anni a partire dalla data di nascita

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    
    $testcase = array("12-03-1985", "15-01-1987", "01-01-2000");
    
    function getAge($year) {
        return floor(abs(strtotime('now') - strtotime($year))/31536000);
    } 
    
    foreach($testcase as $test) {
        echo "Born in $test, approximately age is " . getAge($test)." years<br/>";
    }
    ?>
  3. Ottenere indirizzo IP dei visitatori

    1
    2
    3
    4
    5
    <?php  
    
    echo "Your IP address is " . $_SERVER['REMOTE_ADDR'];  
    
    ?>
  4. Ottenere l’estensione di un file

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    
    $testcase = array("sample.txt", "sample.jpg", "sample.case.txt");
    
    function extension($filename){
        return substr(strrchr($filename, '.'), 1);
    }
    
    foreach($testcase as $test) {
        echo "Extension from $test is " . extension($test) . "<br/>";
    } 
    
    ?>
  5. Ordinamento di un array

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    
    $data_list = array("lychee", "pineapple", "apple", "mango", "strawberry", "banana", "orange", "grape", "guava");
    
    sort($data_list);
    foreach($data_list as $data) {
        echo $data . "<br/>";
    } 
    
    ?>
  6. Tempo trascorso da una certa data

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?php
    
    $testcase = array("12-03-1985", "15-01-2007", "04-04-2009", "01-01-2009", "30-03-2009", "07-04-2009", "07-04-2009 11:12");
    
    define("MINUTE", 60);
    define("HOUR", 3600); // 60 * 60 
    define("DAY", 86400); //  60 * 60 * 24 
    define("WEEK", 604800); // 60 * 60 * 24 * 7
    define("MONTH", 2592000); // 60 * 60 * 24 * 30
    define("YEAR", 31536000); // 60 * 60 * 24 * 365
    
    function timeSince($date) {
    
        $since = abs(strtotime('now') - strtotime($date));
    
        if($since > YEAR) {
            $year = floor($since / YEAR);
            return "more than $year year(s) ago";
        }    
    
        if ($since > MONTH) {
            $month = floor($since / MONTH);
            return "about $month month(s) ago";
        } 
    
        if ($since > WEEK) {
            $week = floor($since / WEEK);
            $day = floor(($since - ($week * WEEK)) / DAY);
            return "about $week week(s), and $day day(s) ago";
        }
    
        if ($since > DAY) {
            $day = floor($since / DAY);
            $hour = floor(($since - ($day * DAY)) / HOUR);
            return "about $day day(s), $hour hour(s) ago";
        }
    
        if ($since > HOUR) {
            $hour = floor($since / HOUR);
            $minute = floor(($since - ($hour * HOUR)) / MINUTE);
            return "about $hour hour(s), $minute minute(s) ago";
        }
    
        if ($since > MINUTE) {
            $minute = floor($since / MINUTE);
            return "$minute minute(s) ago";
        }
    
        return "under 1 minute ago";	
    
    }
    
    foreach($testcase as $test) {
        echo "Time since $test is " . timeSince($test)."<br/>";
    }   
    
    ?>

Read the rest of this entry »

Category: Programmazione, Siti Web, tutorial | 1 Comment »

Le espressioni regolari più utili in PHP

maggio 9th, 2009 by Giovanni Caputo

Di seguito alcune espressioni regolari molto utili per chi programma in PHP. Naturalmente i controlli sono esclusivamente sintattici.

  1. Validare indirizzo email

    $email = "test@example.com";
    if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) {
        echo "Your email is ok.";
    } else {
        echo "Wrong email address format";
    }

    Una soluzione miglio è usare filter_var.

    if (filter_var('test+email@fexample.com', FILTER_VALIDATE_EMAIL)) {
        echo "Your email is ok.";
    } else {
        echo "Wrong email address format.";
    }
  2. Validare usernames

    Validare username composti da caratteri alfanumerici (a-z, A-Z, 0-9), underscores, con minimo 5  e massimo 20 caratteri.

    $username = "user_name12";
    if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
        echo "Your username is ok.";
    } else {
        echo "Wrong username format.";
    }
  3. Validare numeri telefonici

    In questo caso numeri telefonici americani,  semplice da adattare per quelli di altre nazionalità.

    $phone = "(021)423-2323";
    if (preg_match('/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x', $phone)) {
        echo "Your phone number is ok.";
    } else {
        echo "Wrong phone number.";
    }
  4. Validare indirizzi IP

    $IP = "198.168.1.78";
    if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$IP)) {
        echo "Your IP address is ok.";
    } else {
        echo "Wrong IP address.";
    }
  5. Validare codici postali

    Anche in questo caso validati codici postali statunitensi.

    $zipcode = "12345-5434";
    if (preg_match("/^([0-9]{5})(-[0-9]{4})?$/i",$zipcode)) {
        echo "Your Zip code is ok.";
    } else {
        echo "Wrong Zip code.";
    }
  6. Validare numeri di carta di credito

    $cc = "378282246310005";
    if (preg_match('/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/', $cc)) {
        echo "Your credit card number is ok.";
    } else {
        echo "Wrong credit card number.";
    }
  7. Validare domini

    $url = "http://komunitasweb.com/";
    if (preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) {
        echo "Your url is ok.";
    } else {
        echo "Wrong url.";
    }
  8. Estrarre dominio da una certa URL

    echo $host;
    
    echo $text;
    $url = "http://komunitasweb.com/index.html";
    preg_match('@^(?:http://)?([^/]+)@i', $url, $matches);
    $host = $matches[1];

Read the rest of this entry »

Category: Programmazione, Siti Web, Tecnologia, tutorial | No Comments »

Effetto timbro con photoshop

maggio 9th, 2009 by Giovanni Caputo

8

Oggi vi voglio proporre un tutorial  che  consentirà di creare un effetto molto simile a quello di un timbro su carta.
Selezionate per il colore di primo piano, un blu non troppo scuro. Un esempio come quello in immagine12
Inserite il testo desiderato  e create un nuovo livello, rinominatelo bordo :  Con lo strumento selezione rettangolare, create una selezione intorno al testo, come vedete in figura :

21 32
Andate ora nel menù modifica, cliccate su traccia e impostate un ampiezza di 3 pixel:
Ottenenendo qualcosa di simile all’immagine seguente:

52
A questo punto , collegare tra loro il livello di testo e quello di bordo,  da tastiera cliccate CTRL+E per creare un unico livello. Selezionate menù filtro/sfocatura , cliccate su controllo sfocatura impostando un valore basso, come nell’immagine:

6
Infine, andare  su menù/Filtro/ schizzo, selezionate bordi strappati ed impostate i valori come in figura:

71
Ruotate il livello premendo Ctrl+T  e premete invio.

Read the rest of this entry »

Category: Arte, tutorial | No Comments »