Pagina 1 di 1812345678910»...Ultima »
2009-01-04 | Tags: , ,

Col nuovo object model di PHP, sono arrivate anche le Reflection API: una collezione di funzioni ed oggetti che permettono di esaminare il codice a runtime.

Reflection può essere utile in molte circostanze, con questo articolo vedremo, ad esempio, come usare l’oggetto Reflection per creare un manuale di tutte le funzioni disponibili in uno script.

Continua a leggere “Reflection, le nuove API introspettive di PHP 5″

2008-12-24 | Tags: , , , , ,

Le funzioni built-in di PHP sono innumerevoli, talmente tante che credo siano in pochi a conoscerle tutte. Tanto meno sono in pochi quelli che possono dire di averle utilizzate tutte almeno una volta.

Molte di queste funzioni, tuttavia, sono conosciute e utilizzate da tutti e più volte anche a distanza di poche righe di codice. Sicuramente molto utilizzate sono le funzioni di manipolazione delle stringhe, degli array e dei numeri. Sono funzioni che rientrano nell’ABC di conoscenza di un linguaggio di programmazione.

Molto spesso quando si passa da un linguaggio ad un altro, la prima cosa che si comincia a vedere è qual è l’equivalente funzione tra quelle che più utilizziamo. Questo permette di approcciare al nuovo linguaggio in maniera graduale e senza troppi traumi.

Chi fa web di un certo tipo (e mi riferisco al web di tipo dinamico) si trova a dover utilizzare almeno due linguaggi di programmazione. Uno di questi è – per ragioni di tipo infrastrutturali – il linguaggio JavaScript.

Sebbene JavaScript sia un linguaggio molto potente se opportunamente utilizzato, offre poche funzioni built-in. In molti casi, poi, le funzioni implementate hanno comportamenti inaspettati o differenti a seconda del browser utilizzato.

Nel mio caso, ma potrei anche in generale, ho ritenuto opportuno implementare alcune funzionalità di base del PHP in JavaScript.

Continua a leggere “Utili funzioni PHP in JavaScript”

2008-12-16 | Tags: , , ,

La volta scorsa ho affrontato il discorso del risolvere un problema in maniera logica, affidandosi cioè al ragionamento ed alla soluzione dei problemi in maniera rigorosa, per mezzo di processi logici e non semplicemente facendo codice come se in trans.

Purtuttavia, non basta semplicemente essere delle menti brillanti (anche se aiuta molto in questo lavoro), bisogna anche essere padroni del linguaggio di programmazione che poi si andrà ad utilizzare per realizzare il software. Solo in questo modo si avrà la possibilità di sfruttare il potenziale intrinseco del linguaggio; solo in questo modo si eviterà di perdere tempo a scrivere codice che fa esattamente quello che fa una funzione built-in del linguaggio.

In genere consiglio di concentrarsi su di un linguaggio, di impararlo bene e poi di passare ad altri. Diffida da chi dice di conoscere tanti linguaggio di programmazione, il più delle volte sa solo le cose basilari, ma è ben lontano dal conoscerlo veramente (ovviamente a volte ci sono delle eccezioni, ndr.)

Ad esempio, sfruttando tutto il potenziale di PHP, come è possibile implementare la funzione di cui parlavo la volta scorsa, quella per calcolare la somma di tutti i numeri interi compresi tra due interi?

Continua a leggere “Utilizzare il potenziale di un linguaggio di programmazione”

Mi è capitato in questi giorni di dover risolvere questo problema: dati due numeri interi, il primo più piccolo del secondo, si vuole calcolare la somma di tutti gli interi compresi tra questi due estremi, inclusi i due estremi.

Sembrerebbe banale, ma dover eseguire questa operazione su estremi molto distanti tra loro può essere un’operazione ardua. Per questo motivo mi è stato chiesto di trovare una soluzione snella e di facile esecuzione.

La maggioranza dei comuni coder (programmatori) avrebbe fatto una interazione a partire dal primo estremo fino al secondo estremo e sommato, ad ogni interazione, il numero a quello precedente.

Inutile dire che questa, per quanto possa essere una soluzione funzionante, agli occhi di un’analista e sviluppatore è una soluzione orribile e poco funzionale.

Qui voglio mostrare come si dovrebbe approcciare a questo, ma in generale, a qualsiasi problema che debba essere risolto da un software. Alla fine di questo articolo avremo una soluzione elegante e funzionale al problema.

Per prima cosa ho iniziato a giocare con i numeri ed ho scoperto una proprietà che poi mi ha aiutato ad elaborare una funzione generale per risolvere il problema.

Continua a leggere “La somma di tutti i numeri interi compresi tra due interi”

2008-12-04 | Tags: ,

Quando il lavoro coincide con la più grande passione della propria vita ci si ritrova a spendere energie cerebrali anche quando non serve a nulla farlo.

Questa premesse dovrebbe già aver risposto all’eventuale domanda: perché fare un algoritmo per calcolare la successione di Fibonacci?

In realtà la mission iniziale era quella di vedere fino a che punto potevo spremere l’architettura del server, cioè volevo sapere qual era il numero massimo calcolabile, esprimibile e salvabile con l’architettura del server su cui opero.

Fare un loop che sommasse uno fino a quando il server non andasse in errore non è il massimo che possa nascere dalla mente di uno sviluppatore, ecco perché pensando al benchmark mi è venuto in mente Fibonacci.

Senza fare la lezione di matematica, la successione di Fibonacci è una sequenza di numeri naturali interi che parte da due valori (O e 1) e i sui successivi sono la somma dei precedenti due: 0, 1, 1, 2, 3, 5, 8, eccetera.

Continua a leggere “Calcolare la successione o sequenza di Fibonacci”

2008-12-02 | Tags:

Con questo articolo pubblico quanto di più interessante ho letto in questa settimana in giro per la rete.

Continua a leggere “Selezionati dalla rete”

2008-11-29 | Tags: , ,

PHP non smette mai di sorprendermi.

Leggendo qua e la ho trovato una che onestamente non avevo mai letto da nessuna parte. Per scrupolo sono andato anche a vedere sul libro della certificazione, ma niente.

In pratica, con PHP, siamo capaci di scrivere un file che ritorni (return) una variabile (seguendo le stesse regole del return di una qualsiasi funzione). Successivamente con un include o un require, possiamo caricare questo parametro esattamente come faremmo se evocassimo una funzione.

Continua a leggere “Valore return da un include o require”

2008-11-25 | Tags:

Con questo articolo pubblico quanto di più interessante ho letto in questa settimana in giro per la rete.

Continua a leggere “Selezionati dalla rete”

2008-11-18 | Tags:

Con questo articolo pubblico quanto di più interessante ho letto in questa settimana in giro per la rete.

Continua a leggere “Selezionati dalla rete”

2008-11-16 | Tags: , ,

In questo articolo voglio illustrare come attivare l’utente Super Administrator di Windows, cioè l’utente che è in grado di modificare tutte le impostazioni di Vista, utile ad esempio quando perdiamo l’unico account Administrator del nostro computer. Inoltre, voglio illustrare come cambiare il comportamento del tasto spegnimento del menu Start, che in condizioni normale mette in stand-by il sistema ma non effettua lo spegnimento vero e proprio.

Ovviamente per effettuare tutte queste operazioni occorre essere loggati con un utente Administrator, o indicare i dati di accesso Administrator quando il sistema chiede tali dati.

Continua a leggere “Windows Vista: Super Administrator e Spegnimento”

Pagina 1 di 1812345678910»...Ultima »