Le Novità introdotte con il rilascio di Visual Studio 2010 e del .NET framework 4.0

Giorgio Borelli

Le novità di Visual Studio 2010 e del .NET framework 4.0Non sono solito recensire le ultime news dal mondo dell'informatica, ma questa, anche se sono già in ritardo, merita una menzione speciale, anche perchè ci riguarda da vicino.

Sebbene con un piccolo spostamento rispetto alla data ufficiale (22 Marzo), il 12 Aprile è stato rilasciato ufficialmente il nuovissimo Visual Studio 2010, stiamo ovviamente parlando dell'ultimissimo IDE (Integrated development environment) di casa Microsoft, il quale porta in dote niente po po di meno che l'ultima versione della piattaforma di sviluppo preferita, ovvero il framework.NET 4.0.

Giustamente la curiosità, le pretese, e le aspettative su questo nuovo ambiente di lavoro sono tante, andiamo a fare pertanto una breve panoramica sulle novità principali introdotte con il rilascio di Visual Studio 2010 e del .NET framework 4.0.

Prosegue...

Categorie: .NET framework | Visual Studio

Tags: , ,

Come Intercettare un controllo ASP.NET all'interno della riga di una GridView in Edit Mode

Giorgio Borelli

Evento RowUpdating di una GridView per intercettare un controllo ASP.NET all'interno della riga di una GridView in Edit Mode

Una delle esigenze molto sentite tra gli sviluppatori ASP.NET è quella di poter gestire ed avere il pieno controllo della GridView, un controllo molto usato per la presentazione, la paginazione e la modifica di liste di dati.

Tramite il controllo GridView di ASP.NET pertanto è facile gestire liste di dati, la GridView infatti presenta tutta una serie di proprietà che consentono con facilità di formattare, paginare e gestire le "liste". La GridView consente inoltre di gestire i dati sia in "Presentation Mode" che in "Edit Mode", quest'ultima modalità risulta comoda per l'aggiornamento (update) di un record rappresentato dalla singola riga della GridView, le cose si complicano un pò però quando si cerca di avere il controllo completo su un elemento asp.net all'interno della riga della GridView, in source view infatti non riusciamo ad accedere al controllo tramite il suo ID poichè non viene visto dalla classe Page in quanto "mascherato" all'interno della GridView stessa.

Come fare allora per accedere ai controlli specificati nelle righe di una GridView di asp.net in Edit Mode? Dobbiamo sfruttare l'Evento Row_Updating e scrivere qualche riga di codice per intercettare la riga selezionata e l'ID del controllo interessato, andiamo a scoprire come fare.

Prosegue...

Categorie: ASP.NET

Tags:

Boxing e Unboxing

Giorgio Borelli

Cos'è il boxing e unboxing del .NET frameworkIl Common Language Runtime (CLR) del .NET framework è in grado di eseguire applicazioni scritte in uno qualsiasi dei linguaggi supportati dalla piattaforma, quali C# o VB.NET, anche misti fra loro, questo è possibile grazie al Common Type System (CTS), ovvero l'insieme comune e condiviso dei tipi all'interno del framework.

In altre parole, ad esempio, il tipo int di C# ed integer di VB, durante l'esecuzione non sono altro che il tipo comune System.Int32 del framework.NET, tutto questo sempre ammesso che i linguaggi utilizzati soddisfino determinate specifiche (CLS - Common Language Specification) che li rendano compatibili con quelli comuni del framework.

Fatta questa premessa dovuta per avere un quadro più completo dell'argomento, diciamo che tra i tipi comuni del CLR, vi è un tipo generico da cui derivano tutti gli altri, il tipo System.Object, infatti si suole dire che nel .NET framework qualsiasi cosa è un'oggetto, sia questo un tipo intero, booleano o una classe stessa. La possibilità di avere un tipo generico che rappresenti qualsiasi dato all'interno del nostro programma ci consente di usarlo per potergli associare un qualsivoglia oggetto, sia esso un Tipo Valore o Tipo di Riferimento. Ad un primo impatto questo approccio potrebbe risultare molto comodo, uso solo tipi Object, e l'applicazione gira ugualmente, fregandomene della definizione dei tipi e della loro opportuna gestione.

