venerdì 29 luglio 2011

Refactoring e Profiling Python con Visual Studio

Pubblicato da Jonathan Allen

Divisione Developer di Microsoft ha rilasciato una release candidate di strumenti Python per Visual Studio . Oltre a supportare il refactoring in CPython e IronPython, questa versione offre il supporto per MPI (Message Passing Interface) e Microsoft HPC (High Performance Computing). Visual Studio proprietari ultimo anche un profiler per CPython.

Secondo la procedura dettagliata, HPC & Nuvola Caratteristiche pubblicato sul sito del progetto, ci sono due modi per scalare il calcoli utilizzando Python.

  • Modalità batch: Via MPI, usando i wrapper MPI4PY su un cluster
  • Modalità interattiva: Via Shell IPython integrato su un cluster (o utilizzando IPython da solo)

Mentre lo standard MPI è stato concepito principalmente per l'utilizzo con i cluster e dei supercomputer, ci sono altri modi per sfruttare esso. A scopo di verifica uno multi-core macchina di sviluppo può essere sufficiente per carichi di lavoro relativamente piccolo. Un'altra opzione è quella di "Cluster di Workstation", in cui i PC in uso cicli di inattività per l'elaborazione dei dati. (L'esempio più famoso di questa idea è il SETI @ home del progetto.)

IPython è un "ambiente completo per il calcolo interattivo ed esplorativa" con una forte enfasi sulla programmazione parallela. IPython gira su qualsiasi interprete Python tra cui 2,6 IronPython e PYPY.

Strumenti di Python per Visual Studio supporta anche molte delle caratteristiche standard che ci si aspetterebbe. Built-in modelli di progetto sono disponibili per

  • Python / IronPython applicazioni console
  • Python MPI Applicazioni
  • IronPython con WPF
  • IronPython con Silverlight pagina Web (Essenzialmente questo usa Python invece di JavaScript per una pagina web altrimenti normale)
  • IronPython con WinForms

Per un linguaggio dinamico il supporto Intellisense è abbastanza robusto. "L'inferenza dei tipi è il flusso di controllo indipendente e funziona attraverso la funzione, la classe e confini modulo e viene aggiornato in tempo reale mentre si sta sviluppando l'applicazione." C'è anche il supporto per la barra di navigazione, "andare alla definizione", e " trovare tutte le "caratteristiche riferimenti. Il supporto refactoring abbiamo menzionato nel titolo è nuovo in questa versione. Attualmente si supporta la ridenominazione e l'estrazione di metodo. Il Visualizzatore oggetti è supportato anche, con le firme del metodo visualizzato utilizzando la sintassi di Python.

Il debugger funziona con CPython, IronPython, e Python MPI e ha il supporto per le normali punti di interruzione e di esplorazione variabile.

Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

Estensioni interattivi per LINQ to Objects

Pubblicato da Jonathan Allen

