Il blog di TixXio Un blog impossibile o privo di significato

21nov/070

Pagina generata in X secondi

clock.pngQual'è il metodo migliore per indicare ai nostri visitatori quanto siamo bravi a programmare, scrivendo in fondo alle nostre paginette aspx il tempo in cui queste vengono generate?

L'idea migliore, più precisa ed efficiente, è quella di affidarsi a System.Diagnostics.Stopwatch: se lo avete già realizzato, usando però il "classico" DateTime e qualche sottrazione per ottenere un TimeSpan, sarebbe il caso che provvediate a rimpiazzare tutto il vostro accrocchio.

Stopwatch infatti è realizzata usando chiamate ad API di basso livello, con un overhead decisamente minore rispetto a qualsiasi metodo di .NET. Inoltre se la vostra configurazione hardware e software lo permette, potrete usufruire di un contatore ad alta precisione.

 

dim watch as new System.Diagnostics.Stopwatch()

watch.Start()

 

[...]

 

watch.Stop()

literal.Text = "Pagina generata in " + watch.Elapsed.ToString() + " secondi"

Beh, fatemi sapere quanti millisecondi avete recuperato! :D

3ott/070

Utilities.NET

Utilities.NET è una collezione di classi di aiuto e di componenti per risolvere velocemente le comuni problematiche di programmazione in .NET

La libreria contiene 117 classi, ed è frutto del lavoro di James Newtonking, che ha deciso di rilasciarla con tanto di codice sorgente.
Io l'ho scaricata e messa sul desktop, appena posso giuro che gli do un'occhiata :D

20set/070

Migrare URL dinamici (T&C: Siamo alla resa dei conti!)

Dopo quasi un anno di sviluppo, 153'983 righe di codice nei linguaggi più disparati, test di ogni genere, eccetera eccetera.... finalmente si vedrà se quello per cui ho lavorato funzionerà a dovere. I frutti di tanta fatica già si vedono, avendo imparato ad usare come si deve Asp.NET: dopotutto era quello l'obiettivo con cui mi accingevo a fare questa impresa.

I problemi principali della migrazione potranno essere dati da AWStats e dagli URL della vecchia versione, che rimangono ancora validi ed indicizzati in tutti i motori di ricerca: in particolare quest'ultima problematica è quella che potrebbe causare più ripercussioni... errori in questo senso potrebbero mandare a monte anni di indicizzazione dei motori (al solo pensiero mi vengono i brividi :| )

Ecco come credo di aver risolto il problema:

11lug/072

Perchè sto iniziando ad apprezzare VB.NET

pc2.jpgQuando ho deciso che era arrivato il momento di trasformare T&C da un rudimentale accrocchio di file interpretati in qualcosa di più sensato (almeno dal punto di vista della software engineering) passando ad Asp.NET, la prima decisione importante che mi spettava prendere è stata quella del linguaggio da utilizzare.

Vista la facilità di portare codice dal VbScript di ASP in VB.NET ho scelto questo linguaggio, nonostante il C# sia evidentemente più elegante e meno prolisso nei costrutti.

C'è poi da dire che il Framework.Net permette la commistione di linguaggi (sebbene sia necessario separare i diversi "dialetti" in assembly diversi), quindi in futuro potrei realizzare migrazioni parziali e/o pezzi di sito o librerie interne senza difficoltà in C# con poco lavoro aggiuntivo.

Però ora devo ammettere che le idee non sono più così nitide e definite...

25apr/070

Mai più ArrayList

Un'ottima cosa di Asp.NET sono le collection tipizzate: sostituendo l'utilizzo degli ArrayList con queste strutture dati possiamo raggiungere facilmente gli stessi risultati evitando tanti fastidiosi casting.

 

Per utilizzare queste collection templatizzate è necessiario importare il namespace System.Collections.Generic, che può essere importato automaticamente scrivendo quando segue nel web.config

 

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

  <system.web>

    <pages>

      <namespaces>

        <add namespace="System.Collections.Generic" />

      </namespaces>

    </pages>

  </system.web>

</configuration>

 

L'impaginazione non è delle migliori, causa questo sistema di publishing che devo ancora comprendere a pieno... il concetto però credo sia chiaro, no?