mercoledì 27 ottobre 2010

Considerazioni Corso C#

Questo post nasce dall'esigenza di scrivere, di mettere su "carta digitale", di trasmettere a voi lettori l'esperienza semplicemente magnifica fatta nel preparare, presentare il Corso su C# 4.0 all'Ordine degli Ingegneri della Provincia di Catania. Ho sempre visto questa struttura come qualcosa di inarrivabile, un qualcosa a me lontano. Invece, mi sono sentito, nel mio piccolo, parte attiva di un progetto, di un trasmettere ciò che è tecnologia, ciò che è esperienza, "vita di programmatore" a me stesso per primo, a chi ci sentiva poi.
Un Grazie a chi ha creduto in noi in primis, un Grazie agli iperattivi Laura e Sergio, con cui ho avuto la gioia di condividere questi giorni.

Troverete QUI il materiale dell'ultimo giorno di corso.

Per ogni consiglio, suggerimento, non esitate a contattarci!

That's all, Folks!

lunedì 18 ottobre 2010

Corso C#

Ciao a Tutti!
Dopo molti mesi, passati a sviluppare un progetto che definire piccolissimo è riduttivo... Magari, descriverò il tutto in un successivo post.... :-)
Con la Commissione Informazione dell'Ordine degli Ingegneri della Provincia di Catania, di cui faccio parte da qualche mese, ormai, e con l'aiuto degli amici Laura La Manna e Sergio Galati, abbiamo organizzato un corso, che vuole essere di base, per la conoscenza del linguaggio C#, giunto ormai alla sua versione 4.0.
Uno strumento.. molto potente per lo sviluppo e lo sviluppatore!
Trovate QUI le slide e gli esempi trattati nel corso.
Per ogni informazione, news, aggiornamento e altro.. non esitate a contattarmi!

That's all, folks!

lunedì 29 marzo 2010

Asp.net: Utilizzo delle QueryString con Asp.Net e C#

Per diversi motivi, può tornare utile recuperare un parametro in QueryString.

Come recuperare un parametro in QueryString di tipo stringa? Nel seguente Modo.

if (Request.QueryString["categoria"] != null {
string categoria= Request.QueryString["categoria"];
}

Se il valore è diverso da null, allora recuperiamo la QueryString memorizzandola in una variabile di tipo string e la utilizziamo dove ci serve.

Basta nel Browser inserire l'indirizzo http://localhost/nomepagina.aspx?categoria=CONCESSIONARIO.

That's all, folks!

lunedì 22 marzo 2010

Accedere ad un repository Subversion da Web

E' sorta l'esigenza di Accedere ad un Repository su Web. Devo fare alcune prove, ma ho trovato questo link, dal Blog di Marco Minerva.
Chissà, potrebbe tornami utile....

sabato 20 marzo 2010

Visual Studio 2010 in Streaming

Giorno 12 Aprile dalle 14.30 alle 18.00 verrà lanciato in streaming l'evento

Lancio di Visual Studio 2010

Secondo me un bellissima opportunità per chi vuole assaporare in anteprima la piattaforma che Microsoft mette a disposizione dei propri sviluppatori.

Io mi sono già registrato a questo link e tu?...

lunedì 15 marzo 2010

A.C.I.D.

Siamo in ambito dei database, e ACID, a dispetto di ciò che a primo impatto ci si aspetti, deriva dall'acronimo inglese Atomicity, Consistency, Isolation, e Durability (Atomicità, Coerenza, Isolamento e Durabilità). Perché le transazioni operino in modo corretto sui dati è necessario che i meccanismi che le implementano soddisfino queste quattro proprietà:

1) Atomicity:
La transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni parziali;

2) Consistency:
Quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in uno stato coerente, ovvero non deve violare eventuali vincoli di integrità, quindi non devono verificarsi contraddizioni (inconsistency) tra i dati archiviati nel DB;

3) Isolation:
Ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre transazioni, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione;

4) Durability:
Detta anche persistenza, si riferisce al fatto che una volta che una transazione abbia richiesto un commit work, i cambiamenti apportati non dovranno essere più persi. Per evitare che nel lasso di tempo fra il momento in cui la base di dati si impegna a scrivere le modifiche e quello in cui li scrive effettivamente si verifichino perdite di dati dovuti a malfunzionamenti, vengono tenuti dei registri
di log dove sono annotate tutte le operazioni sul DB.

... and that's all, folks!

venerdì 19 febbraio 2010

Ogni tanto fa bene Ricordarselo ...

L'ingegnere Informatico

La formazione culturale dell'Ingegnere Informatico si fonda sulle caratteristiche tradizionali dell'Ingegnere:

1. solida preparazione di base nelle discipline tecnico-scientifiche;

2. conoscenze approfondite dimatematica, ricerca operativa, statistica, per interpretare e descrivere problemi di ingegneria;

3. conoscenze trasversali di materie ingegneristiche, per concepire sistemi integrati.

A queste caratteristiche si aggiungono le competenze specifiche dell'ingegneria informatica, quali:

  1. sistemi di elaborazione, metriche e metodologie di modellazione analitica e simulativa;
  2. processi di sviluppo industriale dei sistemi software;
  3. le basi teoriche dell'informatica per una profonda comprensione dei linguaggi di programmazione.