Estensioni interattiva (Ix) è un insieme di ulteriori LINQ to Objects operatori di query basate sul lavoro svolto nelle estensioni reattiva (Rx). Un rapido sguardo attraverso l'API rivela una serie di metodi di estensione IEnumerable sotto lo spazio dei nomi System.Linq. Mentre la maggior parte gli sviluppatori hanno già molti di questi nelle loro librerie di utilità propria, avere una implementazione standard per queste caratteristiche mancanti sarebbe utile.

  • Il primo è ForEach, il metodo di estensione che praticamente ogni sviluppatore ha scritto ad un certo punto. Ci sono due varianti, con la seconda tra cui un indice a base zero.
  • Buffer tritare una enumerazione enumerazioni in piccoli sulla base di una certa dimensione. Il metodo di buffer utilizza una miscela di eager loading e pigro. Ogni buffer di N elementi è letto avidamente, ma senza elementi più dalla fonte verrà letto fino a quando il buffer precedente è completamente consumato.
  • Cattura è una funzione piuttosto interessante. Si leggerà da una fonte fino al completamento uno o viene generata un'eccezione. In quest'ultimo caso sarà poi iniziare a leggere da una seconda fonte. La seconda fonte può essere un oggetto IEnumerable o una funzione che restituisce un oggetto IEnumerable. Quando si utilizza il secondo la logica può essere limitato a un tipo specifico di eccezione.
  • Concat inizia semplicemente enumerando una seconda lista una volta che il completamento del primo.
  • Differire prende una funzione invece di un oggetto IEnumerable. La funzione sarà eseguita se e solo se qualcosa cerca di enumerare su di esso.
  • Filtra DistinctUntilChanged i duplicati consecutivi. Per esempio, la sequenza [AABAAB] sarebbe diventato [ABAB].
  • Non è una variante di ForEach. A differenza ForEach, la funzione Do esegue solo la sua azione su elementi quando vengono enumerati.
  • DoWhile è come TakeWhile differenza che la funzione predicato non considera la voce di essere enumerato.
  • Per le occasioni funzione con un problema interessante. Diciamo che avete un elenco di autori e una funzione di ricerca di corrispondenza che restituisce un elenco di libri. La funzione dovrebbe Per eseguire la funzione di ricerca su ogni autore nella lista e poi restituire una lista concatenata di libri.
  • Generare restituisce una lista mia imitazione di uno stile di C-loop. Ci vuole per i parametri, il valore iniziale, la funzione di condizione, la funzione di ribadire che modifica lo stato, e il selettore risultato. Si potrebbe vedere facilmente questo essere usati per rappresentare una macchina a stati come IEnumerable.
  • Se la funzione utilizza una funzione predicato per determinare quale delle due liste per tornare. Se solo una lista è fornita, poi una sequenza vuota viene restituita per il caso falso.
  • Memoize è utilizzato per prevenire enumerando una fonte più di una volta. In un certo senso è come ToList chiamando, solo che ToList sempre enumerare la fonte una sola volta, mentre si Memoize enumerare la fonte zero o una volta. Se dite Memoize quanti lettori aspettarsi, può rimuovere elementi dalla sua buffer interno agli elementi che vengono consumati da tutti i lettori previsto.
  • Min e Max lavorare come pubblicizzato. MinBy e MaxBy aggiungere l'opzione di fornire una funzione di valore in modo da poter esprimere cose come "selezionare il cliente con la maggior parte delle vendite".
  • OnErrorResumeNext concatena due o più sequenze con l'ulteriore vantaggio che un errore da ogni sequenza non le impedirà di concatenare le sequenze rimanenti.
  • Ripetere crea un elenco, finito o infinito, che si limita a ripetere lo stesso valore più e più volte. Il valore può essere uno scalare o una lista.
  • Riprova cercherà di enumerare una fonte fino al successo o un numero opzionale di eccezioni sono state gettate.
  • Ritorno diventa un valore scalare in una lista contenente solo che un valore, eliminando la necessità di creare esplicitamente gli array di lunghezza 1.
  • La scansione è una funzione utile per aggregare più campi. A differenza dei normali funzioni di aggregazione, le funzioni di scansione può essere composto, questa riduzione del numero di passaggi attraverso la fonte. Per esempio, source.Scan (a => Dollari + = a.Dollars). Scan (a => Unità + = a.Units).
  • SkipLast e TakeLast sono specchi della Prendete e Skip funzioni.
  • Proiezione è utile per testare, crea un oggetto IEnumerable che genera un'eccezione se qualcuno cerca di enumerare su di esso.

Per ulteriori informazioni sulle estensioni interattive guardare presentazione Bart De Smet o scaricare la versione sperimentale .


Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

giovedì 28 luglio 2011

ASP.NET MVC: Migliorare la produttività con la WebGrid

l WebGrid renderà certamente gli sviluppatori che lo usano più produttivo. Ma è perso il senso del modello di ASP.NET MVC?


Apprezzo il supporto ASP.NET MVC per lo sviluppo Test Driven ma sono meno entusiasta di ottenere il controllo completo del HTML che scende al browser. Le mie capacità HTML sono abbastanza minimale, ma, davvero, credo che tutto ciò che genera HTML (e potenzialmente JavaScript) mi fa meno produttivi rispetto a quando sto lavorando in ASP.NET (anche dopo aggiustamento per aver perso alcuni dei benefici del TDD). Preferisco trascinare un GridView nella pagina di generare una tabella HTML. A proposito, ASP.NET MVC 3 aiuta con l'aggiunta del helper WebGrid ed è una griglia piuttosto bene ... per MVC.

Visualizzazione dei dati
Utilizzando il WebGrid può richiedere fino a tre gradini. In primo luogo, si configura il WebGrid. Il costruttore WebGrid accetta un sacco di parametri, ma parametri denominati rendere questo più facile da fare e più semplice per lo sviluppatore vicino a capire. Questo codice è praticamente auto-esplicativo, ad esempio:


    @ Codice Dim griglia = New WebGrid (fonte: = Me.Model, DefaultSort: = "Nome", rowsPerPage: = 3) Fine codice 

