DevDoc – Blog

di Andrea (doctor) Scotti

Posted on by admin


Ciao a tutti.

Sono stato parecchio latitante negli ultimi mesi ma colpa un pò del nuovo lavoro da Consulente a P.IVA e di mille impegni non sono riuscito a postare nessuna cosa interessante.

Sono però al lavoro del mio nuovo sito.. appunto per valorizzare al meglio la mia figura di Consulente. eheh Spero di finirlo in fretta anche se momentaneamente sono presissimo dalla Certificazione Amadeus (un suicidio) per le applicazioni che ho sviluppato da un mio Cliente.

Saluti e a presto!!

Posted on by admin | Posted in Vario OT


Leave a comment

Posted on by admin


Oggi è stato rilasciato nell’Apple Store il tanto atteso Snow Leopard 10.6. In questo articolo vi proponiamo le novità salienti del nuovo sistema operativo Apple.

overview_hero20090608

Mac Os X Snow Leopard rappresenta null’altro che un perfezionamento del fido Mac Os X Leopard 10.5.

Ecco le novità riportate dal sito Apple:

  • Passaggio definitivo da 32 bit a 64 bit: potranno aggiornare a questa versione di Mac Os X solo i possessori di un Mac Intel. Il passaggio a 64 bit consente di gestire fino a 32GB di ram ( i sistemi a 32 bit possono gestire fino a 4 GB)
  • Finder migliorato: Il Finder è stato completamente riscritto per sfruttare le nuove tecnologie in Snow Leopard, tra cui il supporto 64 bitGrand Central Dispatch. È più reattivo sotto ogni punto di vista, con prestazioni più brillanti. E include nuove funzionalità, come le opzioni di ricerca Spotlight personalizzabili e una visualizzazione per icone potenziata che permette di scorrere documenti multipagina o guardare filmati QuickTime.
  • Nuovo look: Le finestre sono visualizzate in una griglia ordinata, quindi è più facile trovare quello che si cerca. E da oggi è possibile scorrere le pile (gli elementi del Dock che ti danno accesso veloce a cartelle e documenti) per vedere comodamente cosa contengono. Si può anche navigare tra le cartelle in una pila per vedere tutti i file al suo interno.

leo

  • Backup di Time Machine in tempi più brevi.
  • Migliorati tempi di accensiome, standby e spegnimento.
  • Nuova versione di QuickTime Player con interfaccia snella e ordinata, con nuovo sistema di trimming e upload semplificato su YouTube e MobileMe.
  • iChat più affidabile e con video in alta risoluzione.
  • Aggiornamenti automatici per i driver delle stampanti.
  • Selezione del testo dei PDF facilitata.
  • Migliorato il pulsante per l’espulsione dei dischi.
  • Supporto nativo ai servizi Microsoft Exchange.

E’ possibile preordinare Snow Leopard a questo link. Da settembre tutti i dispositivi Apple monteranno Snow Leopard come sistema operativo predefinito.

Sono disponibili inoltre:

  • Mac Box Set: pacchetto all-inclusive che contiene Snow Leopard, iLife 09 e iWork 09 al prezzo di 169€ (link)
  • Mac Os X Snow Leopard 10.6 Server: versione server del sistema operativo con licenze client illimitate. Prezzo: 499€ (link)

Tutti i prodotti saranno spediti a partire dal 28 Agosto.

View Original Article

Posted on by admin | Posted in Apple


Leave a comment

Posted on by admin


E' da un paio di giorni che sto cercando di capire la configurazione migliore per abilitare il log dei messaggi di alcuni servizi WCF.

Ricordo per chi non lo sapesse che WCF permette di abilitare il log e il trace di tutto ciò che avviene direttamente dall'app.config dell'applicazione che utilizza il servizio.
Per ulteriori informazioni guardate su MSDN la guida per la configurazione del log dei messaggi e la configurazione del tracing del servizio