Operando in un settore caratterizzato da mutamenti rapidie difficilmente prevedibili, il buon Ingegnere Informatico ha la capacità diaffrontare problemi nuovi e di sviluppare approcci innovativi fondati sulla conoscenza approfondita di tecnologie e di metodologie. Inoltre egli è preparato adaggiornare nel tempo le proprie conoscenze sia professionali che tecniche.

Il settore dei Sistemi Informaticiriguarda il progetto e la gestione di sistemi di elaborazione, sia dal punto di vista dell'architettura hardware, che dal punto di vista dello sviluppo di sistemi software. Inoltre la tecnologia dei Sistemi Informatici costituisce il supporto essenziale per lo sviluppo di settori emergenti quali il commercio elettronico, le comunicazioni via Internet, la produzione e la distribuzione di informazione multimediale, i servizi informatici per la sanità e per l'istruzione.

Una parte rilevante della preparazione dell'Ingegnere Informatico è dedicata allaproduzione ingegneristica del software, vista nei suoi tre aspetti:

  1. capacità individuale di progettare e sviluppare buoni ed efficienti programmi,
  2. capacità di lavoro cooperativo in gruppo,
  3. metodologie per gestire grandi progetti software che coinvolgono decine, centinaia o più sviluppatori.

L'ingegnere informatico ha le basi per comprendere a fondo i processi su cui opera (macchine, impianti, sistemi organizzativi, sistemi produttivi, elettronica...) ed a questo deve la sua flessibilità e la sua capacità di intervenire nei settori più disparati.

Aree di attività

Architetture Web. Reingegnerizzazione dei processi informatici industriali. Ingegneria del Software. Sistemi Distribuiti. Sistemi intelligenti. Sicurezza nei sistemi informatici.

Sbocchi Professionali

Gestione, amministrazione e progettazione di sistemi informatici complessi. Libera professione. Società di consulenza. Informatica nella pubblica amministrazione. Settore privato (automazione, informatica e telecomunicazioni). Progettazione del software. Progettazione e gestione di servizi Web.

venerdì 22 gennaio 2010

ViewState.... Questo Sconosciuto...

.. Semplicemente, un meccanismo utilizzato da ASP.Net per tenere traccia dello stato di un controllo, attraverso un campo nascosto nel Form. Attraverso questa soluzione, viene trasferito la gestione dello stato dei controlli dal Server al Client; solo quando il Client effettuerà il PostBack della pagina al Server, attraverso, il ViewState, verranno ripristinate tutte le impostazioni delle informazioni presenti nella pagina (il passaggio di valori tra Client e Server viene detto Server RoundTrip).

E ricordate: PostBack si intende il caricamento della stessa pagina in seguito all'esecuzione di un Form :-)

... and that's all, folks!

Ciclo di Vita di una pagina ASP.Net

Per un promemoria personale, ma per chi semplicemente volesse ricordalo. E' molto importante comprendere, per uno sviluppatore ASP.Net la comprensione del ciclo di vita di una pagina, soprattutto se bisogna cambiare proprietà alla pagina stessa oppure implementare metodi particolari.
Vado per acronimi, per ricodarmi più facilmente il ciclo di vita.

S - Start
I - Initialize
L - Load
V - Validate
E - Event Handling
R - Render

Vediamo brevemente cosa comporta ciascun evento:

S - START
In questo evento vengono impostate alcune proprietà come Request, Response, IsPostBack. Per intercettare questo evento, bisogna usare il metodo PreInit. In questo evento è possibile impostare una masterpage, il team della pagina o la creazione di controlli. E' importante ricordarsi che i valori dei controlli non sono stati ancora impostati dai valori del ViewState. Ciò comporta che se si cambia un valore in questa fase, è possibile subito dopo venga sovrascritto

I - Initialize
Questo evento viene scatenato dopo che i temi sono stati applicati e gli id dei controlli sono stati impostati. Microsoft ci suggerisce di utilizzare i metodi:
  • Init: scatenato dopo l'applicazione della skin. Utilizzare questo metodo per leggere o inizializzare le proprietà dei controlli;
  • InitComplete: scatenato dall'oggetto Page. Utilizzare questo evento per la trasformazione di tutti i compiti che richiedono che l'inizializzazione è completata
  • PreLoad: utilizzare questo evento se bisogna effettuare dei controlli o delle trasformazioni sulla pagina prima che venga caricata

L - Load
Utilizzata frequentemente. Qui vengono caricate le informazioni ricavate dal viewstate. Si possono impostare le proprietà di tutti i controlli e si possono stabilire connessioni al database

V - Validation
Se ci sono dei controlli che richiedono la validazione, viene scatenato questo evento ed è possibile controllare la proprietà IsValid del controllo

E - Event Handling
In questa fase vengono invocati gli eventi dei controlli server (Click, SelectedIndexChanged, ...). Gli eventi più usati sono:

  • LoadComplete: invocato quando tutti i controlli sono stati caricati;
  • PreRender: invocato per ogni controllo presente sulla pagina. Viene alla fine salvato il ViewState della pagina e di tutti i controlli
  • SaveStateComplete: viene invocato quando il ViewState è stato salvato

R - Render
Evento chiamato per ogni controllo presente nella pagina. Scrive il markup HTML del controllo per il browser

Metodi:

I seguenti metodi sono chiamati durante il ciclo di vita di una pagina Asp.Net:

  • PreInit
  • Init
  • InitComplete
  • PreLoad
  • Load
  • Contro (PostBack) event(s)
  • LoadComplete
  • PreRender
  • SaveStateComplete
  • Render
  • UnLoad

and that's all folks!