Posts
38
Comments
48
Trackbacks
1
Monday, November 20, 2017
An application built on traditional .Net framework is not a legacy application

Se seguite i vari blog MS avrete notato che sull'argomento .Net Core e full .Net Framewotk spesso citano/abusano il termine "legacy application" per fare riferimento alle applicazioni basate sul .Net Framework.

Il loro obiettivo, alla fine dei conti, è spingere sempre più Dev all'adozione del nuovo nato .Net Core parlando per le esistenti (legacy?) applicazioni di porting da un framework all'altro.

Ecco quindi la doverosa precisazione di Cesar de la Torre in occasione del post relativo all'aggiornamento del libro "Microservices and Docker containers: Architecture, Patterns and Development guidance (Updated for .NET Core 2.0)"

"Legacy applications based on the traditional .NET Framework” literally means legacy apps (apps that have a significant time since they were built) that are based (were built) using the traditional .NET Framework. On the contrary, we are not saying, at all, that any new application built on the traditional .NET Framework is a legacy application.

Fonte: Microservices and docker containers architecture patterns and development guidance
posted @ Monday, November 20, 2017 5:09 PM | Feedback (0)
Tuesday, October 24, 2017
IIS e il misterioso errore COM object that has been separated from its underlying RCW cannot be used
Scenario: web app con un componente legacy C++ che esegue la classica Init() allo startup. Dati di configurazione errati ed ecco una bella "COM object that has been separated from its underlying RCW cannot be used" exception giusto per farci impazzire.
posted @ Tuesday, October 24, 2017 2:32 PM | Feedback (0)
Friday, October 31, 2008
Addio Serena Change Dimensions. Team Foundation Server on-air!

Finalmente dopo circa 3 anni di pena è in produzione come source code control Visual Studio Team Foundation Server.

Sono finite le pene del plug-in per la versione 9.x (non certificata) per Visual Studio, tempi biblici nella get latest version, inutili refresh su compare, history, pending check-in da parto, per non parlare degli errori che mandavano in tilt l'IDE.