La seguente configurazione permette di loggare gli errori generati da wcf (lo fa con il primo source System.ServiceModel) e tutti i messaggi che il client e il servizio si scambiano (tramite il secondo source System.ServiceModel.MessageLogging). lasciando stare tutto quel log (che per il mio caso era inutile) definito tracing.

La configurazione migliore è la seguente:

<system.diagnostics>

<sources>

<source name="System.ServiceModel" switchValue="Error" propagateActivity="true">

<listeners>

<add name="xmlTrace" />

</listeners>

</source>

<source name="System.ServiceModel.MessageLogging" switchValue="Verbose">

<listeners>

<add name="xmlTrace" />

</listeners>

</source>

</sources>

<sharedListeners>

<add name="xmlTrace" type="System.Diagnostics.XmlWriterTraceListener"

initializeData="c:TracesMyTrace2.svclog" />

</sharedListeners>

<trace autoflush="true" />

</system.diagnostics>


Inoltre è da aggiungere anche la parte seguente sotto il nodo <system.serviceModel> questo definisce che tipi di messaggi loggare, la grandezza e la quantità:

<diagnostics>

<messageLogging maxMessagesToLog="100"

logEntireMessage="true"

logMessagesAtServiceLevel="true"

logMalformedMessages="true"

logMessagesAtTransportLevel="true">

</messageLogging>

</diagnostics>


Attenzione: Se per qualche motivo i messaggi non vengono loggati o avete un comportamento strano da parte del servizio cambiate switchValue="Verbose" anche per la parte di tracing ossia nel Source System.ServiceModel questo vi permetterà di vedere tutto quello che succede nel servizio. Vi consiglio comunque di disabilitare il livello verbose dopo che avete trovato il problema per evitare di avere dei log esagerati ed inutili.

Posted on by admin | Posted in .NET, C#, C# Tips & Trick, C# Tutorial


Leave a comment

Posted on by admin


Dopo alcune prove e guide seguite, dopo un pò di file di configurazione installati e cancellati... Ho trovato finalmente la via corretta per impostare mms + tethering su iPhone 3g 3.0.

tethering

Premetto che io ho testato il tutto avendo un iPhone 3g con Operatore Vodafone e ricaricabile con iphone pack (o vodafone mobile internet che dir si voglia. Insomma quello di 3 euri a settimana per avere 500 mb di traffico dati).

