Roberto Brunetti

ASP.NET - Mobility
Team System

SharePoint Conference

.NET Programming

Corsi

SharePoint

aprile 2005 - Posts

Python per .NET

Uscita una versione preliminare di Iron Python per .NET.

http://www.microsoft.com/downloads/details.aspx?FamilyID=CF952FDB-2344-4B1E-B169-3F5DFBCA2984&displaylang=en

Posted: apr 30 2005, 11.18 by rob
Filed under:
StyleTap

Riporto as is.

The StyleTap Platform allows you to run applications (and games!) originally written for Palm OS handhelds on your Windows Mobile Pocket PC handheld. With more than 20,000 applications for the Palm OS platform available – many of them free – you will be able to do so much more with your Windows Mobile Pocket PC handheld. Demo preview available for download.

http://www.styletap.com/

Posted: apr 29 2005, 03.37 by rob | with 1 comment(s)
Filed under: ,
ASP.NET 2.0 Starter Site Bug Fix

Per continuare sul problema cititato http://blogs.devleap.com/rob/archive/2005/04/23/3335.aspx e che scatena errori sul connection pooling come segnala Claudio nel commento al post...

Ho dato una sistemata al codice che generava errori nella classe PhotoManager definita in PhotoManager.cs nella directory app_code.

Ho pubblicato sul nostro sito rinominato in .txt il file .cs incriminato (http://devlab.devleap.it/RobertoB/ASPNET20StarterSite/photomanager.txt) il codice corretto: apertura e chiusura della connessione, qualche try/catch che mancava senza stravolgere troppo il tutto. Ho lasciato inalterati i try/catch (pochi :-)) esistenti senza entrarci in mezzo con i try/catch che ho aggiunto.

Nel codice ho messo qualche commento per ulteriori spunti. Il mio non vuole essere il "codice perfetto", ma semplicemente fixare il bug (grave) e suggerire qualche commento sul codice stesso.

Hope useful.

 

 

SQL 2005 e gli standard ANSI

Articolo pubblicato su Week.it del 20/3/2005.

SQL Server 2005 introduce una serie di modifiche interessanti sulla programmazione e l’utilizzo dei data type derivanti dall’evoluzione delle specifiche ANSI-SQL. Alcune funzionalità include nello standard 1999 (i trigger ad esempio) sono incluse anche in versioni precedenti di SQL Server. E’ importante comprendere quindi la specifica SQL:1999 prima di capire come sono state implementate in SQL Server 2005.

Per quanto riguarda i data type la specifica propone la possibilita di estendere i tipi di dato come scalar type, distinct type e complex type. In SQL Server 2005 è possibili aggiungere tipi di dato scalari senza attendere che Microsoft li implementi nel motore di storage. I distinct type invece consentono di estendere un tipo di dato esistente aggiungendo semantica e comportamento. Ad esempio è possibile definire un tipo di dato IMMAGINE partendo dal tipo base IMAGE aggiungendo due funzioni Get_BackColor e Get_ForeColor: una volta definito tale tipo e associato alle varie colonne che contengono immagini sarà possibile eseguire SELECT con clausole WHERE sui valori BackColor e ForeColor: “Estrai tutti gli articoli che hanno un backcolor sull’immagine uguale a verde”. Attualmente saremmo invece costretti a definire tali informazioni in una o più tabelle relazionali. E’ possibile anche effettuare dei cast fra tipi di dato estesi.

I tipi di dato complessi (Complex Data Type) consentono invece di definire strutture composte da più attributi. Ad esempio è possibile definire il tipo “Cliente” che consta di una ragione sociale, un indirizzo (magari a sua volta composto da via, cap, numero civico, comune ecc.) e un numero di telefono e usare tale tipo per rappresentare un cliente in varie tabelle. E’ possibile utilizzare i complex data type nelle operazioni di interrogazione: ad esempio si possono estrarre dalla tabella ordini tutti gli ordini dei clienti (intesi come colonna che rappresenta il tipo di dato Cliente) della provincia di Firenze; “SELECT OrderId, OrderDate FROM Ordini Where Cliente.Provincia = ‘FI’.

Nella specifica SQL:1999 sono previsti anche nuovi data type “nativi”: BOOLEAN non ha bisogno di spiegazioni, BLOB per rappresentare Binary Large Object, CLOB per rappresentare Character Large Object, REF rappresentanti puntatori verso tipi di dato complessi, Array, LOCATOR per puntare a tipi interni al DBMS, DATALINK per referenziare fonti dati esterne e Tipi strutturati per rappresentare i già citati Distinct Type.

 

Posted: apr 26 2005, 06.26 by rob
Filed under:
ASP.NET 2.0: Due nuovi corsi DevLeap

Il primo (ASP.NET 2.0 Preview) più che un corso è un seminario di un giorno in cui vengono presentate con un livello introduttivo tutte le nuove caratteristiche di ASP.NET 2.0.

Il secondo (Core ASP.NET 2.0) è un corso di approfondimento su ASP.NET 2.0 per coloro che utilizzano la versione 1.1. Si basa attualmente sulla Beta2 del prodotto. La durata è 3 giorni e affronta le tematiche seguendo un ragionamento che parte dall'architettura per arrivare alla gestione delle applicazioni.

In entrambi i corsi tralasciamo gli aspetti più semplici e sventagliati (come nuovi controlli o binding automatizzati) per concentrarci sulle cose importanti e necessarie per scrivere applicazioni web "vere".

ASP.NET 2.0 Sample: Come non scrivere il codice !!!

Provando a utilizzare il sito di esempio fornito con Visual Studio 2005 mi sono imbattuto in questo codice:

 public PhotoManager()
{
  connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Personal"].ConnectionString);
  command = new SqlCommand();
  command.Connection = connection;
  command.CommandType = CommandType.StoredProcedure;
  connection.Open();
   ...  
}

E' un componente nella directory app_code di Asp.net 2.0 che si incarica di recuperare risorse da un db. L'applicazione mostra alcune feature della nuova versione e immagino che come me, in molti la utilizzino per analizzare le nuove componenti all'opera. In molti copieranno anche il codice di esempio...è normale...con i nuovi prodotti tutti ci appoggiamo agli esempi, soprattutto se forniti con il prodotto.

Ebbene questo componente nel COSTRUTTORE iniziali due membri private che rappresentano la SqlConnection e il SqlCommand...è fin quì...anche se io preferisco altri sistemi per centralizzare il codice..nessun problema...ma UDITE UDITE...APRE LA CONNESSIONE !!!!!!

Già sapete che le connessioni si aprono il più tardi possibile e si chiudono il prima possibile: regola fondamentale per qualunque applicazione, soprattutto server-side: le connessioni sono una risorsa preziosa, anzi preziosissima.

Non solo apre la connessione molto prima di quando serva....ma non la CHIUDE MAI !!! Non viene implementata l'interfaccia IDisposable che consentirebbe almeno di chiudere la connessione quando il chiamante invoca il metodo Dispose. Ci affidiamo quindi alla bontà del garbage collector che chissà...magari un giorno passerà sull'oggetto non più referenziato...distruggendolo realmente.

Non capisco perchè nel 2005, quando da anni si parla di connection pooling, regole per aprire e chiudere le connessioni (ricordo una mia sessione alla Windows Professional Conference del 1998 su ASP (senza .NET) 2.0) in cui si mettevano in luce queste problematiche), ancora oggi si trovino esempi ufficiali che contengono questi gravi (anzi gravissimi) errori di progettazione/scrittura del codice di accesso ai dati. Quì addirittura la beffa è doppia, non solo VIENE APERTA LA CONNESSIONE NEL COSTRUTTORE, MA PER DI PIU' NON VIENE MAI CHIUSA.

