martedì 30 giugno 2009

Ma i titoli delle news li leggono?!?!?!

Un mio amico mi ha sottoposto questo link:

Sega, robot per uomini soli

Chissà se chi ha scritto il titolo si è reso conto di ciò che ha scritto :-)

martedì 23 giugno 2009

sabato 20 giugno 2009

Utilizzare il WebServer di VisualStudio da riga di comando

Forse non tutti sanno che il WebServer di sviluppo che viene utilizzato da VisualStudio (sia 2005 che 2008), ovvero quella “iconetta” che appare nella traybar quando lanciamo una web application all’interno dell’IDE, può essere utilizzato anche da riga di comando.

In particolare, il Web Server di sviluppo è costituito dall’eseguibile WebDev.WebServer.exe contenuto nella cartella che contiene gli eseguibili del Framework:

C:\Windows\Microsoft.NET\Framework\v2.0.50727

Se lanciamo l’eseguibile con l’opzione /h otteniamo:

image

Possiamo, quindi, lanciare l’eseguibile per fare in modo che una cartella, contenente il sorgente (o i file di pubblicazione) di un sito web, diventi un web site locale alla nostra macchina.

Come si vede dalla pagina di help possiamo decidere su quale porta pubblicare il nostro sito e con quale percorso virtuale.

Secondo me è ottimo per testare siti web quando non si hanno le credenziali per installare o utilizzare IIS o quando non si può avere IIS (leggi XP Home).

Unica limitazione dell’utilizzo di tale espediente è che il nostro sito in esecuzione non è raggiungibile da computer esterni alla macchina su cui gira.

venerdì 19 giugno 2009

Complimenti a DotNetUmbria

Questo post è per fare i miei complimenti a DotNetUmbria per il workshop di oggi su TFS.

Ovviamente i complimenti vanno, anche e soprattutto, al grande Lorenzo Barbieri che, come semre, è riuscito a tenerci attaccati all’argomento nonostante il caldo tropicale e l’ora post-prandiale!!

Grandi, complimenti e al prossimo evento!!!

Technorati Tag: ,,

giovedì 18 giugno 2009

Post Remix09

Sono appena tornato da Remix09 e, nonostante, mi sia perso il party Xbox, l’impressione è stata veramente ottima.

Innanzitutto ottima organizzazione (tanto per farvi capire, con centinaia di persone, mangiare a pranzo e le pause coffe non sono state una bolgia dantesca), poi le sessioni di ottima qualità.

Ho seguito la track “What’s new” e debbo dire che di spunti per lavorare e apprendere ce ne sono stati parecchi.

Ora, come al solito, finito l’incontro sta a noi rimboccarci le maniche e costruire qualcosa con i nuovi strumenti messi a disposizione.

La sala principale di Remix09

Technorati Tag: ,

giovedì 11 giugno 2009

Ramp-Up ovvero learning on-line per .NET

Cito un post di Davide Vernole per segnalarvi il sito Rump-Up:

Si tratta di un portale per e-learning sul mondo .NET.

Unico neo (se così possiamo dire) è che è in inglese (ma imparare l’inglese non fa mai male)

Technorati Tag: ,

mercoledì 10 giugno 2009

VB.NET : Un metodo di estensione per recuperare risorse di testo in un assembly

Il piccolo tip che posto oggi riguarda la realizzazione di un metodo di estensione che ci permette di recuperare il testo presente all’interno di un file di risorse incorporato in un assembly .NET.

Innanzitutto, per poter incorporare un file di testo all’interno di una dll (o eseguibile), è sufficiente inserire il file nel progetto e modificare la proprietà “Operazione di Compilazione” (selezionandolo e facendo tasto destro + proprietà) impostandola a “Risorsa Incorporata”

 image

In questo modo, quando compiliamo la nostra dll, il file verrà incluso all’interno del file.dll generato dal compilatore.

Per poter, a livello di codice, recuperare il contenuto del file ed utilizzarlo in una nostra applicazione è necessario utilizzare il metodo GetManifestResourceStream() della classe Assembly e convertire lo stream recuperato in una stringa.

Il seguente metodo di estensione aggiunge un metodo alla classe Assembly che restituisce direttamente la stringa contenuta nella risorsa:

Imports System.ComponentModel
Imports System.Runtime.CompilerServices
Imports System.Reflection
Imports System.IO

Public Module AssemblyExtensions
    <Extension()> _
    Public Function GetTextFromResource(ByVal asm As Assembly, ByVal resourceName As String) As String
        Dim returnStr As String = ""
        Dim st As Stream = Nothing
        Try
            st = asm.GetManifestResourceStream(resourceName)
            If st isnot Nothing Then
                 Dim strreader As New StreamReader(st)
                 returnStr = strreader.ReadToEnd()
            End If
        Catch ex As Exception
            Throw
        Finally
            If st IsNot Nothing Then st.Dispose()
        End Try
        Return returnStr
    End Function
End Module

Utilizzando questo metodo, è sufficiente ottenere l’istanza della classe Assembly che contiene la risorsa desiderata e richiamare il metodo.

 

Il parametro resourceName è il nome della risorsa incorporata completo di eventuali namespace.

Un esempio di utilizzo è il seguente:

image

Se la risorsa è privata per l’assembly, il metodo non restituirà nulla così come se il nome della risorsa è errato.

Un metodo pratico per recuperare il corretto nome di una risorsa è quello di aprire l’assembly utilizzando Reflector, visualizzare le risorse dell’assembly e leggere il namespace completo.

In maniera analoga, il metodo restituisce stringa vuota se la dimensione del file contenente la risorsa è troppo grande (sopra i 2 Gb circa).

Un utilizzo delle risorse di testo all’interno di una dll potrebbe essere quello di avere dei file js o css all’interno di dll che contengono controlli web.

martedì 9 giugno 2009

Evento UGI a Predappio!!!!

Che dire: semplicemente da sballo!!

Grande organizzazione, ottimo posto, bella giornata e, non ultimo, grandi sessioni!

450 km e 5 ore di macchina per arrivare da Roma (e, altrettanti, al ritorno) sono decisamente valsi!!!!

Grandi UgiDotNet.

Orgoglioso di esserci!

Technorati Tag: ,

sabato 6 giugno 2009

L’analisi questo inutile passatempo degli analisti!!!

Questo post non ha nessun contenuto tecnico, è solo un mio sfogo verso alcune persone, del mondo informatico, che ragionano e lavorano come se 20 anni di progettazione software non fossero esistiti!!!

Mi riferisco ad un cliente (anche abbastanza grande in termini di fatturato puro e semplice) con cui sto lavorando il quale, dovendo realizzare un componente nodale per la sua infrastruttura applicativa aziendale e dopo aver chiacchierato per 10 minuti su come potevamo architettare il tutto, mi ha esortato con la seguente frase: “Ma ora non perderemo mica tempo a scrivere l’analisi?”

Il problema non è l’affermazione in se stessa, ma il fatto che non fosse una battuta!!!!

Non ci posso credere che nel 2009 (quasi 2010) siamo ancora a questo livello!!!

Scrum, metodi agili, project management e amenità del genere sono lontane anni luce!!!