Ma siamo certi che questo approccio sia corretto, purtroppo no, usare un tipo Object generico porta ad un decadimento delle prestazioni dell'applicazione, poichè avvengono le operazioni di Boxing e Unboxing per la conversione dà Tipi Valore a Tipi di Riferimento e viceversa, andiamo quindi a scoprirne di più su cosa avviene nelle operazioni di Boxing e Unboxing.

Prosegue...

Categorie: .NET framework | C#

Tags: ,

Differenze tra Tipi di Valore e Tipi di Riferimento

Giorgio Borelli

Le principali caratteristiche e differenze tra i tipi di valore ed i tipi di riferimento del .NET frameworkI linguaggi supportati dal .NET framework quali C# e VB si dice che sono strongly-typed, ossia fortemente tipizzati, in parole povere ogni variabile od oggetto dichiarato all'interno del programma deve definire un tipo e lo deve rispettare (pena un errore di compilazione).

Pertanto un tipo descrive le caratteristiche dell'informazione che esso dovrà andare a rappresentare all'interno del programma a mezzo di una variabile, sia esso un numero, una sequenza di caratteri od oggetti più complessi come istanze di classi, in ogni caso ogni elemento all'interno di un programma sviluppato col .NET framework deve essere dichiarato a mezzo di un tipo e ne deve rispettare le funzionalità durante l'uso.

I tipi non si differenziano però solo per il dato che rappresentano, ma anche per la gestione che di questi se ne fà in memoria. All'interno del .NET framework, o meglio del CLR (Common Language Runtime) sono definite due categorie di tipi, i Tipi di Valore (Value Types) e Tipi di Riferimento (Value References), l'una e l'altra categoria presenta le proprie caratteristiche e soprattutto ha un diverso metodo di allocazione della memoria, per chi vuole iniziare a programmare in .NET non può prescindere dalla conoscenza di queste nozioni di base relative ai tipi per valore e per riferimento, andiamo a vedere pertanto le principali caratteristiche e differenze.

Prosegue...

Categorie: .NET framework | C# | Programmazione

Tags: ,

Consigli e trucchi per navigare velocemente tra le Risorse di Rete

Giorgio Borelli

Come navigare velocemente tra le risorse condivise in reteNel precedente articolo avevamo visto le nozioni di base per usare una rete domestica in ambiente Windows, condividere o rendere una cartella privata in rete è semplicissimo, basta fare tasto dx su di essa e scegliere proprietà ed abilitare la condivisione dall'opportuna scheda, settando eventualmente anche gli opportuni permessi.

Ma come si fà ad accedere alle risorse condivise in rete? Basta andare in start -> Risorse di Rete, tutto quà direte voi, beh si accedere alle risorse in rete è davvero banale, ci sono però alcuni trucchi e scorciatoie per raggiungere le risorse condivise che non tutti conoscono, i quali permettono di risparmiare una notevole quantità di tempo e muoversi agevolmente nella rete.

Andiamo a scoprire dunque quali sono i metodi per accedere alle risorse di rete, dai più semplici sino a qualche trucchetto da vero geek.

Prosegue...

Categorie: Hack | Reti

Tags: ,

Come configurare ed usare una rete LAN in Windows

Giorgio Borelli

Assegnare un indirizzo IP statico in una rete WindowsDopo aver speso tempo e denaro per costruire la propria rete domestica, acquistando router, schede di rete, cavi ethernet e chi più ne ha più ne metta, è giunta finalmente l'ora di usarla, e di far comunicare i computer tra loro condividendo file, stampanti e risorse.