Scusate lo sfogo, ma penso che in molti copieranno gli esempi del prodotto per iniziare a scrivere applicazioni. Spero quindi di aver fatto cosa utile.

VSTS 2005 Installation

Confermo quanto scritto nel post precedente. Uscito SQL 2005 CTP Apr 05 e seguendo le info che ho riportato sono riuscito a avere un'installazione funzionante di tutto l'ambaradan.

Ho montato anche Office 2003 SP1 e Project 2003 SP1 per l'integrazione con VSTS.

Solo una nota: ho messo tutto in un a VM Windows 2003 SP1 pulita....e con meno di 800 Mb di RAM dedicati si va veramente piano. Disabilitando i servizi di VSTS bastano meno di 500 Mb per far andare Visual Studio veramente bene.

Visto che ci vuole almeno un giorno per fare tutto il setup...vendo VM configurate ai migliori offerenti :-) Scherzo ovviamente....anche se sarei tentato...

Posted: apr 19 2005, 08.45 by rob | with 1 comment(s)
Filed under: , ,
VS 2005 Download: I componenti ?

Non avendo trovato spiegazioni da nessuna parte sulle componenti Beta2 scaricabili dal sito MSDN ho pensato che le seguenti informazioni potessero esservi di aiuto per scaricare le cose giuste.

