Di seguito una descrizione degli strumenti che utilizziamo per svolgere il nostro lavoro:
Vedi i
Tool di automazione Vs tool di supporto.
Tool di Automazione
Build Tool
NAnt è un tool gratuito basato su .NET ed ha molti vantaggi rispetto ad altri tool simili tanto da essere considerato IL tool. Innanzitutto NAnt è platform independent e puo' essere installato ed eseguito su qualunque sistema per cui esista un'implementazione di .NET. Inoltre invece di processare file di configurazione contenenti comandi basati sulla shell (che sono dipendenti dal sistema) NAnt processa file i cui comandi sono descritti in XML rendendo semplice il porting dei progetti su altri sistemi. Per la sua flessibilità è alla base degli strumenti di Continous Integration
essay download.
...
Rake
...
Continous Integration
Cos'è la Continous Integration....
Un confronto tra i vari strumenti disponibili è disponibile qui:
Confronto tra i toolsè una suite di applicazioni ma il suo cuore è il servizio CruiseControl.NET che è un server per l'integrazione automatica
dissertation. Il server monitora costantemente l'archivio dei sorgenti. Ogni volta che uno sviluppatore invia nuove modifiche, il server avvia una build automatica per validare le nuove modifiche.Al termine gli sviluppatori con un messaggio con l'esito della build.
web design
web development and
webthesurfi rugs webdesign
può essere definito come una versione "customizzata" di CruiseControl.Net per neofiti. L'autore seguendo il paradigma "Convention over Configuration" propone una soluzione veloce per chi si vuole avvicinare facilmente alla Continous Integration.
......
....
....
Evolutionary Databases Deployment
Meccanismo di update basato su script SQL:
- use ActiveRecord Migrations pattern
- You can use other approaches if you have an ORM and you haven't released to production yet.
- You shouldn't use this pattern When you have a huge legacy database
- use SQL delta scripts
shared web hosting
email hosting
best hosting
- for developers or DBAs who want to evolve their database design - or refactor their database
- to build development, QA, UAT (User Acceptance Testing) and production environments
- see also
http://dbdeploy.com/wp-content/uploads/2007/05/taking-control-of-your-database-development.pdf custom paper
...
Tool di Supporto
Inversione di Controllo
C'è stato un grandissimo interesse nella comunità Java riguardo i
professional resume service de lightweight container che permettono di assemblare componenti di differenti progetti dentro ad un'applicazione unica. Alla base di questi container c'è un pattern comune su come essi implementano il collegamento, un concetto espresso sotto il termine generico di "Inversione di Controllo".
Martin Fowler a riguardo ha scritto un'eccelente
articolo.
Per un confronto dettagliato (non ancora completo) delle funzionalità dei framework elencati vedere
IoC Benchmarkingè l'implementazione del pattern inversion of control (IoC) realizzata dal team castle grazie al quale lavora il noto framework Monorail per realizzare applicazioni web usando il pattern MVC.
è il porting in .Net di un lightweight container Java, che permette di implementare facilmente il pattern inversion of control (IoC) nelle nostre applicazioni .Net.
...
...
...
...
Framework web MVC
......
Si differenzia dal modo di sviluppo standard tramite WebForms perchè rafforza la separazione dei concetti.Solo il controller gestisce il flusso dell'applicazione, il model rappresenta i dati e la view si occupa solo di presentarli.Di conseguenza si scrive meno codice ed il risultato finale è un'applicazione più manutenibile.Anche se il progetto si chiama MonoRail, non ci sono legami con il progetto Mono. MonoRail gira sul on Microsoft .Net 1.1, 2.0 e Mono.
PRO:
- modello di sviluppo semplificato
- integrazione (opzionale) con activerecord
- possibilità di gestire html, css e javascript in maniera "corretta" (niente stili iniettati e js dentro la pagina)
- accesso ai framework html/js quali jquery ecc...
- Testabile (Nunit/MsTest/MbUnit)
- Separazione reale controller model e view
- Possibili eventuali porting verso altri modelli di presentation (WinForm, WPF …) con “poco” sforzo.
- Ci si prepara all’eventuale porting verso l’MVC di microsoft !!!
- Forum e i gruppi google per il supporto sono molto attivi
- Disponibile anche un supporto a pagamento
CONTRO:
- perdita del designer delle pagine di ASP.NET
- impossibilità di usare la marea di controlli ASP.NET disponibili
- Non molta documentazione al momento
- Curva di apprendimento delle risorse
Da qualche tempo a questa parte Microsoft ha reso noto che sta lavorando ad un progetto di implementazione del pattern MVC per
ASP.Net
Ad ogni non è ancora disponibile nessuna beta anche se bisogna dire che di questo framework si sa già molto perchè su vari blog di team manager e collaboratori Microsoft è già stato mostrato qualche esempio.
Lo strumento sembra promettere bene anche nella prima versione non dovrebbe esserci supporto per MS AJAX.
Tool di Automazione
Build Tool
NAnt è un tool gratuito basato su .NET ed ha molti vantaggi rispetto ad altri tool simili tanto da essere considerato IL tool. Innanzitutto NAnt è platform independent e puo' essere installato ed eseguito su qualunque sistema per cui esista un'implementazione di .NET. Inoltre invece di processare file di configurazione contenenti comandi basati sulla shell (che sono dipendenti dal sistema) NAnt processa file i cui comandi sono descritti in XML rendendo semplice il porting dei progetti su altri sistemi
webthesurfi rugs webdesign. Per la sua flessibilità è alla base degli strumenti di Continous Integration.
...
Rake
...
Continous Integration
Cos'è la Continous Integration....
è una suite di applicazioni ma il suo cuore è il servizio CruiseControl.NET che è un server per l'integrazione automatica. Il server monitora costantemente l'archivio dei sorgenti. Ogni volta che uno sviluppatore invia nuove modifiche, il server avvia una build automatica per validare le nuove modifiche.Al termine gli sviluppatori con un messaggio con l'esito della build.
può essere definito come una versione "customizzata" di CruiseControl.Net per neofiti. L'autore seguendo il paradigma "Convention over Configuration" propone una soluzione veloce per chi si vuole avvicinare facilmente alla Continous Integration.
......
....
....
Evolutionary Databases Deployment
Meccanismo di update basato su script SQL:
- use ActiveRecord Migrations pattern
- You can use other approaches if you have an ORM and you haven't released to production yet.
- You shouldn't use this pattern When you have a huge legacy database
- use SQL delta scripts
- for developers or DBAs who want to evolve their database design - or refactor their database
- to build development, QA, UAT (User Acceptance Testing) and production environments
- see also
http://dbdeploy.com/wp-content/uploads/2007/05/taking-control-of-your-database-development.pdf
...
Source control
In informatica, il controllo versione è la gestione di versioni multiple di un insieme di informazioni.
Viene usato prevalentemente nello sviluppo di progetti ingegneristici o informatici per gestire la continua evoluzione dei documenti digitali come il codice sorgente del software, i disegni tecnici, la documentazione testuale e altre informazioni importanti su cui può lavorare una squadra di persone. Le modifiche a questi documenti sono identificate incrementando un numero o un codice associato ad essi, denominato "numero di versione", "etichetta di versione", o semplicemente "versione", e sono etichettate con il nome della persona che ha apportato la modifica.
Una semplice forma di controllo versione, per esempio, assegna il numero 1 alla prima versione di un disegno. Quando viene apportata la prima modifica, il numero di versione passa a 2 e così via.
Gli strumenti software per il controllo versione sono sempre più riconosciuti essere necessari per la maggior parte dei progetti di sviluppo software.
Il Concurrent Versions System (CVS), conosciuto anche come Concurrent Versioning System, implementa un sistema di controllo versione: mantiene al corrente di tutto il lavoro e di tutti i cambiamenti in un insieme di file, tipicamente è l'implementazione di un software in via di sviluppo, in progetto, e permette a molti sviluppatori (potenzialmente distanti) di collaborare. CVS è divenuto popolare nel mondo del software libero ed è rilasciato sotto la GNU General Public License.
(noto anche come svn, che è il nome del suo client a riga di comando) è un sistema di controllo versione progettato specificamente per sostituire CVS, che è considerato avere troppe carenze.
Tra i client:
La versione 2.0 di AnkhSVN é un progetto free totalmente nuovo rispetto alla versione 1.5 e implementa il client SVN per Visual Studio come un SCC provider. I commenti generali della nuova versione sono positivi e per alcuni ha raggiunto e per altri superato il tool commerciale VisualSVN.
è il sistema di controllo versione di Microsoft, il provider per l'utilizzo di tale SC è utilizzabile da tutti i prodotti Microsoft (visual Studio 6.0, Visual Studio 2003/2003/2005/2008) e sono anche disponibili plugin per IntelliJ Idea e
EclipseMeglio noto come TFS, L'ultimo nato di casa MicroSoft, consente di gestire l'intera LifeCycle dei progetti, dalla gestione dei requisiti all'assegnazione di Task al monitoraggio dei WorkItem su Portale Di Progetto sviluppato con Sharepoint Services. Mette a disposizione un Source Control Provider che permette policy di checkin customizzabili (ad esempio associare un checkin ad un workitem specifico), è disponibile anche una
Versione Web per l'accesso al server da macchine che non hanno visual studio installato.
Distributed version control system, inizialmente sviluppato da Linus Torvalds per supportare lo sviluppo del Kernel di Linux. Grazie anche a
GitHub, sta prendendo molto piede nella community di sviluppatori Ruby ma anche tra gli sviluppatori .NET, nonostante il supporto a Windows sia ancora primitivo se paragonato, per esempio, a SVN.
Altro distributed version control system sviluppato in Python, con feature simili a Git. Il tool
TortoiseHg è stabile, maturo e non fa sentire la mancanza di TortoiseSVN in Windows. Mercurial è supportato anche da
Google code.
BitBucket è la controparte Mercurial di GitHub.
Scrum product backlog
...
Altri Tool
Evolutionary Databases - Design and Deployment¶
Meccanismo di update basato su file XML:
...
...
Meccanismo di update basato su file di codice:
...
...
...
Per un progetto in sviluppo stiamo usando questo:
http://code.google.com/p/migratordotnet/
Rispetto a dbdeploy, le migrazioni si scrivono
Promotional ItemsCorporate Gifts seo in c# utilizzando un DSL indipendente dal DBMS. Questo rende le migration portabili e piu comode da sviluppare, ma a mio parere rende piu scomodo diagnosticare eventuali problemi di script.
DbVerse offers .NET development teams an
iphone blog efficient and easy to use tool for database change management. It is primarily targeted at MS SQL Server environments.
Non Relational Db
Non Relational Db
Great Articles………….. thank you