Author Archive

MySQL

Come usare le Stored Procedure in MySQL

Esattamente come una funzione in qualsiasi linguaggio di programmazione evita di riscrivere più volte le stesse cose, le Stored Procedure sono un ottimo metodo di ripetetere query complicate e parametrizzarle in modo da poterle riutilizzare in qualsiasi momento, e col vantaggio di non lavorare direttamente con stringhe SQL chilometriche.

Per creare una nuova Stored Procedure è necessario avere installato MySQL con versione maggiore o uguale alla 5.0 (le Stored Procedure sono state infatti introdotte proprio nella versione 5.0). Se si utilizza il MySQL Query Browser la creazione è abbastanza immediata:

Clic col tasto destro sul database in cui si vuole creare la procedura (Dalla versione 5.0.1 le Procedure sono assegnate a un Database specifico, nella versione 5.0 invece erano globali)

New Stored Procedure From QueryBrowser

Continue Reading »

.NET, C, Source Code

Accesso ottimizzato alle Bitmap

Se bisogna fare elaborazione delle immagini in c#, il metodo più immediato per un programmatore di accedere ai pixel di una Bitmap è quello di utilizzare i metodi SetPixel() e GetPixel() forniti dal .NET. Purtroppo il metodo più veloce per il programmatore, spesso non corrisponde al metodo più veloce per il programma: considerando che queste due funzioni sono MOLTO lente, se il vostro scopo è quello di analizzare tutti i pixel di un immagine o, ancora peggio, di fare elaborazione di tante immagini in sequenza, è fortemente sconsigliato utilizzarle. Per fortuna il c# è un linguaggio molto flessibile, che permette di fare cose ad altissimo livello ma che comunque ci lascia sempre la possibilità di scendere a basso livello quando è necessario.

In questo articolo per semplicità tratterò soltanto le immagini a 8bpp (8 bit per pixel), ovvero a 256 colori.

Per riuscire a lavorare con i dati di un immagine in maniera veloce la soluzione è solo una: utilizzare il puntatore ai dati dell’immagine! Lavorare con i puntatori ad immagini è un pò come lavorare con i puntatori a char (le stringhe in c++): Il puntatore punterà al primo indirizzo di memoria dei dati della bitmap, dove sarà contenuto il primo pixel. Incrementando il puntatore andremmo ottenendo via via i valori degli altri pixel.
Puntatore a bitmap
Continue Reading »

C, Source Code

Abstract Base Class in C++

I linguaggi di programmazione più orientati agli oggetti, come il Java o il C#, utilizzano la classe Object come classe base astratta da cui derivano automaticamente tutte le classi che vengono create. Nel c++ questo approccio è meno diretto, in quanto quando viene creata una classe questa non deriva da nessun’altra classe. Ciò permette al c++ di essere più ottimizzato e permette al programmatore di scegliere l’approccio che più preferisce all’interno del proprio progetto: Se questo è un progetto semplice si possono utilizzare le classi senza grandi problemi, altrimenti conviene crearsi una propria Abstract Base Class (per gli amici ABC) da cui derivare tutte le proprie classi.

Abstract Base Class

Continue Reading »

Windows

Vista 3.1

Oggi ho installato Vista a casa di amici e abbiamo scoperto che quando la Microsoft dice che le DirectX10 possono girare soltanto su Windows Vista perchè fortemente legate alle nuove funzionalità del sistema operativo sta semplicemente dicendo porcate, perchè quest’ultimo in realtà dipende ancora da Windows 3.1!!!! :f2:

Windows Vista 3.1

Come si nota dall’immagine infatti la schermata di selezione della directory è rimasta ancora quella di Windows 3.1!!! Su Windows Xp era già presente questo “bug” (Pannello di controllo->Font e aggiungete un carattere), ma la Microsoft non l’ha ancora corretto nonostante questa schermata risalga ormai ai tempi preistorici! :f8:

Wordpress

Wordpress e problemi coi permalink.

L’unico problema grave che ho riscontrato durante l’installazione di Wordpress si è verificato quando ho modificato la struttura dei permalink di Wordpress: innanzitutto appena ho attivato il template basato su data e nome, Wordpress mi ha indicato che non era possibile scrivere il file necessario per configurare il server Apache per il redirect delle pagine (.htaccess). Tramite un client FTP ho quindi dovuto creare un file .htaccess vuoto nella root del server (o ancora meglio, nel posto dove si trova il file index.php), e settare gli attributi del file a 666 (non significa che il file è indemoniato, ma che ha i diritti di scrittura/lettura necessari per compiere l’operazione). State attenti che il vostro client FTP probabilmente non visualizza i file nascosti di default (il punto all’inizio del nome del file su Unix indica che il file è nascosto), e probabilmente dovrete abilitare questa opzione dalla configurazione del programma. Io all’inizio uploadavo il file .htaccess e non capivo perchè questo scomparisse un attimo dopo! :f6: In realtà il file rimaneva lì, ma il client FTP non me lo mostrava… :f7:

Dopo aver fatto ciò e ad aver nuovamente impostato il template basato su data e nome, mi si è presentata una bella schermata di Apache con relativo Errore 500 (ovvero un errore generico che neanche il server è riuscito ad interpretare).

Apache Internal Error 500

Continue Reading »

Wordpress

Installare Wordpress

Considerando che ho appena installato e configurato Wordpress, credo proprio che il miglior modo di iniziare sia un mini how-to personalizzato su come installare e configurare Wordpress sul proprio host.

Ho iniziato scaricando l’ultima versione di Wordpress disponibile (la 2.1) da WordPress Italy e con un client FTP (FileZilla è ottimo) ho uploadato tutti i file di wordpress nella root (la directory principale) del mio webserver.

Se il vostro servizio di hosting vi fornisce già il database configurato, allora annotatevi i dati di login e saltate direttamente al passo n.56, altrimenti se siete su un server completamente vostro dovrete crearvi il database.

Per crare il database mi sono fatto aiutare dal Mysql Administrator: ho creato un utente e una tabella nel database mysql e ho assegnato all’utente appena creato tutti i privilegi sulla tabella. Se preferite lavorare dalla console mysql, dovrete prima loggarvi come root:
Continue Reading »

Site

Benvenuti su Dzamir’s Programming Blog!

UPDATE: Il sito alla fine è stato spostato su coders4fun.com :)

Benvenuti su Dzamir.com!! :f2:
Io sono un quasi Ingegnere Informatico con la passione dell’informatica (ci mancherebbe… altrimenti non avrei intrapreso gli studi in informatica! :f7: ) e questo blog nasce dall’esigenza di scrivere le mie esperienze di programmazione in modo da salvarle da qualche parte e lasciarle ai posteri (attaccate ai muri)! :f2:

I principali linguaggi di programmazione che conosco e che quindi tratterò direttamente o indirettamente con tutorial, guide o articoli sono:

  • C (Potenza pura)
  • C++ (Potenza all’ennesima potenza :f17: )
  • C# (Potenza facile da usare)
  • Java (Potenza facile da usare e multipiattaforma)
  • VisualBasic (una schifezza totale, sono stato costretto a usarlo per motivi di lavoro :f8: )
  • Pascal, Delphi, Basic, php, jsp e tanti altri…..

Tratterò anche gli argomenti che mi stanno più a cuore, come la programmazione di videogiochi e di tools, o di cui ho avuto esperienza, come la programmazione su Windows, la gestione dei progetti e tante altre cose belle che deciderò col tempo. Ovviamente cercherò sempre di includere codice sorgente esemplificativo scritto da me quando è possibile!

Spero vivamente che questo mio blog sia apprezzato e che possa tornare utile a più gente possibile!

« Prev