Questo è un esempio, errato (IMHO), di come la centralizzazione (costrizione nell'usare uno strumento aziendale) in un'azienda dai dipartimenti molto eterogenei (nel campo dell'industria) comporta.

Ultima curiosità, il porting è costato circa 65 ore (test, sviluppo macro, etc.), tra cui solo un paio d'ore di blocco per il team (15 persone). Grazie anche al fresco MVP che ci ha dato una grossa mano.

posted @ Friday, October 31, 2008 5:44 PM | Feedback (0)
Monday, August 25, 2008
IEnumerator.Reset può lanciare NotSupportedException

Come descritto su MSDN il metodo reset è fornito solo per interoperabilità con il mondo COM; testualmente

The Reset method is provided for COM interoperability. It does not necessarily need to be implemented; instead, the implementer can simply throw a NotSupportedException.

Come esempio provate ad eseguire questo semplice test:

class test
{
    public void start()
    {
        this.Reset(this.GetItems());
        this.Reset(this.GetYieldItems());
    }

    private void Reset<T>(IEnumerable<T> items)
    {
        items.GetEnumerator().Reset();
    }

    private IEnumerable<string> GetItems()
    {
        return new List<string>(new string[] { "0", "1", "2" });
    }

    private IEnumerable<string> GetYieldItems()
    {
        for (int i = 0; i < 3; i++)
        {
            yield return i.ToString();
        }
    }
}

Lanciare il test con

new test().start()

Il metodo GetYieldItems lancia l'eccezione su citata proprio perché l'implementazione fornita dal framework dello yield, generata a compile time, non prevede il metodo Reset (Reflector conferma).

posted @ Monday, August 25, 2008 2:11 PM | Feedback (0)
Thursday, June 12, 2008
Instant SQL Formatter

Utilissimo tool on-line che permette di formattare per i più comuni RDBMS uno statement sql in diverse tipologie di formati, compresi linguaggi di programmazione.

posted @ Thursday, June 12, 2008 3:50 PM | Feedback (0)
Tuesday, May 27, 2008
Remoting NHibernate

A questo indirizzo http://code.google.com/p/remoting-nhibernate ho caricato un progetto / prototipo che dimostra come usare NHibernate in ambiente 3-tier (cioè con layer fisici separati) e con lazy-loading abilitato.

Il progetto a livello architetturale è un estratto di un progetto reale al quale ho potato tutte le feature che caratterizzano un qualsiasi progetto (logging, gestione errori, ecc.)

posted @ Tuesday, May 27, 2008 4:33 PM | Feedback (9)
Thursday, February 7, 2008
[OT] - Il mio spazio extra ( - terreno)

Blog personale : http://entombloged.blogspot.com

posted @ Thursday, February 7, 2008 11:01 AM | Feedback (0)
Thursday, November 22, 2007
Baresi - Canguri 2 -0

E ' con immenso piacere che pubblico questo post nel quale annuncio il superamento del Final Acceptance Test nelle lande dei canguri con un bel 91%. La fase è durata circa 70 giorni. Dopo il Factory Acceptance Test, giocato in casa, adesso il passo successivo è la messa in esercizio.

Bella soddisfazione!!!

posted @ Thursday, November 22, 2007 5:09 PM | Feedback (0)
Monday, November 5, 2007
Colloquio #2

Mi parli dei Design Pattern (qualcuno a caso...)

Io nella mia vita lavorativa ho fatto talmente tante cose che quelli anche se non li conosco sicuramente li avrò utilizzati.

 

No comment.

posted @ Monday, November 5, 2007 6:35 PM | Feedback (0)
Wednesday, October 31, 2007
Inside SharePoint 2007 - 9 Novembre, Bari

Vorrei ricordare il VI workshop organizzato dai ragazzi di .netSide, questa volta si parla di SharePoint 2007. Gli argomenti sono trattati e snocciolati da due dei maggiori esperti nazionali su SharePoint: Igor Macori e Giuseppe Dimauro.

Qui trovate l' agenda, i posti sono limitati!

posted @ Wednesday, October 31, 2007 6:34 PM | Feedback (0)
Tuesday, October 2, 2007
Come creare una patch per un progetto Open Source

Ho dovuto creare una patch per un progetto di Ayende e non avevo idea di come crearla. Ecco un post che spiega come creare una patch per un progetto Open Source.

posted @ Tuesday, October 2, 2007 1:51 PM | Feedback (0)
Saturday, September 29, 2007
Colloquio

Cos'è un Delegate?

"E' una persona a cui si delega la responsabilità di un compito"

posted @ Saturday, September 29, 2007 11:55 AM | Feedback (1)
Serial Bugger

Battezzato in questo modo colui che sparge bug dal peso d'oro a destra e a manca...

Si aprono le danze con questa chicca:

 

//imposto il default

MyTextBox.Text = "0,001"

 

Bello scoprire come un semplice default non vada su alcune culture!!!

E l'ObjectModel che ci sta a fare?

posted @ Saturday, September 29, 2007 11:44 AM | Feedback (0)
Saturday, July 7, 2007
Issue Tracker: Mantis

In qualsiasi progetto è di fondamentale importanza un sistema che tenga traccia dei vari bug/requirements etc. Nel mio team abbiamo valutato per una decina di giorni Mantis. Devo dire che lo strumento è ben fatto, ti rendi subito conto che è uno strumento utilizzato perché tutte le feature che ha sono veramente utili.

La features list è davvero corposa.

posted @ Saturday, July 7, 2007 10:51 AM | Feedback (3)
Thursday, May 31, 2007
Baresi - Canguri : 1-0

Il primo round è andato abbastanza bene. Relativamente al progetto Canguro a fine Aprile è avventuo il Factory Acceptant Test. Beh, l'abbiamo superato con il 94%. Ok, abbiamo giocato in casa, a breve è previsto l'incontro di ritorno...

Ho molto da pubblicare su questo progetto, spero di tornare con calma al mio tempo libero di un tempo...

posted @ Thursday, May 31, 2007 12:42 PM | Feedback (0)
Wednesday, February 21, 2007
Anche in sogno

Mi trovavo ad un workshop, presumibilmente, e tra gli altri non poteva mancare il presidente.

Apre una borsa e tira fuori dei soldatini...

io: Andrea, ma hai solo soldatini della seconda guerra modiale?

pres.: si

io: e non hai quelli della prima?

pres.: no, me li hanno ciulati tutti...

 

Forse sto lavorando troppo...

posted @ Wednesday, February 21, 2007 10:40 AM | Feedback (2)
Saturday, January 13, 2007
Interpretare certi tipi di errore quando ASP.NET ospita un componente.

Se avete il vostro componente in host su IIS (aspnet_wp) e utilizzate BinaryFormatter può capitare di avere un certo tipo di errori che il canale lato client non riesce ad interpretare, precisamente quelli di tipo testuale (text/HTML) ottenendo un dettaglio del tipo:

System.Runtime.Serialization.SerializationException: The input stream is not a valid binary format. The starting contents (in bytes) are: 53-79-73-74-65-6D-2E-57-65-62-2E-48-74-74-70-45-78 ...

Incomprensibile. La soluzione è quella di utilizzare uno sniffer.

Qui si trova un custom channel sink in grado di interpretare questo tipo di messaggi in caso appunto di

System.Runtime.Serialization.SerializationException
posted @ Saturday, January 13, 2007 10:16 AM | Feedback (1)
Monday, January 8, 2007
Taggamento....

Mariolino mi ha taggato...

 

  1. Brutal Moshing Grinding Core
  2. Mortician ... la mia band preferita
  3. Autore - giocatore di Avventure testuali
  4. Fondatore dei Penis Leech (rip) now Stench of Dismemberment
  5. Assistere alla nascita di un bambino... la cosa + bella al mondo!!!
posted @ Monday, January 8, 2007 6:55 PM | Feedback (0)
Tuesday, December 19, 2006
Industrializzazione del codice

All'inizio del progetto sul quale lavoro dall'inizio di quest'anno uno degli obiettivi che mi sono prefissato insieme ad un caro collega è stato quello di cercare di industrializzare il più possibile lo sviluppo del codice. Puo' sembrare una cosa stupida, ma poter decidere in qualsiasi momento di fare refactoring con impatto davvero minimo non è una cosa da sottovalutare in un qualsiasi progetto che si rispetti (leggi non RAD).

Alla fine il motto di questo concetto è diventato:

- implementiamola, bella o brutta che sia la soluzione, purché sia uguale per tutti.

posted @ Tuesday, December 19, 2006 6:50 PM | Feedback (0)
Saturday, November 11, 2006
Progetto Canguro: componenti e strumenti

Dopo il post inaugurale del progetto passiamo agli argomenti tecnici. Di seguito trovate l'elenco delle caratteristiche tecnologiche e degli strumenti in uso:

 

  • .NET 2.0
  • Web App in host su IIS 6
  • Winform Application
  • Object Model
  • NHibernate
  • Remoting
  • User Interface Model
  • Custom Validation Block (basato su una primordiale versione di Janky)
  • Enterprise Application Block
  • Composite UI Application Block (CAB)
  • GAX e GAT per template moduli CAB
  • Generatore custom per entità Business
  • Generatore custom per UI Model

 

Alla prossima con i dettagli e i problemi... eh eh

posted @ Saturday, November 11, 2006 12:23 PM | Feedback (4)
Castle Project vs Spring.Net
Da un po' di tempo sto ponendo particolare attenzione ai progetti Castle ProjectSpring .NET e come sempre la scelta è difficile. Il primo contiene qualcosa come ActiveRecord che più mi interessa ma fino a quando non provi un framework con un progetto reale, seppur piccolo, è dura. A questo proposito ho trovato un post vecchiotto (del 3 gennaio 2005) dove vengono mostrate alcune differenze tecniche dei due progetti. Devo dire però che è un po' di parte...
posted @ Saturday, November 11, 2006 11:28 AM | Feedback (4)
Tuesday, November 7, 2006
NHibernate: one-to-one (hanno senso?)

Dopo svariati mesi di utilizzo mi sto rendendo conto che le one-to-one rappresentano un altro caso da gestire ma che possono essere benissimo gestite come one-to-many mascherate e ponendo nell'Object Model una proprietà che restituisca la prima riga, se presente. 

posted @ Tuesday, November 7, 2006 12:09 PM | Feedback (2)
Saturday, November 4, 2006
Alchemi

Segnalo questo interessante progetto Alchemi: a .NET grid computing framework.

Riporto dalla home page una breve descrizione:

 

Alchemi is an open source software framework that allows you to painlessly aggregate the computing power of networked machines into a virtual supercomputer (desktop grid) and to develop applications to run on the grid.

It has been designed with the primary goal of being easy to use without sacrificing power and flexibility.

Alchemi includes:

  • The runtime machinery (Windows executables) to construct computational grids.
  • A .NET API and tools to develop .NET grid applications and grid-enable legacy applications.
posted @ Saturday, November 4, 2006 9:38 AM | Feedback (2)
Friday, November 3, 2006
Progetto Canguro

Con questo inauguro una serie di post cui faranno riferimento ad un progetto reale, denonimanto Canguro, che mi tormenta nel bene e nel male dall'inizio di quest'anno.

E' un progetto al quale ci tengo, per la natura del sistema di per sé complessa, per il dominio veramente particolare, ed infine, ma non per questo meno importante, per l'esperienza che collateralmente sta portando non solo per il sottoscritto ma penso per tutto il team (10 persone).

posted @ Friday, November 3, 2006 5:53 PM | Feedback (0)
Thursday, October 26, 2006
Gli eventi... della vita

La settimana scorsa agli Architecture Days, un po' di sfacchinata ma ripagato in pieno; oggi, evento a due passi da casa e impossibilitato ad andarci...

Un in bocca a lupo ai ragazzi di .netSide

posted @ Thursday, October 26, 2006 9:02 AM | Feedback (0)
News
Locations of visitors to this page Blog personale