Sebbene il cablaggio e l'implementazione di una rete LAN possano costituire l'aspetto più oneroso sotto tutti i punti di vista, per la realizzazione della propria rete domestica, non è da sottovalutare la seconda parte dell'implementazione di una rete, ovvero la configurazione dei PC in rete ed il loro corretto utilizzo.

Riferendoci all'uso dei PC in rete in ambiente Windows, andiamo a scoprire quali sono i punti fondamentali per aggiungerli, configurarli ed usarli all'interno della nostra rete domestica.

Prosegue...

Categorie: Reti | Windows

Tags: ,

I tipi di dato in Sql Server

Giorgio Borelli

Visualizzazione colonne con i relativi tipi di dato di una tabella Microsoft Sql ServerNel precedente articolo avevamo visto quali erano i principali tipi di dati di un database Access, e spiegato l'importanza del corretto utilizzo dei tipi nella definizione di una tabella di un database. Ribadiamo nuovamente che la definizione dei tipi in un database è un'operazione fondamentale, la scelta adeguata del tipo di dato adatto a rappresentare un'informazione costituisce la base per lo sviluppo di un'applicazione funzionale e manutenibile, e permette inoltre di ottimizzare le tabelle e lo spazio che esse occupano.

Pertanto, oggi voglio parlarvi dei tipi definibili per un'altro noto e diffusissimo database relazionale, stiamo parlando di Sql Server, il potente database Engine di casa Microsoft.

Anche per Sql Server conoscere e definire i tipi di dati corretti, è un passo di fondamentale per l'architettura di un database performante.  Noteremo come a differenza di Access i tipi di dato definibili in Sql Server è molto più ampia e completa sotto tutti i punti di vista, si possono infatti di definire tipi per qualsivoglia dato e con dimensioni di gran lunga superiori a quelle permesse d'Access, sino a giungere alla dichiarazione di tipi personalizzati definiti dall'utente. Andiamo quindi a vedere quindi quali sono i tipi di dato in Sql Server.

Prosegue...

Categorie: database | Sql Server

Tags: ,

I tipi di dato in Access

Giorgio Borelli

Visualizzazione struttura di una tabella Access con vari tipi di datoQuando si progetta un database per un'applicativo, dopo aver pensato bene e fatta un'analisi dell'architettura della sorgente dati e steso il diagramma ERD (Entità Relazioni), il passo successivo è quello di cominciare a definire le tabelle con i propri tipi.

La definizione dei tipi in un database è un'operazione molto importante, poichè la scelta adeguata del tipo di dato adatto a rappresentare un'informazione, costituisce la base per lo sviluppo di un'applicazione funzionale e manutenibile, e permette inoltre di ottimizzare le tabelle, archiviando i dati nel loro formato corretto e rispare bytes gestendo il tipo corretto.

Anche per Access vale quanto detto, sebbene sia usato spesso per applicazioni di piccole dimensioni, la definizione dei tipi in Access assume un'importanza se vogliamo ancora più rilevante, proprio per ottimizzare al meglio la base di dati e risparmiare spazio, sfruttando così appieno le sue potenzialità ed il limite di 2Gb di spazio per l'archiviazione dati che esso ci mette a disposizione.

Conoscere e definire i tipi di dati corretti in Access, è di fondamentale importanza per la stesura di un database performante. Andiamo a vedere quali sono i tipi di dati definibili in Access.

Prosegue...

Categorie: Access | database

Tags: ,

Come velocizzare l'accesso alle Risorse di Rete

Giorgio Borelli

Le operazioni di rete di WindowsL'uso di una rete LAN per condividere le proprie risorse sia in ambito domestico che aziendale è sicuramente una comodità di cui pochi, oggi come oggi, possono fare a meno. Poter accedere a macchine, cartelle e file da una qualsiasi postazione in LAN consente di organizzare e velocizzare notevolmente l'accesso alle proprie risorse informatiche.

Molti di voi avranno notato però che quando si accede alle "Risorse di Rete" i tempi di attesa sono particolarmente lunghi, e tale rallentamento si verifica soprattutto in fase di primo accesso.