Cosa fare passo a passo:

  • Per prima cosa disinstallate tutti gli evenutali altri profili che avete installato precedentemente.
  • Scaricate questo file. (mi raccomando quello relativo al vostro operatore)
  • Da Mac: lanciate Terminale e inserite il comando:
    defaults write com.apple.iTunes carrier-testing -bool TRUE
    Ora aprite iTunes e installate il file .ipcc precedentemente scaricato cliccando su “ALT+Verifica aggiornamenti”(nel tab principale dell'iPhone) e selezionando il file relativo. Questo installerà un nuovo profilo gestore.
     
  • Da Windows: andate su Start -> Esegui e date i seguenti comandi(Se siete su XP al posto di Program Files mettete Programmi):
    c:\Program Files\iTunes
    iTunes.exe /setPrefInt carrier-testing 1
    Ora aprite iTunes e installate il file .ipcc precedentemente scaricato cliccando su “SHIFT+Verifica aggiornamenti” (nel tab principale dell'iPhone) e selezionando il file relativo.
     
  • Riavviate l' iPhone
  • Ora non resta che impostare i parametri  in impostazioni -> Generali -> Rete -> Rete Dati Cellulare  i parametri corretti per l'APN Dati cellulare che dovete impostare come iphone.vodafone.it(in caso di vodafone per gli altri operatori dovrebbe già essere tutto ok. Questo è molto impostante se no il tethering non sfrutterà la promozione dei 3 euro settimanli ma passerà su un'altra apn vedendo così i vostri soldi volatilizzarsi dal conto!!) e per gli MMS.
    Di seguito le impostazioni per la parte MMS:

Tim
APN: mms.tim.it
Nome Utente: -vuoto-
Password: -vuoto-
MMSC: http://mms.tim.it/servlets/mms
Proxy MMS: 213.230.130.089
Dimensione massima MMS: 614400
MMS UA Prof URL: -vuoto-

Vodafone
APN: mms.vodafone.it
Nome Utente: -vuoto-
Password: -vuoto-
MMSC: http://mms.vodafone.it/servlets/mms
Proxy MMS: 10.128.224.10:80
Dimensione massima MMS: 614400
MMS UA Prof URL: -vuoto-

H3G
APN: tre.it
Nome Utente: -vuoto-
Password: -vuoto-
MMSC: http://10.216.59.240.10021/mmsc
Proxy MMS: 62.13.171.3:8799
Dimensione massima MMS: 614400
MMS UA Prof URL: -vuoto-

Wind
APN: mms.wind
Nome Utente: -vuoto-
Password: -vuoto-
MMSC: http://mms.wind.it
Proxy MMS: 212.245.244.100:8080
Dimensione massima MMS: 614400
MMS UA Prof URL: -vuoto-

  • Ultimo ma non meno importante.. Riavviate l' iPhone e provate ad inviarvi da soli un' mms.

Sperando che la guida risulti utile a qualcuno.... Vi saluto!

Posted on by admin | Posted in Apple, Iphone, Iphone Tips & Trick, Iphone Tutorial | Tagged , , , , , ,


Leave a comment

Posted on by admin


Ciao a tutti, vi segnalo un tool fantastico e naturalmente free... LINQPad
linqpadlogo
Questo tool permette di scrivere ed eseguire statement ed espression LINQ to SQL, LINQ to XML e LINQ to Object. Permette la connessione diretta ad un DB SQL Server e ne crea già il context.. tutto mediante LINQ to SQL. Inoltre ci sono interessanti esempi tratti dal libro dell' autore e alcune query per tabella molto utili già implementate.
E' inoltre possibile vedere testare e modificare query SQL, Stored Procedure, Lambda Expression e RegularExpression.

Unica nota è che la versione free non ha l' autocompletamento stile visualStudio ma per capire le potenzialità consiglio di provarlo. Io dopo un paio di giorni di prove ho acquistato la versione full a 19 USD circa.

Buon Divertimento!!

Posted on by admin | Posted in .NET, C#, C# Vario | Tagged , , ,


Leave a comment

Posted on by admin


Riprendendo un post del mio amico Pedro... disponibile qui vediamo come utilizzare le Lambda Expression (=>) ed altre piccole chicche del framework 3.5 di .Net.

Partiamo dalla definizione di un oggetto che eravamo abituati a fare così:

public class Ticket
{
   private int _idTicket;
   private string _title;
 
   public int IdTicket
   {
      get { return _idTicket; }
      set { _idTicket = value; }
   }
   public string Title
   {
      get { return _title; }
      set { _title = value; }
   }
}

Possiamo risparmiare decisamente parecchie righe di codice utilizzando quella che viene definita Automatic Properties definendo l'oggetto come segue:

public class Ticket{
   public int IdTicket{get;set;}
   public string Title{get;set;}
}

Ora decidiamo di creare un List<Ticket> che contiene alcuni oggetti, di solito per fillare gli oggetti eravamo abituati a fare come in questo listato:

   List myTicketList = new List();
   myTicketList.Add(new Ticket(1, "Concerto Rock"));
   myTicketList.Add(new Ticket(2, "Finale Champions Leauge"));
   myTicketList.Add(new Ticket(3, "Museo Louvre"));

Ora invece utilizzando altre due funzionalità chiamate Collection Initializers e Object Initializers possiamo tranquillamente istanziare e riempire la nostra lista come segue:

List myTicketList = new List{
   new Ticket{IdTicket = 1, Title = "Concerto Rock"},
   new Ticket{IdTicket = 2, Title = "Finale Champions Leauge"},
   new Ticket{IdTicket = 3, Title = "Museo Louvre"}
};

Adesso veniamo a quello più interessante... Per ricercare uno specifico oggetto all'interno della nostra lista si può utilizzare il metodo .Find() sul List<>. Che accetta un metodo delegato per fare la ricerca (così come mostrava nel suo posto Pedro) ecco il listato:

Ticket myTicket = myTicketList.Find(delegate(Ticket t) {return t.Title == "Museo Louvre"; });

Ma se vogliamo essere più eleganti ecco una nuova funzionalità chiamata Lambda Expressions (esse sono un' evoluzione dalle funzioni, ai delegati, ai delegati anonimi, fino alle Lambda Expressions).
Le espressioni Lambda sono delle funzioni con una dichiarazione molto ristretta infatti hanno alla sinistra dell'operatore lambda => i parametri  e alla sua destra il contenuto della funzione.
Ecco una possibile applicazione dell'operatore lambda sul .Find():

Ticket myTicket = myTicketList.Find(t => t.Title == "Museo Louvre");

Posted on by admin | Posted in C#, C# Tips & Trick | Tagged , ,


Leave a comment

Posted on by admin


Quando si incontra un WebService, a cui dobbiamo effettuare richieste, nella programmazione in C# ci troviamo di fronte ad una scelta di quale metodo utilizzare per generare il Proxy (ossia l'insieme di classi per accedere al webservice).

Gli strumenti che si possono utilizzare in .NET sono sostanzialmente due:

  • Utilizzando direttamente in VisualStudio "add web reference"
  • Utilizzare il tool wsdl.exe presente nel framework (tool da Prompt dei comandi così come xsd.exe)

Entrambi i metodi hanno la possibilità di essere customizati a piacimento, nel primo caso tramite la proprietà Reference.map o creando una classe condivisa che restituisce un’istanza del proxy configurato a piacimente, mentre nel secondo attraverso una serie di parametri.

E' bene però sapere che wsdl.exe ha delle funzionalità in più non presenti nella procedura "add web reference" ossia:

  • il parametro /sharetypes: che consente di condividere tipi uguali utilizzati in servizi differenti (ossia in chiamate differenti di base ogni servizio ha il suo proxy con tutte le classi definite seperatamente)
    "Turns on type sharing feature. This feature creates one code file with a single type definition for identical types shared between different services (namespace, name and wire signature must be identical). Reference the services with http:// URLs as command-line parameters or create a discomap document for local files."
     
  • il parametro /serverInterface: consente di creare un servizio web service sulla base di un file wsdl. La procedura è opposta a quella utilizzata in Visual Studio, in cui quando creo un metodo si aggiorna il wsdl.
    "Generates interfaces for server-side implementation of an ASP.Net Web Service. An interface is generated for each binding in the wsdl document(s). The wsdl alone implements the wsdl contract (classes that implement the interface should not include either of the following on the class methods: Web Service attributes or Serialization attributes that change the wsdl contract). Short form is '/si'."
     
  • /parsableerrors: visualizza gli errori in un formato simile a quello dei compilatori
    "Print errors in a format similar to those reported by compilers."
     
  • /order: genera identificatori di ordine espliciti su un particolare tipo.
    "Generate explicit order identifiers on particle members."

Tuttavia anche la procedura di VisualStudio ha una feature non presente nei parametri del tool wsdl.exe ossia la possibilità di update dinamico che permette di aggiornare l'interfaccia semplicemente con un click.

Le classi generate dai due metodi sono praticamente identiche a meno delle feature aggiuntive appena descritte, quindi se non si necissita l'utilizzo di tali feature direi che è sensato optare per la procedura di aggiunta direttamente in VisualStudio.

Posted on by admin | Posted in C# Vario | Tagged ,


Leave a comment

Posted on by admin


Per chi è amante del mac, per chi vuole sapere qualcosa in più su Steve Jobs e Bill Gates, per chi vuole farsi una cultura sulla storia dei personal computer o semplicemente per chi vuole passare un'ora e mezza a guardare un bel film... non perdetevi "I pirati di Silicon Valley".

Titolo originale: Pirates of Silicon Valley
Nazione: Usa
Anno: 1999
Genere: Biografico
Durata: 95'
Regia: Martyn Burke
Sito ufficiale: tnt.turner.com/movies/tntoriginals/pirates
Cast: Noah Wyle, Anthony Michael Hall.
Distribuzione: Warner Bros Trama:
Le vite parallele, le opere e soprattutto i business di Steve Jobs e Bill Gates, i due uomini che hanno rivoluzionato il mondo dei computer.

La scheda del film su FilmUp e le recensioni di alcuni utenti, altre informazioni su Wikipedia.

Posted on by admin | Posted in Vario OT | Tagged , ,


Leave a comment

Posted on by admin


Per chi non lo sapesse su Microsoft Press sono disponibili 3 libri gratuiti (LINQ , ASP.Net Ajax e SilverLight1.0) disponibili per il download.

 Microsoft Libri Free

 Sacricali Subito!

Inoltre ecco una breve lista di link utili tutti targati Microsoft.

  • Microsoft Italia: Dove si possono trovare tutte le informazioni possibili.
  • Microsoft Learning: Dove trovare tutte le informazioni relative alla formazione e certificazioni Microsoft.
  • Microsoft Formazione e certificazione: Informazioni sulla formazione e certificazioni Microsoft in Italia.
  • Microsoft Press developer tools site: Dove trovare Articoli e Libri per Developers (quasi tutti a pagamento)
  • Microsoft Press Windows Server and Client site: Dove trovare Articoli e Libri per Amministratori ed utenti (quasi tutti a pagamento)
  • CodePlex: E' un progetto Open Source Microsoft per la condivisione di progetti creati dalla community CodePlex.
  • MSDN Ita: Acronimo di "Microsoft Developer Network" contiene tutto quello che uno sviluppatore ha bisogno dal primo approccio allo sviluppo casa microsoft fino all' utilizzo delle più complesse tecniche di programmazione e framwork.
  • MSDN Developer Center Ita: I developer center MSDN raccolgono approfondimenti relativi a prodotti e tecnologie specifici, con esempi di codice, informazioni dalle community, articoli tecnici e documentazione, eventi dal vivo e online, e molto altro ancora.
  • MSDN Library Ita: contiene una vasta documentazione tecnica sulla programmazione, che include codice di esempio, documenti, articoli tecnici e guide di riferimento

Infine ma non per importanza consiglio a tutti di iscriversi alla Newsletter MSDN.
Che racchiude molte informazioni, dagli eventi in programma a link per articoli interessanti fino a MSDN Bookshelf.

MSDN Bookshelf!
L'iniziativa riservata agli iscritti alla newsletter MSDN Flash.
In ogni newsLetter MSDN riceverete un link ad un capitolo di uno dei libri presenti nella raccolta di Microsoft Press..

Per iscriversi seguite questo link, se volete saperne di più prima di iscrivervi andate a vedere l' archivio delle newsletter.

Posted on by admin | Posted in C# Vario | Tagged , ,


Leave a comment

Posted on by admin


Da qualche ora i blog riportano la news che nel firmware 2.2.1, reso da poco disponibile da Apple, risulta esserci del codice che fa riferimento ad una nuova generazione di iPhone.

iPhone 2,1

Apple da sempre identifica i diversi modelli con una key (chiave).

  • iPhone Edge: 1,1
  • iPhone 3g: 1,2

E adesso compare questo 2,1 come si può notare dall' immagine che riporta uno spezzone di codice presente nel firmware.
La cosa sembra abbastanza certa visto che già in passato ci si è imbattuti in frammenti di codice che facevano riferimenti a dispositivi non ancora presenti sul mercato ma poi commercializzati.

C'è chi dice che il nuovo iPhone sarà QuadCore e sarà presentato tra i mesi di giugno o luglio così come le precedenti versioni. Non ci resta che attendere notizie dalla mela, per ulteriori informazioni a riguardo vi rimando al post di iPhoneItalia.

Posted on by admin | Posted in Iphone Vario | Tagged ,


Leave a comment