Mentre il parametro sorgente può essere impostato su qualsiasi collezione di oggetti, qui ho legato alla proprietà del modello della vista, che, ho assunto, si trova nel controllo prima che la vista è chiamato.

Quindi si configura ogni WebGridColumns che si desidera aggiungere al WebGrid (questa parte è opzionale: se non si configura tutte le colonne, la WebGrid visualizza una colonna per ogni proprietà sugli oggetti nel modello).WebGridColumns hanno solo quattro proprietà: una per associare la colonna ad alcune proprietà sugli oggetti viene visualizzato (ColumnName), un secondo per consentire l'ordinamento della colonna da parte dell'utente (CanSort), un terzo per contenere il testo per l'intestazione della colonna (intestazione ), e un quarto per controllare la formattazione (formato). Dopo aver configurato queste colonne, è possibile utilizzare il metodo Colonne WebGrid per caricarli in un array per un uso successivo:

    @ Codice Dim wbgBD As New WebGridColumn wbgBD.CanSort = wbgBD.ColumnName vero wbgBD.Header = "Nome" = "Nome" '... configurare più colonne ... Dim cols Come WebGridColumn () cols = Grid.Columns (wbgFN, wbgLN, wbgBD) Codice End 

Una volta configurato il WebGrid, si genera il codice HTML chiamando il metodo GetHtml il WebGrid è. In questo esempio, ho appena impostare lo stile per la tavola e la sua intestazione specificando classi CSS e superato le colonne da visualizzare:

        @ Grid.GetHtml (TableStyle: = "gridStyle", HeaderStyle: = "headStyle", le colonne: = cols      

Per supportare più di una semplice visualizzazione dei dati è necessario per permettere all'utente di selezionare una riga. Il modo più semplice per sostenere che è quello di aggiungere un'altra colonna che non è legato a una proprietà nel modello. Invece, utilizzare la proprietà Format della colonna di chiamare il metodo GetSelectLink il WebGridRow, passando il testo che si desidera visualizzare nella colonna. Questo codice genererà una colonna con una colonna contenente un link che mostra il testo "Modifica":

Dim wbgEd As New WebGridColumn wbgEd.CanSort = wbgEd.ColumnName True = wbgEd.Header = Nothing wbgEd.Format Nulla funzione = (riga) row.GetSelectLink ("Modifica") 

Quando l'utente fa clic sul link, la pagina verrà postback e la querystring conterrà il numero della riga che l'utente selezionato. È possibile controllare il nome che il numero di riga viene assegnato nella querystring tramite il parametro selectionFieldName quando si istanzia l'griglia. In questo esempio viene impostato il nome di "srow":

Dim griglia = New WebGrid (fonte: = Me.Model, selectionFieldName: = "srow") 

Se l'utente fa clic sulla seconda fila, vado a prendere qualcosa URL come http://MyHost.com/Home/Index?srow=2.

Ma è una buona cosa?
io non sono interessato, con un impatto del WebGrid sul TDD. Nel modello MVC, l'obiettivo è quello di avere una vista che è così in morte cerebrale semplice che non può avere errori. Naturalmente, si può ancora avere ciò che io chiamo "errori" (ad esempio l'etichetta sbagliata accanto ai dati o un errore di ortografia nel testo sulla pagina), ma non c'è alcuna reale possibilità di creare errori logici nella creazione delle WebGrid. Naturalmente, sono sicuro che posso aggiungere alcuni errori nel mio codice lato server quando ho la fila WebGrid processo che è passato nuovamente quando l'utente seleziona una riga.

Ma, mentre mi piace la WebGrid, mi chiedo se non manca l'altro punto di ASP.NET MVC: il controllo completo del codice HTML. Penso a me stesso come un programmatore pratico ("Se funziona, è giusto), piuttosto che un purista, quindi questo tipo di problema non mi preoccupa molto. Ma uno dei motivi per cui gli ambienti di sviluppo in discesa è che cercano di essere tutto a tutti i geek. Se questi nuovi controlli sono di catering per i non-MVC sviluppatore, può essere a rischio di generare applicazioni che gli sviluppatori reale MVC considererebbe un errore.

Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

Microsoft rilascia Visual Studio 2011 LightSwitch

Da Kathleen Richards

·

