Poi dici che odi Windows (e questo è solo uno dei motivi): ogni volta che reinstallo Windows 7 da zero, ho Windows Update che carica all'infinito e mi scarica gli aggiornamenti.

Una volta l'ho lasciato un giorno e una notte....

Per fortuna c'è un rimedio a questa rottura atomica.

Trovo l'AppStore del Mac di una lentezza esorbitante; veramente non l'ho mai sopportato.

Per fortuna ho scoperto che è possibile aggiornare il sistema anche da terminale.

In questo modo possiamo "emulare" un pò quello che si fa su Linux con i vari APT, YUM, ecc.

Vediamo qualche esempio.

Di locate ne abbiamo già parlato: è una ottima alternativa al comando find per cercare nel file system.

La differenza sostanziale è che si basa su un database, aggiornato in automatico da sistema, o manualmente tramite il comando:

# updatedb

Di default il comando di configurazione eslcude alcune directory per non appesantire troppo il database.

Tra le esclusioni ci sono anche i device esterni, compresi HD montati come partizioni secondarie ma che non fanno parte del file system di sistema.

Comportamento "sbagliato" se teniamo tutti i nostri file in HD secondari.

In un precedene articolo abbiamo visto come usare la funzione Typehead per attivare l'autocompletamento in Twitter Bootstrap.

Solo che in quell'occasione ogni volta eseguivamo la query nella pagina, costruendo poi la stringa di dati.

In definitiva non usavamo AJAX.

Ed ecco che poi ho capito come fare le cose fatte bene e ve le riporto qua.

Prima di tutto creiamo un file in PHP che esegue la query; è il file che verrà interrogato:

$res = array();
foreach ($objAjax->getArticoli() as $var) {
    $res[] = $var['a_titolo'];
}

echo json_encode($res);

In pratica restituisco i dati in formato JSON.

Il .NET Framework ha già tutto incluso per usare AJAX senza ricorrere a Javascript.

Di default anche il Web.config è configurato per usarlo; in caso potrete usarlo per cambiare alcune impostazioni.

Vediamo quindi come usare AJAX nelle nostre pagine aspx.

Prima di tutto dobbiamo incorporare un controllo ScriptManager; io consiglio di metterlo nella Master Page in modo da averlo disponibile per qualsiasi pagina:

<asp:ScriptManager ID="scriptManagerDefault" runat="server" />

Tutto qua.