Se volete scaricare il nuovo VS 2005 Beta2 (che comprende anche la Beta2 del .NET Framework 2.0) vi trovate infatti davanti alle seguenti opzioni.

Visual Studio 2005 Team Suite Beta 2
Si tratta di Visual Studio 2005 Team System e comprende le tre edizioni: Architect, Developer e Tester (per adesso non scaricabili separatamente). E' quindi il prodotto completo lato client.

Visual Studio Foundation Server Beta 2
E' la parte server di Team Suite e comprende il motore per la memorizzazione delle informazioni sui vari progetti utilizzabili da Team Suite. Ricordo che comprende anche il nuovo motore di controllo e versioning dei sorgenti.

Visual SourceSafe 2005 Beta2
Per chi non userà Team System è il nuovo SourceSafe per controllo e versioning.

Visual Studio 2005 Standard Beta2
E' Visual Studio "semplice" e non ha le caratteristiche di design, configurazione, progettazione, controllo sorgenti e deployment di Team System. Utilizzabile con SourceSafe per il controllo sorgenti.

Visual Studio Team Edition Test Load Agent Beta2
Componente per eseguire stress test non incluso per adesso in nessuno degli altri download. E' il nuovo motore per eseguire stress test integrabile con Team System a partire da un componente o progetto.

Per una breve introduzione su Team System (a mio avvivo gran prodotto per gestire BENE il ciclo di vita di un software) vi rimando all'articolo che ho scritto per week.it. http://www.weekit.it/index.php?option=com_content&task=view&id=36183&Itemid=156.

Spero utile. Se avete altre info i commenti sono abilitati.

In ogni caso prima di installare i componenti nuovi disinstallate tutto questo (credo sia comunque meglio partire da una macchina nuova :-)). Preso direttamente da MSDN:

  1. Microsoft SQL Server 2005 Express Edition
  2. Microsoft SQL Server 2005 Tools Express Edition
  3. Microsoft SQL Native Client
  4. Microsoft Visual Studio 64bit Prerequisites Beta
  5. MSDN Product Documentation
  6. Microsoft Visual Studio Tools for Office System 2005 Runtime Beta
  7. Microsoft Device Emulator 1.0 Beta
  8. Microsoft .NET Compact Framework 2.0 Beta
  9. Microsoft SQL Mobile 2005 Development Tools
  10. Microsoft Visual J# Redistributable Package 2.0 Beta (If you see an error removing J# Redistributable Package from Add/Remove Programs, please run "msiexec /x {9046F10C-F5E7-4871-BED9-8288F19C70DF}" from a command line window)
  11. Microsoft .NET Framework 2.0 Beta (If you see an error removing .NET Framework 2.0 from Add/Remove Programs, please run "msiexec /x {71F8EFBF-09AF-418D-91F1-52707CDFA274}" from a command line window)

UPDATE

