If you optimize everything, you will always be unhappy.
Donald Knuth
Se ottimizzi tutto, sarai sempre infelice.
Altre frasi di Knuth
Proudly debugging the system since 1981
If you optimize everything, you will always be unhappy.
Donald Knuth
Se ottimizzi tutto, sarai sempre infelice.
Altre frasi di Knuth
Non riesco a trovare un bel header. Ho bisogno di una foto, e quelle che trovo un pò belline hanno i diritti riservati, e quindi sono fuori gioco. Fare foto a pagine di codice non è più di particolare effetto (lo hanno fatto in troppi). Avevo pensato anche a fotografare una tastiera focalizzando sui tasti “WER” e shoppare la R in una B … ma anche questo mi è sembrato un pò troppo banale. Da qua l’idea. Rendere visuale il codice. Ovvero un file di testo in una immagine. Naturalmente lavorando e giocando su alcuni parametri. Probabilmente potrebbe uscire qualcosa di bello con un testo, come alcuni codici sorgente, con ripetizioni periodiche.
Primi risultati :
P.S. : Si vanno fatte ancora alcune modifiche. Il problema è come viene gestito il testo e la sua rimappatura in uno spazio-colore. Probabilmente devo escludere dal testo qualsiasi cosa non sia un carattere alfanumerico in modo che i colori non si concentrino in una piccola zona ma si distribuiscano equamente.
Un applicazione pratica del precedente post. Questa funzione prende in input un testo, riconosce indirizzi mail e web e crea automaticamente i link
function MakeLinkInText($text) {
// funzione di trattamento del testo in visualizzazione
// prende un testo, cerca mail e indirizzi web, e li linka
// si presuppone che il testo sia gia pronto e non da de-quotare
$ta = explode(” “,$text);
foreach( $ta as $key => $value) {
if (eregi(“^([a-z0-9]|\\-|\\.)+@(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {
// match per email
$ta[$key] = “<a href=’mailto:”.$ta[$key].”‘>”.$ta[$key].”</a>”;
}
if (eregi(“^(www.|\\WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {
// match per web senza protocollo
$ta[$key] = “<a href=’http://”.$ta[$key].”‘>”.$ta[$key].”</a>”;
}
if (eregi(“^(http://www.|\\http://WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {
// match per web con protocollo
$ta[$key] = “<a href='”.$ta[$key].”‘>”.$ta[$key].”</a>”;
}
}
$text = implode(” “,$ta);
return $text;
}
Ovvero arrivare all’obbiettivo piu velocemente, con meno errori e con meno mal di testa.
L’argomento è gia stato trattato in altri post. Un buon punto di partenza è un framework, ovvero un insieme di classi, funzioni e moduli che si occupino delle operazioni piu ripetitive e che siano sufficentemente “astratti” da essere riutilizzabili in tutti i progetti. Vedi il post sull’argomento.
Un altro metodo per velocizzare è utilizzare una interfaccia di sviluppo adeguata. E il blocco note (per i MS-Fanboys) o vim (per i linuxari) non rientrano in questa definizione.
Un buon ambiente di sviluppo deve :
Un sogno ? Forse … io sono ancora alla ricerca. Alcune di queste cose le fa il classico Adobe Dreamweaver, altre le ho trovate in PHP Designer 2007
Se conoscete un ambiente di sviluppo che abbia tutto questo suggeritemelo. Io, intanto, continuo a cercare.
Ho provato un pò di framework e qualche risulato molto gradevole e di facile migrazione da codice esistente l’ho ottenuto tramite questo
A dire il vero non si tratta proprio di AJAX in quanto manca la X, non si usa infatti l’xml ma direttamente l’html.
Gestire correttamente il charset per lo scambio di dati tra client, server web e server dati è molto importante.
Per siti solo in italiano, o al massimo in lingue europee il discorso è semplice. Basta settare in ogni componente del processo il charset corretto.
PHP : header(‘Content-Type: text/html; charset=iso-8859-15′);
HTML: <meta equiv=”Content-Type” content=”text/html; charset=iso-8859-15″>
MySQL: Collation latin1_swedish_ci
Il Charset iso-8859-15 gestisce correttamente tutte le lingue europee e include il simbolo dell’euro. Per esigenze piu complesse si puo usare l’ UTF-8, ma raramente è necessario.
In teoria il webserver dovrebbe aggiungere gia tra gli header che invia di sua iniziativa il charset ma questo potrebbe essere differente da quello impostato in mysql o adirittura non essere settato (lasciando al browser il compito di capire quale charset meglio si adatti al contenuto che deve visualizzare) perciò specificarlo in modo esplicito è un ottima abitudine
La programmazione, come si sà, spesso porta ad un uso eccessivo di Copia-e-Incolla. Il riciclo di codice però porta alla difficoltà di mantenimento. Certo, il codice per mostrare il contenuto di una tabella è bene o male sempre lo stesso, ma doverlo copiare, incollare e adattare per 25 tabelle differente puo essere fastidioso.
Ancora di piu se poi capita di dover fare una piccola modifica.
Come fare allora ?
I Framework esistono per questo. Con semplici chiamate di funzioni o oggetti si possono gestire tutte quelle richieste ripetitive, in modo veloce e meno ripetitvo.
I framework si possono creare da zero, ma questa attività richiede una certa dimestichezza con la progettazione di oggetti per essere efficente, o utilizzare dei pacchetti OS.
CakePHP o Smarty possono fare al caso vostro se non avete tempo per svilupparvi un vostro framework, o semplicemente non ne avete voglia, o credete che un team di sviluppo skillato possa essere piu bravo di voi (cosa vera nella maggior parte dei casi)
© 2025 b0sh.net
Tema di Anders Noren — Su ↑