· Microsoft ha annunciato il rilascio di Visual Studio LightSwitch 2011, un modello-driven, self-service strumento di sviluppo per la creazione di data-driven. NET che può essere distribuito sul desktop, Web e cloud Azure. LightSwitch consente agli utenti il ​​potere e agli sviluppatori di creare linee di business. NET con codifica poco o niente.

LightSwitch Microsoft ha reso disponibile per il download agli abbonati MSDN, la cui disponibilità per l'acquisto fissato per Giovedi 28 luglio. Un Visual Studio 2011 LightSwitch licenza è di US $ 299. Un servizio gratuito, per 90 giorni versione di prova di LightSwitch è immediatamente disponibile, anche se gli utenti dovranno registrare il software dopo i primi 30 giorni. Jason Zander, Corporate Vice President per il team di Visual Studio di Microsoft, ha annunciato il rilascio LightSwitch nel suo blog il Martedì e ha spiegato la filosofia che ispira l'ultima edizione della famiglia di prodotti Visual Studio:

[LightSwitch] inizia con la premessa che la maggior parte delle applicazioni aziendali costituite da dati e le schermate di cui gli utenti interagiscono. LightSwitch semplifica allegando i dati con procedure guidate origine dei dati o la creazione di tabelle di dati con i designer tavolo. Esso include anche modelli per lo screening per le attività comuni in modo da poter creare interfacce pulite per le vostre applicazioni, senza essere un designer. Applicazioni di base può essere scritto senza una riga di codice. Tuttavia, è possibile aggiungere codice personalizzato che è specifico per il problema di business, senza doversi preoccupare di creare classi e metodi.

Sistemi Oakleaf principali Roger 'Jennings, che si specializza nei dati di sviluppo e di Windows Azure, è un sostenitore di LightSwitch. Il suo uso del cloud Azure per la distribuzione e dati sul back-end funziona come pubblicizzato, ha detto in un'intervista-mail. "Corrisponde al. NET e Visual Studio come funzionalità di Microsoft Access 'RAD relativi a Visual Basic 6 e versioni precedenti. E' probabile che portare un sacco di sviluppatori alle prime armi nel. Piega NET e la piattaforma Windows Azure", ha detto Jennings, che ha notato che, "SQL Azure elimina la necessità per gli sviluppatori di avere competenze DBA."

LightSwitch Beta 2 spediti in marzo con un Go-Live di licenza per l'uso in produzione interna. La prima beta pubblica della tecnologia è stata rilasciata agli sviluppatori lo scorso agosto presso lo Studio Live Visual! conferenza. All'inizio LightSwitch ricevuto reazioni contrastanti da parte degli sviluppatori, alcuni dei quali lamentato potenziali problemi di sicurezza IT e di fornire abbassare le barriere all'ingresso per i programmatori non professionisti, che sono essenzialmente la creazione di forme-over-dati applicazioni in ambienti aziendali.

La tecnologia offre starter kit per le applicazioni aziendali più comuni, pre-configurato modelli di pagine video, temi e componenti per la costruzione di linea di soluzioni di business senza richiedere il codice per la comune ricerca di dati, record di creazione e manutenzione. LightSwitch dati possono essere esportati in applicazioni Microsoft Office come Excel e consumati da diverse fonti di dati tra cui SQL Server Express, SQL Server, SQL Azure, SharePoint 2010 Elenchi, Entity Framework e WCF RIA Services.

Se la consuetudine di codifica è necessaria, i progetti possono essere migrati a Visual Studio 2010 (con Service Pack 1) per un ulteriore sviluppo in C # o VB.NET. La tecnologia client LightSwitch è costruita su Silverlight 4 e un Model View ViewModel (MVVM) modello, permettendo alle applicazioni LightSwitch per l'esecuzione in browser come plug-in o fuori dal browser come applicazioni desktop.

Extensible Solutions
di Microsoft è fortemente promuovere l'estensibilità delle soluzioni LightSwitch nella speranza di creare un terzo ecosistema di estensioni. Alla Beta 2 di lancio, Andrew Brust, fondatore e CEO di Blue Badge Insights , ha detto al pubblico che l'ecosistema, a suo avviso era "paragonabile alla possibilità Visual Basic 1.0 quando stava entrando nella sua versione beta finale di circa 20 anni fa", secondo la sua Redmond Diario blog .