Erroneamente, molti pensano che questo sia dovuto alla comunicazione ed allo scambio di pacchetti tra le macchine connesse in rete. Questo è certamente vero, ma un tempo di attesa così lungo non è giustificabile con solo stabilimento della comunicazione tra le macchine in LAN.

Il motivo di tale lentezza, deve ricercarsi invece nei controlli effettuati dal sistema Windows, infatti quest'ultimo prima di stabilire la comunicazione e mostrare le risorse condivise, controlla eventuali operazioni pianificate presenti sulla macchina alla quale si vuole accedere, con conseguente ritardo della navigazione in LAN.

Questo controllo può portare via parecchi secondi prima di mostrare le risorse di rete richieste, aumentando notevolmente i tempi di attesa. Basterà portare a termine un piccolo hack sul Registro di Sistema, per disabilitare il controllo sulle operazioni pianificate in rete da parte di Windows ed accedere alle Risorse LAN molto più velocemente di prima.

Prosegue...

Categorie: Hack | Reti

Tags: , ,

Implementare il vincolo d'Integrità Referenziale in un database Access

Giorgio Borelli

Diagramma Entity-Relationship Diagram o ERD, delle relazioni tra le tabelle  Membership User di ASP.NET di un database AccessUn database Relazionale, a differenza di un database "normale", permette di definire delle relazioni tra le varie entità (tabelle) del db in modo tale da correlare i vari dati secondo una logica che astrae la realtà. Le relazioni tra le tabelle, permettono di manipolare i dati più facilmente e soprattutto evitano la ridondanza dei dati, ovvero la duplicazione inevitabile delle informazioni che si avrebbe nel caso di definizione di tabelle indipendenti. Un Diagramma Entità Relazioni (Entity-Relationship Diagram o ERD) come quello mostrato in figura, rende immediatamente idea di come le tabelle del database sono collegate tra di esse e quali siano le loro relazione.

La potenza e la flessibilità delle relazioni tra l'entità del db ci consente di collegare i dati che andremo a gestire con la nostra applicazione, collegando i record delle nostre tabelle in modo da gestire più informazioni (lettura, scrittura, aggiornamento) con una singola query sql, anzichè con molteplici query su singole tabelle indipendenti, ed evitare di fatto la replicazione di record (ridondanza dei dati) ed informazioni già presenti. Tutti i più moderni e diffusi database  quali: Sql Server, MySql, Oracle, Postgree SQL sono relazionali, e sebbene meno potente di quest'ultimi anche Microsoft Access è un database relazionale e permette di definire le relazioni tra le tabelle sia in maniera manuale che in modo guidato con estrema semplicità.

Un'altro aspetto fondamentale da tenere in considerazione durante la progettazione di un database e per la definizione delle relazioni tra le tabelle e se queste devono soddisfare o meno determinate regole di unicità e vincoli d'integrità, che assicurino la correttezza e la consistenza dei dati. Uno dei vincoli sicuramente più usato e diffuso è quello d'integrità referenziale.

Il Vincolo d'Integrità Referenziale è una "regola" che stabilisce che la presenza dei record tra le entità relazionate soddisfi necessariamente la presenza delle chiavi nell'una e nell'altra tabella. Tale vincolo assume pertanto il significato di predicato, che può assumere il valore di vero o falso, a seconda che la base di dati definita lo soddisfi o meno. Il Vincolo d'Integrità Referenziale (uno dei più diffusi ed usato), assicura la consistenza e la correttezza dei record presenti in un database, evitando che ci siano record orfani, ovvero che non hanno riferimento nella tabella collegata.

Anche con Access è possibile definire il Vincolo d'Integrità Referenziale, peremettendo di specificare anche quali azioni (effetto a catena) intraprendere sui record nel caso venga modificato o cancellato un record relazionato con record di altre tabelle.

Prosegue...

Categorie: Access | database

Tags: