Competenze informatiche:
Sviluppo HTML/CSS | |
Sviluppo PHP/MySql | |
Sviluppo Javascript/jQuery | |
Sviluppo Java/JSP | |
Sviluppo ASP/ASP Net. | |
Sviluppo C/C++ | |
Sviluppo Flash/ActionScript | |
Sviluppo grafica | |
Conoscenze S.O. | |
Conoscenze sistemistiche |
Per maggiori dettagli consulta:
Curriculum Vitae
Biografia completa
Durante gli studi universitari ho sviluppato alcune applicazioni informatiche, prevalentemente in linguaggio Java.
Di seguito sono dettagliatamente commentate.
Gestione Magazzino (v1.0 e 2.1plus)
Ho sviluppato alcune applicazioni software durante il mio percorso universitario, alcune delle quali nate semplicemente dal piacere di programmare e dalla voglia di apprendere nuovi concetti software.
Il primo software da me interamente realizzato si chiama “Gestione Magazzino”, nelle due versione 1 e 2.1plus, risalenti al 2005. Questo programma permette di gestire e risolvere tutte le problematiche inerenti la gestione di un magazzino, sia esso di una grande azienda o semplicemente di un’attività commerciale .
Il software implementa un database, dove ogni voce presente in esso è un determinato prodotto. L’utente può, con delle semplici operazioni dal menu principale, gestire i vari aspetti; che vanno dall’inserimento in magazzino di nuova merce, la catalogazione in base al prezzo, alla tipologia o alla provenienza, le operazioni di carico e scarico nonchè un resoconto descritto di ogni singolo prodotto disponibile.
L’applicazione è realizzata interamente in linguaggio Java, la grafica è minimale ma le funzioni sono innumerevoli; ad esempio è possibile gestire più database di prodotti. Nonostante ciò è un prodotto il cui utilizzo è molto intuitivo e quindi consigliato anche a un utente inesperto.
Fabio’s Pad (v1.0)
Nel 2006 ho realizzato Fabio’s Pad v1.0.
Questo progetto a suo tempo mi impegnò per svariati giorni e mesi ma il risultato finale fu per me una vera soddisfazione. A distanza di quasi tre anni, reputo questo uno dei miei lavori più riusciti, o comunque il primo nel quale mi “gettai” con passione alla sua realizzazione.
Fabio’s Pad è un editor di testo, molto simile al famoso Blocco note di Windows o Notepad, ma con funzionalità aggiuntive che lo rendono molto più vicino a un vero e proprio Word processor di quelli più conosciuti.
E’ possibile scrivere dei documenti, scegliere lo stile, lo sfondo, il carattere o l’allineamento; inserire date, elenchi puntati o numerati e nonchè utilizzare le classiche funzioni di copia, incolla, taglia, ripeti, annulla e trova.
Fabio’s Pad permette di salvare il proprio testo o stamparlo, quindi caricare un documento e modificarlo.
All’interno dell’applicazione è possibile controllare alcune utili impostazioni, come il colore del testo sottolineato, l’ampiezza del rientro del testo e il colore del cursore; inoltre Fabio’s Pad è personalizzabile con l’uso di quattro differenti temi con colori tenui o sgargianti.
Il programma è inoltre fornito di due semplici applicazioni; una calcolatrice e un euro calcolatore, accessibili attraverso il menu Utility. Attraverso una semplice ToolBar superiore si può accedere a tutte le funzioni di uso frequente, e nell’area Help è possibile consultare una guida rapida e precisa.
Oltre a l’uso come word processor, è possibile utilizzare Fabio’s Pad come editor dei linguaggi di programmazione o di markup, infatti permette di gestire i file con estensione .java, .c, .html e .css.
Tutto questo in un prodotto, scritto in linguaggio Java, estremamente leggero e versatile dal punto di vista software ma dalle prestazioni assolutamente ottime.
Tris
Nel novembre del 2006 ho realizzato un semplice gioco del tris.
E’ consentito giocare nella modalità uno contro uno, a turno i giocatori fanno la loro mossa inserendo il proprio colore nella posizione scelta. Vince chi fa tris. L’applicazione colleziona le statistiche sulla partita in corso, contando le partite vinte dall’uno o dall’altro giocatore, nonchè le partite finite nulle.
Programma scritto in Java.
Agenzia Immobiliare (v1.0)
Durante la preparazione dell’esame di Ingegneria del Software, realizzai Agenzia Immobiliare versione 1.0. Il programma, simile nelle funzionalità a Gestione Magazzino, permette il mantenimento di un database di immbobili suddivisi per categoria, prezzo, metri quadri e locazione. L’applicazione si rivolge al settore della compravendita immobiliare. E’ possibile inserire i dati di un appartamento, villa, monolocale, garage o altro, comprensivi dei dati utili all’acquirente nonchè di foto e immagini illustrative.
A questo punto è possibile realizzare in maniera veloce e facile varie ricerche sull’intero database; in pochi attimi è possibile ricercare gli immobili attraverso vari criteri; ad esempio per locazione, oppure prezzo compreso tra due soglie oppure in base ai vani o ai metri quadri.
L’applicazione inoltre gestisce un database con i dati di tutti i clienti che hanno acquistato o mostato interesse verso un determinato immobile.
Agenzia Immobiliare si presenta con una veste grafica sobria e dai colori tenui, attraverso il pannello principale è possibile accedere a tutte le funzioni principali e all’area di gestione dei clienti.
Il programma è scritto in linguaggio Java.
Fabio’s Chat
Nel 2007 e all’inizio del 2008, studiando materie come: Programmazione Distribuita e Programmazione su Reti ho acquisito conoscenze su socket, Java Rmi, Soap e linguaggi server-side.
In questo periodo ho sviluppato molte applicazioni di rete, tra cui chat, messaggeria e applicazioni per la fruizione di servizi web. In particolare ho creato numerose chat, alcune delle quali funzionanti anche semplicemente a linea di comando, che oltre a includere l’invio e la ricezione di messaggi implementano alcuni semplici giochi di gruppo.
Fabio’s Chat è indubbiamente l’applicazione finale di questo mio studio.
Permette all’utente di entrare in chat utilizzando un proprio nickname, visualizzare tutti gli utenti connessi, effettuare comunicazioni libere o private. Inoltre è possibile interagire con giochi di cultura generale che si basano su domanda e risposta, dove ogni partecipante alla chat può essere protagonista.
Fabio’s Chat è stata realizzata utilizzando la tecnologia Java RMI, ed è stata testata con successo all’interno di reti locali (Lan).
Fabio’s Planner
Nei primi mesi del 2008 ho concluso lo sviluppo di un applicazione desktop chiamata Fabio’s Planner.
Quest’applicazione si rivolge a qualsiasi utente che trascorra parte della sua giornata lavorando a un personal computer; infatti il programma è essenzialmente un’agenda elettronica che permette di gestire appuntamenti e riunioni nonchè promemoria e appunti.
Ma Fabio’s Planner non si conclude quì. All’interno sono implementate moltissime funzioni che si integrano l’una con l’altra, ad esempio è possibile trovare una rubrica telefonica nella quale memorizzare i dati di una persona compresi di numero telefonico, indirizzo e mail. Oppure un modulo per la gestione dei compleanni, che avverte l’utente di giorno in giorno sull’avvicinarsi o sulla presenza di un compleanno. Inoltre è implementato un semplice blocco note, una sveglia e un box security, nel quale è possibile scrivere note segrete dopo aver avuto accesso all’area di autenticazione.
L’ultima funzione, ma non ultima per qualità, è la gestione della contabilità giornaliera. Per ogni giorno l’utente può memorizzare le proprie spese in maniera dettagliata, e ugualmente fare con le uscite.
Fabio’s Planner mantiene gli appuntamenti, le note, i compleanni, i contatti, la contabilità e le informazioni riservate; tutto in una sola applicazione.
L’interfaccia grafica è curata nei dettagli, senza tralasciare le funzionalità. Tutto è a portata di un clic. Fabio’s Planner è stato realizzato in linguaggio Java.
Progetto amore
All’inizio del 2008 ho sviluppato una simpatica applicazione per la mia fidanzata.
Prende il nome di Progetto Amore. Il programma non ricopre nessuna funzione particolare; visualizza i giorni, le ore e i minuti trascorsi dal giorno del fidanzamento in tempo reale, include una sezione contenente foto, lettere e alcune funzioni particolari.
Ad esempio è presente una funzione che a una determinata domanda di input ritorna una risposta conseguenziale di output; oppure un modulo che inserita una data calcola l’età della coppia e il loro tempo di fidanzamento.Non mancano inoltre tante animazioni, e un semplice giochino che si basa sul famoso Mine di Windows, dove lo scopo è cercare il cuore nascosto.
Progetto amore, non ricopre il ruolo di applicazione a scopo di studio ma bensì direi un ruolo filosofico.
Infatti quello che ho voluto dimostrare con questo lavoro è che la programmazione deve essere vista come un’arte, alla pari della pittura e della scultura; programmare non vuol dire scrivere delle linee di testo incomprensibili ai più, ma dare vita alla propria fantasia, voglia di fare, di ideare e progettare. Creare software vuol dire questo per me, vuol dire creare dal nulla qualcosa di straordinario per te e gli altri.
Nonostante ciò, penso che non vedremo mai una galleria d’arte che espone un quadro di Picasso e un software…
Memory
Nel mese di Settembre 2008 ho realizzato il gioco chiamato Memory, nelle versioni 0.5 e 1.5.
Il gioco consiste nello scoprire le carte capovolte sul tavolo a due a due in maniera da scoprire la coppia uguale; se le due carte sono uguali allora vengono eliminate dal tavolo, in caso contrario vengono ricoperte. Il gioco termina al finire delle carte sul tavolo da gioco.
Memory si basa sul gioco omonimo molto in voga negli anni ’80 ’90 tra i più piccoli, infatti l’unica raccomandazione è avere tanta memoria sulle carte già girate nonchè un pizzico di pazienza.
L’applicazione che ho realizzato è funzionante in 4 varianti, ognuna delle quali differente solamente per il numero di carte coperte all’inizio del gioco. Ogni carta è numerata, è sul tavolo sono presenti solo e soltanto due carte con lo stesso numero formanti la coppia.
Memory si presenta con una veste grafica ricca di colori, e con un menu di semplice utilizzo, attraverso il quale è possibile consultare la classifica dei punteggi migliori e un breve Help.
Memory è stato realizzato in linguaggio Java.
JWhisper
Tra la fine del 2008 e l’inizio del 2009 ho collaborato allo sviluppo di un’applicazione in Java Micro Edition nell’ambito del tirocinio di fine carriera accademica.
Il lavoro è stato svolto presso il Dipartimento di Informatica ed Applicazioni della Facoltà di Scienze Matematiche, Naturali e Fisiche dell’Università degli Studi di Salerno.
JWhisper è un applicazione J2ME per cellulari. Permette di inviare e ricevere sms crittografati utilizzando schemi a chiave pubblica/privata.
Il suo sviluppo si è reso necessario per rispondere al bisogno sociale di sicurezza e di privacy nelle comunicazioni digitali che è ormai da diversi anni in continua crescita.
Milioni di persone si scambiano ogni giorno SMS per
comunicare velocemente e a basso costo, ma pochi conoscono le vulnerabilità di questa tecnologia e i rischi di violazione della privacy a cui sono sottoposti, soprattutto se sempre più spesso, questa modalità di comunicazione è utilizzata per inviare o ricevere informazioni confidenziali, quali scambio di password,
dati personali e numeri di carta di credito.
Da un lato, gli operatori telefonici sono tenuti a conservare sui propri server tutti gli SMS in chiaro, dall’altro, gli SMS inviati e ricevuti sono solitamente conservati in chiaro nella SIM o nella memoria del cellulare. Basta quindi avere a disposizione per qualche minuto il telefono cellulare per violare la privacy del proprietario.
Inoltre, le specifiche GSM non definiscono un meccanismo per garantire l’integrità del contenuto di un sms e l’autenticità del mittente.
La prima versione di JWhisper permette il solo uso della tecnica a Curve Ellittiche con chiave di 192 bit per la trasmissione dei messaggi, e fonda la sua forza su un’interfaccia estremamente intuitiva e funzionale, che permette all’utente di accedere alle funzioni in maniera veloce e trasparente.
Tramite un menù di scelta, l’utente può effettuare le seguenti operazioni per inviare un sms:
• inserire un nominativo in rubrica
• scambiare le chiavi pubbliche
• scrivere un nuovo sms e crittografarlo
Le chiavi vengono memorizzate nella memoria del cellulare, e sono riutilizzabili ogniqualvolta è richiesto l’invio di un sms.
Il passo successivo è stato quello di realizzare una nuova versione di JWhisper, che mantenendo intatte le caratteristiche funzionali di base, possa permettere di accrescere in maniera modulare gli standard di sicurezza.
In altre parole, rendere il sistema utilizzabile con svariati algoritmi di cifratura. Passare dall’utilizzo delle Curve Ellittiche, a algoritmi come RSA, DSS, DES e via dicendo.
Ad oggi JWhisper implementa in maniera efficiente l’algoritmo di cifratura e di firma con curve ellittiche ed è predisposto, tramite l’aggiunta di plug-in, all’utilizzo di più algoritmi. Sarà l’utente che utilizza il software a scegliere di volta in volta la logica di cifratura da utilizzare.
Per maggiori informazioni, contattarmi via e-mail.