N.B. Per installare Foundation Server occorre:

1) Windows 2003 (si può installare single-server o dual-server)

2) Windows Installer 3.0 (se non avete SP1 di Windows 2003)

3) SQL 2005 CTP di Aprile

4) Installare Windows SharePoint Services con SP1 (http://www.microsoft.com/downloads/details.aspx?FamilyID=efdc7227-549c-4de1-a063-783f71a8bb2b&DisplayLang=en)

5) Creare 1 account (se single-server) o 2 account (se dual-server)...non cambiate la password all'accont...da usare per il setup e il funzionamento.

.NET 2.0 Beta2 Rilasciata

Da oggi disponibile per gli abbonati MSDN insieme a Visual Studio 2005 Beta2 . Questa beta viene fornita insiema alla licenza GoLive che consente di usare anche in produzione (non solo per i test) ASP.NET 2.0.

La teoria ci dice che dalla beta 2 alla RTM non ci saranno modifiche alle classi, quindi il codice scritto con questa versione dovrebbe girare senza modifiche sulla versione finale.

Alla FWC l'8 giugno (www.fwc.it) mostreremo tutte le demo con la Beta 2.

Sono inoltre disponibili sempre in Beta2: Visual Studio Team Edition e Team Suite (si veda il mio articolo introduttivo su Team System http://www.weekit.it/index.php?option=com_content&task=view&id=36183&Itemid=156)

Posted: apr 16 2005, 12.03 by rob
Filed under: , ,
Outlook to OneNote

Usando ormai solo OneNote per tenere note, appunti e varie cose ho trovato molto utile questo add-in per outlook che consente di sparare in un colpo una mail in una pagina di OneNote (SP1 obbligatorio).

Ecco il link http://www.microsoft.com/downloads/details.aspx?FamilyId=87C661E3-178D-46F0-979E-0FDD96327928&displaylang=en

 

Posted: apr 15 2005, 11.09 by rob
Filed under:
Future Web Conference 2005 Live !!!

Abbiamo partorito la versione finale dell'agenda. Tanto spazio a ASP.NET 2.0, filone della giornata. Si prosegue con le novità di SQL 2005 e ADO.NET 2.0 che faranno da supporto alle applicazioni web. Chiude la giornata una panoramica su cosa ci aspetta con l'uscita del Framework 2.0 sia per le applicazioni classiche che per le applicazioni mobile e chiudiamo in bellezza con una preview di Avalon.

La conferenza è come sempre gratuita, come sempre nel Castello Cinquecentesco di L'Aquila e come sempre organizzata logisticamente da Daniele Marrama.

Le iscrizioni si sono aperte stamani e per ragioni di sala (anzi di Castello dovremmo dire) i posti saranno limitati. Anche quest'anno utilizzeremo il motore di registrazione gentilmente offerto da Microsoft in qualità di sponsor.

Se ti fidi sulla parola :-), ecco il link alla registrazione: http://msevents-eu.microsoft.com/CUI/EventDetail.aspx?EventID=118758966&Culture=it-IT

Se invece preferisci dare un'occhiata all'agenda prima di iscriverti ecco il link: http://www.fwc.it/2005/agenda.htm

Per una infarinatura sulle novità: http://www.fwc.it/2005/contenuti.htm

 

 

DVD to Pocket PC

Questo me lo ero perso. I primi di marzo è uscita la nuova versione del famoso software per convertire DVD in formato Pocket PC...http://www.handango.com/PlatformProductDetail.jsp?&platformId=2&productType=2&catalog=30&siteId=159&productId=94375

 

Posted: apr 05 2005, 11.48 by rob
Filed under:
FireFox: 5 cose da fare per renderlo più veloce
Ho provato questi semplici e veloci tip da applicare alla configurazione di FireFox http://www.ipkonfig.com/cms/index.php?option=com_content&task=view&id=165&Itemid=29&limit=1&limitstart=0 per aumentare la velocità di risposta del browser durante il caricamento delle pagine. Ve li consiglio.