in

dotNet Umbria

Il primo User Group in Umbria sul mondo .Net

My DotNet Life

La vita di tutti i giorni del programmatore .Net
  • Ecco il ‘Contest’ che fa per noi!

    Nei blog che si occupano di Micro Framework la notizia sta spopolando:

    Il .NET Micro Framework team promuove ‘Dare to dream different challenge’, una gara di idee per la realizzazione di un progetto embedded che comporti l’uso del Micro Framework stesso!

    Si può concorrere per la cateoria professionisti oppure hobbisti, la gara si snoda in un percorso a tre fasi, in un arco temporale che va dal 8 ottobre 2008 al 31 maggio 2009; se si supera la prima fase, ovvero se l’idea è fra le 100 (50 per ogni categoria) giudicate migliori, l’organizzazione fornisce al concorrente un kit di sviluppo per realizzare davvero il progetto!

    Tutte le informazioni sono disponibili nel sito ufficiale della competizione.

    La cosa mi intriga parecchio!

     

  • TFS Team Explorer e Source Control: cosa abbiamo imparato oggi?

    Se per caso abbiamo un progetto sotto Source Control e abbiamo inavvertitamente cancellato qualche file o cartella, che magari non doveva essere cancellato, come facciamo a recuperarlo?
    Per prima cosa dal menu di Visual Studio Tools->Options->Source Control->Team Foundation Server abilitare l'impostazione "Show deleted items in Source Control Explorer".
    Ora se apriamo il Source Control Explorer saranno visualizzati anche file e cartelle precedentemente eliminati e non più visibili normalmente. Ora basta una "botta" di tasto destro e la selezione del comando "Undelete" dal menu contestuale.
    Come per magia i file tornano a vivere sul disco e all'interno del Source Control.
  • Motivo #743 per utilizzare un ORMapper e LINQ anziché un data layer fatto in casa...

    In questi giorni mi è capitato di dover selezionare degli oggetti (di tipo "Bag", ma che non sono borse) vicino alla scadenza (ossia a meno di 7 giorni dalla scadenza o già scaduti) con questa query LINQ (un po' rimaneggiata):

    var q=from b in dc.Bags where (DateTime.Now-b.expiration_date).TotalDays>-7 select b;

    e con un po' di stupore ho visto come LINQ-2-SQL traduce l'espressione presente nella clausola where:

    (((CONVERT(Float,CONVERT(BigInt,(((CONVERT(BigInt,DATEDIFF(DAY, [t0].[data_scad], @p2))) * 86400000) + DATEDIFF(MILLISECOND, DATEADD(DAY, DATEDIFF(DAY, [t0].[data_scad], @p2), [t0].[data_scad]), @p2)) * 10000))) / 864000000000) > @p3)

    con @p2=datetime.now e @p3=-7

    Personalmente, avrei impiegato almeno 4 ore per scrivere la stessa cosa in T-SQL, ammesso di riuscirci!

    Posted Sep 11 2008, 10:26 AM by maiorfi
    Filed under:
  • Tanti webcast vecchi e nuovi...

    ...sono disponibili su http://www.microsoft.com/emea/msdn/spotlight/

    Enjoy!

    Posted Sep 11 2008, 10:20 AM by maiorfi
    Filed under:
  • Occhio ai Cabinet.

    Non tutti forse sanno (io non lo sapevo) che i cabinet non supportano file con lo stesso nome anche se i file si trovano in cartelle differenti.
    In fondo a che servono le cartelle ?
    CMQ se fate un cabinet ricordatevi che non potete inserire files con nomi uguali in cartelle diverse, pena la sovrascrittura di ogni file
    con il primo che avete inserito.
    La cosa + bella è che il servizio che genera il setup non ti avverte in nessun modo di questa fantastica feature.
  • Hug a developer

    Da guardare assolutamente... qui... Big Smile

  • Linq2Sql 2 CRL

    Volete conoscere esattamente come Linq2SQL mappa i dati del DB nei relativi tipi del CLR e perchè ?
    Ecco una semplice (ma non troppo) tabellina che mette in relazione i due mondi e ci spiega come avvengono le conversioni
    http://msdn.microsoft.com/it-it/library/bb386947.aspx
  • Aggiornamento anche per l'Ajax Control Toolkit

    A pochi giorni dal rilascio dell'SP1 per il framework 3.5, su Codeplex è stato rilasciato il nuovo ACT.
    Oltre all'allineamento ai bit dell'SP1, la nuova release contiene diversi bug-fixes nonchè un nuovo controllo "MultiHandleSlider".
    Il download qui.
  • Lo sapete che .... in SQL Server 2008 ....

    Hanno introdotto (finalmente) l'intellisense per il Query Editor
    Anche se ormai siamo abituati a scrivere le query avendo sempre un occhio puntato alla struttura del DataBase, in mo do da poter scrivere le query in modo corretto.
    L'introduzione dell'intellisense anche per SqlServer Management Studio è sicuramente un grande passo per incrementare la produttività di chi utilizza questo strumento quotidianamente
  • Cosa sono e come funzionano le Lambda Expressions

    Oggi sono in vena di postare link.
    Ecco un articoletto che ci spiega le origini, cosa sono, come funzionano e come si utilizzano le Lambda Expressions
    Diciamo un MUST READ per chi vuole approfondire il funzionamento interno di Linq e dintorni
    http://www.devsource.com/c/a/Languages/Cigars-Lambda-Expressions-and-NET/
  • WPF ToolKit

    Vi segnalo un toolkit che contiene una datagrid per WPF.
    Sappiamo benissimo che le funzionalità della datagrid possono essere riprodotte utilizzando anche altri controlli
    nativi di WPF, magari però possiamo risparmiarci un po' di lavoro.
    Richiede .Net Framework 3.5 SP1
    http://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=14963
  • Installare in un colpo solo .Net Framework 3.5 SP1 e VS2008 SP1

    E' disponibile il tool per installare i due Servicepack
    in un solo colpo, invece di utilizzare 2 tools differenti.
    ecco a voi il link
    http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
  • Persistence Ignorance

    Per aiutare Paolo a decidere quale strategia per l'accesso ai dati utilizzare aggiungo qualche nota sulle nostre esperienze in questo senso:
    1) Dataset tipizzati e TableAdapters: molto lontani dall'astrarre il modello di DB ma anche per questo ottimi per mantenere il massimo controllo su quello che avviene là sotto...molto RAD e tutto sommato soddisfacenti nei casi di modelli con poche tabelle e tante righe, ma forse è una semplificazione eccessiva?

    2) DAL custom: a pelle senti sempre che non dovresti reinventare la ruota, ma non nascondo che in alcuni nostri prodotti/progetti hanno dato i loro frutti e continuano a darli ogni giorno, soprattutto per quello che riguarda la stabilità.

    3) Wilson ORM: ispirato (nel senso che espone la stessa interfaccia pubblica) al più volte annunciato (all'interno di WinFS) e mai uscito ObjectSpace di Microsoft. Apprezzabilissimo per implementare il primo 80% del DAL, meno per l'ultimo 20%, soprattutto a causa della gestione della concorrenza o del tracking degli oggetti da persistere nel caso di entità molto volatili
    4) NHibernate: l'abbiamo utilizzato all'interno di un progetto in cui insieme a WCF ha permesso di realizzare un buon DAL remotizzato. I pochi (ma non proprio piccoli) guai ce li ha dati soprattutto a causa della nostra "ignorance" nel mappare correttamente le relazioni inverse nelle relazioni N:M, ma sicuramente la soluzione migliore ad oggi diponibile per progetti medio-grandi
    5) LINQ-2-SQL: Raddissimo! L'opzione da scegliere come default per ogni nuovo DAL, almeno fino a che l'EF dimostrerà di essere altrettanto RAD. L'abbiamo utilizzato in un progetto web in cui il DAL è esposto tramite WCF/Ajax.
  • Quale tecnologia di accesso ai dati.

    E' appena uscito SP1 per il Framework 3.5 e per Visual Studio 2008
    e con esso possiamo giovare di tutte le novità da esso derivanti.
    Mi trovo però a questo punto a dover scegliere quale tecnologia di accesso ai dati adottare nel lungo periodo per le mie nuove applicazioni.
    Lo sviluppo di applicazioni sta sempre più spostandosi da un modello data-centrico ad un modello basato sul dominio.
    E con questo si parla sempre di più di Persistance Ignorance (PI) e POCO, ovvero la necessità di avere uno strato di Business semplice,
    non vincolato a come i dati verranno rappresentati, e che quindi deve preoccuparsi di implementare tutta una serie di meccanismi per tenere "viva" la UI.
    e non vincolato a come i dati verranno memorizzati nel Database.
    Questi due semplici e chiarissimi concetti architetturali, portano con se una grande quantità di problematiche la cui soluzione non è affatto banale.
    dovendo soprattuto rispondere alla mia damanda: Quale tecnologia utilizzare ?
    Mi piace lavorare con prodotti Microsoft, e trovo le ultime tecnologie introdotte con il nuovo framework siano veramente eccezionali.
    Mi piace anche moltissimo lavorare con SQL Server, ma i miei clienti a volte non vogliono utilizzare SQL Server, dovendo scrivere applicazioni complesse mi trovo a tagliare fuori tutta una fetta di potenziali clienti
    se scegliessi di lavorare solo con SQL Server.
    quindi Linq To Sql non è la soluzione adatta.
    Diciamo che i Dataset non sono la mia passione e quindi come scelte rimangono:
    1) Il nuovissimo Entity Framework.
    2) NHibernate
    3) Il mio collaudato, fatto in casa, estensibile a piacere (l'ho scritto io e ne conosco ogni meandro) ORM
    4) Altri ORM
    Vi confesso che l'idea di utilizzare Entity Framework mi alletta non poco.
    E sicuramente NHibernate è un prodotto niente male,
    D'altro canto anche estendere il mio ORM per inserire qualche nuova funzionalità mi alletta parecchio.
    Io ho gia fatto la mia scelta.
    Voi che fareste ?
  • Si riparte !!

    siamo al 16 di agosto e già la settimana di vacanze è passata.
    Volata via direi
    Però ci voleva un attimo di riposo....
    Comunque siamo proiettati verso lunedì 18 agosto con la piena ripresa dei lavori.
    Per chi fosse invece andato in questi giorni in ferie....
    beh... buone vacanze
More Posts Next page »
dotNet Umbria 2007-2008
Powered by Community Server (Commercial Edition), by Telligent Systems