ComponentOne, DevExpress, Software Primo Piano, Infragistics e RSSBus offrono le estensioni per i LightSwitch il Martedì, nell'ambito del lancio. Infragistics rilasciato NetAdvantage per Visual Studio LightSwitch, basata su Silverlight set di strumenti di visualizzazione dei controlli dell'interfaccia utente dati, conchiglie e le tematiche specificamente orientata verso la costruzione di cruscotti e fuori linea miglioramento delle applicazioni di business. Un sottoinsieme delle attrezzature è gratuito, con la versione completa disposizione NetAdvantage abbonati Ultimate o come prodotto standalone.

Jason Beres, Infragistics ' VP Product Management, prevede LightSwitch di offrire una soluzione per utenti aziendali i cui requisiti di onorabilità da qualche parte tra uno e due livelli applicazioni di Microsoft Access e soluzioni scalabili in Visual Studio. "LightSwitch è il punto debole in mezzo, dove io non voglio entrare nel coraggio di codice, ma voglio qualcosa di scalabile e che può effettivamente resistere alla prova di un sacco di utenti e che si basa su una piattaforma moderna", ha detto Beres. "Quindi, se ho bisogno di scrivere codice che posso, ma sarebbe auspicabile per non scrivere il codice ed i nostri prodotti rientrano in questo".

Estensioni LightSwitch sono disponibili nella Galleria di Visual Studio e accessibili via Extension Manager all'interno dell'IDE, che consente agli utenti di selezionare le estensioni per l'utilizzo in progetti in corso. In Visual Studio LightSwitch 2011, i sei punti di estendibilità includono il tipo di business, controllo, personalizzate origine dati, modelli per lo screening, conchiglia e il tema. Gli sviluppatori possono imparare di più circa l'estensibilità dal Cookbook Estensibilità LightSwitch , rilasciato con LightSwitch Beta 2


Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

.

Refactoring e Profiling Python con Visual Studio

Pubblicato da Jonathan Allen

Divisione Developer di Microsoft ha rilasciato una release candidate di strumenti Python per Visual Studio . Oltre a supportare il refactoring in CPython e IronPython, questa versione offre il supporto per MPI (Message Passing Interface) e Microsoft HPC (High Performance Computing). Visual Studio proprietari ultimo anche un profiler per CPython.

Secondo la procedura dettagliata, HPC & Nuvola Caratteristiche pubblicato sul sito del progetto, ci sono due modi per scalare il calcoli utilizzando Python.

  • Modalità batch: Via MPI, usando i wrapper MPI4PY su un cluster
  • Modalità interattiva: Via Shell IPython integrato su un cluster (o utilizzando IPython da solo)

Mentre lo standard MPI è stato concepito principalmente per l'utilizzo con i cluster e dei supercomputer, ci sono altri modi per sfruttare esso. A scopo di verifica uno multi-core macchina di sviluppo può essere sufficiente per carichi di lavoro relativamente piccolo. Un'altra opzione è quella di "Cluster di Workstation", in cui i PC in uso cicli di inattività per l'elaborazione dei dati. (L'esempio più famoso di questa idea è il SETI @ home del progetto.)

IPython è un "ambiente completo per il calcolo interattivo ed esplorativa" con una forte enfasi sulla programmazione parallela. IPython gira su qualsiasi interprete Python tra cui 2,6 IronPython e PYPY.

Strumenti di Python per Visual Studio supporta anche molte delle caratteristiche standard che ci si aspetterebbe. Built-in modelli di progetto sono disponibili per

  • Python / IronPython applicazioni console
  • Python MPI Applicazioni
  • IronPython con WPF
  • IronPython con Silverlight pagina Web (Essenzialmente questo usa Python invece di JavaScript per una pagina web altrimenti normale)
  • IronPython con WinForms

Per un linguaggio dinamico il supporto Intellisense è abbastanza robusto. "L'inferenza dei tipi è il flusso di controllo indipendente e funziona attraverso la funzione, la classe e confini modulo e viene aggiornato in tempo reale mentre si sta sviluppando l'applicazione." C'è anche il supporto per la barra di navigazione, "andare alla definizione", e " trovare tutte le "caratteristiche riferimenti. Il supporto refactoring abbiamo menzionato nel titolo è nuovo in questa versione. Attualmente si supporta la ridenominazione e l'estrazione di metodo. Il Visualizzatore oggetti è supportato anche, con le firme del metodo visualizzato utilizzando la sintassi di Python.

Il debugger funziona con CPython, IronPython, e Python MPI e ha il supporto per le normali punti di interruzione e di esplorazione variabile.

Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla