martedì 30 agosto 2011

Adobe Digital Enterprise Platform è ora disponibile

Adobe Systems Incorporated ha annunciato la disponibilità immediata e la prova gratuita della sua nuova piattaforma Adobe Digital Enterprise e la prima serie di soluzioni per la gestione della Customer Experience (CRM). La Adobe Digital Enterprise Platform, la prima volta nel mese di giugno, è una aperta, modulare e basata su standard per la fornitura offrendo accattivanti soluzioni digitali attraverso sociali, web, mobile, e canali di stampa. La piattaforma include l'integrazione con la Suite di marketing online di Adobe per ottimizzare le campagne di marketing digitale e personalizzare esperienze digitali in tutti i marketing, vendite e canali di erogazione dei servizi. Inoltre, l'integrazione con Adobe Flash Builder (R) 4.5 e Flex 4,5 aiuta le imprese alle organizzazioni IT di creare applicazioni mobili altamente espressivi per i dispositivi Android, BlackBerry PlayBook, iPhone e iPad. Costruito sulla piattaforma Adobe Digital Enterprise, una prima serie di soluzioni clienti dell'azienda Experience sono già disponibili: Recensione Integrated Content; esperienza di gestione web e di comunicazione del cliente. 



lunedì 29 agosto 2011

Automatizzato di dati di sincronizzazione dei dati con SQL Confronta e TeamCity


Per un po 'di tempo, ho continuato a rimandare un compito di configurare un processo di sincronizzazione di un particolare dei dati aziendali. Questi dati vengono popolati in una singola tabella in un ambiente di produzione su base giornaliera, ma anche bisogno di essere sincronizzati fino negli ambienti di test e sviluppo di tanto in tanto. Senza entrare troppo nel dettaglio circa la natura dei dati, si compone di circa 700.000 record che il cambiamento sia attraverso aggiornamenti o inserimenti. Normalmente non mi piace prendere i dati di produzione giù in altro ambiente ( ci sono modi semplicemente meglio ), ma la natura di questi dati chiamato per mantenere gli ambienti in modo da sincronizzare gli sviluppatori potrebbero fare il loro lavoro.
Ero stato seduto su questo requisito per un po 'come non ero assaporando quello che potrebbe diventare un tempo, compito laborioso. Questo era un tavolo con oltre 40 colonne compresi un sacco di chiavi esterne (una di loro auto-referenziale), e un campo calcolato in modo, oltre ad essere attenti a non creare eventuali problemi di integrità referenziale, ne avevo bisogno per accadere velocemente in modo da non svolgere il caos con un ambiente di produzione. Nella mia mente, che stava a significare scrivendo manualmente una qualche forma di ETL direttamente in T-SQL o tramite SSIS o anche scendere un percorso SQL replica. E 'stato forse anche un SQL MERGE compito, ma questi particolari ambienti erano ancora bloccati su SQL 05 in modo che era fuori strada.
Un rapido avvertimento: io non sono un DBA, gli sviluppatori sono una che lavora con i database. Ci possono essere stati altri angoli di venire in questo da, ma la soluzione sono arrivato è veloce, semplice e facile da monitorare. Il fatto che sia finito per essere un lavoro di 15 minuti sul mio week-end e non mi dispiace rinunciare a un po 'del mio prezioso Domenica su questo particolare compito è stato un risultato molto bello!

Dati SQL Confronta e la linea di comando

Red Gate SQL Data Compare è piuttosto abile nel sincronizzazione dei database in ambienti attraverso un'interfaccia utente amichevole. Inserire l'origine e la destinazione server e database, eseguire il confronto, guardate le differenze, eseguire la sincronizzazione.Semplice.
Cosa è, però, è anche possibile strumento tutto questo attraverso la riga di comando. E 'simile a questa:
SQLDataCompare.exe / s1: SourceServer / db1: SourceDB / s2: TargetServer 
/ db2: TargetDB / Include: tavolo: \ [MyTable \] / Include: identico / v / sync
Questo è per lo più abbastanza auto-esplicativo, è il quattro interruttori alla fine che sono quelli interessanti: solo confrontare la tabella dal titolo "MyTable" (le parentesi quadre sono fuggiti dal carattere precedente), includono tabelle identiche nel risultato del confronto in modo che il processo non restituisce un errore quando tutto le partite, mi dia un output dettagliato ed effettivamente sincronizzare le differenze, non semplicemente confrontare.
Perché c'è una bella interfaccia a riga di comando possiamo facilmente orchestrare questo da TeamCity. L'ambiente in questione era già in esecuzione di SQL Confronta suite di come è usato per Banca dati automatizzata con TeamCity e Red Gate . Rivedere il progetto che ho creato, è solo un progetto TeamCity normale senza impostazioni VCS (non stiamo ricevendo nulla da controllo del codice sorgente), una riga di comando costruire passo, un paio di parametri di costruire e un trigger. In realtà, il comando è un po 'più complicato perché l'ho estratto in un modello e utilizzato variabili di ambiente per i nomi dei server:
Costruire configurazione mostra la sintassi della riga di comando
La ragione per cui ho fatto questo è così che io possa riutilizzare la formazione tra le due produzione di prova e prova-to-sviluppo sincronizzazioni dei dati. Questo rende la manutenzione veramente facile, se voglio cambiare i parametri della riga di comando in seguito. Ecco quali sono i parametri costruire assomigliano per la produzione di test di sincronizzazione:
Le variabili d'ambiente utilizzato nel comando
Il test a sincronizzare lo sviluppo è identico (ho semplicemente copiato la produzione a prova di costruire), ad eccezione, ovviamente, l'impostazione dei due suddetti parametri in base ai nomi rispettivo server. Io innescare la produzione a test di sincronizzazione veramente bene e fuori orario di lavoro poi completato con successo, innescare una prova a costruire lo sviluppo. In questo modo la finestra dove il server di produzione è stato toccato nel ridotto al minimo.
Un'ultima cosa: assicurarsi che l'account è TeamCity connessione a server con sSQL ha avuto il principio del privilegio minimo attivamente applicata. Mettere il cappello sulla sicurezza e chiedono "Che cosa conto assolutamente, positivamente devono essere in grado di fare?" E poi non lasciarlo fare nulla oltre questo. Per esempio, ha solo bisogno di leggere, dalla produzione, ma deve essere in grado di selezionare, inserire e aggiornare in ambienti di test e sviluppo (sto assumendo nessun record ridondanti vengono inseriti direttamente in questi ambienti e che le eliminazioni non sarà necessario ).
Una volta che la costruzione viene eseguito correttamente, il registro simile a questa:
[10:39:14]: evitare il controllo dei cambiamenti - non ci sono radici VCS definito
[10:39:14]: Cancellare directory temporanea: 
            C: \ TeamCity \ buildAgent \ temp \ buildTmp
[10:39:14]: Checkout directory: C: \ TeamCity \ buildAgent \ work \ db35110eeed7e0e5
[10:39:14]: fonti Repository trasferiti
[10:39:14]: fonti Aggiornamento: checkout lato server ...
[10:39:14]: artefatti Publishing interno (1s)
[10:39:16]: [artefatti Publishing interno] build.start.properties Invio 
            di file
[10:39:14]: Dal: "C: \ Program Files \ Red Gate \ Dati SQL Compare 9 
            \ SQLDataCompare.exe "/ s1: MyProductionServer / db1: MyTable 
            / s2: MyTestServer / db2: tavolo: MyTable / Include: \ [MyTable \] 
            / Include: identico / v / sync
[10:39:14]: nella directory: C: \ TeamCity \ buildAgent \ work \ db35110eeed7e0e5
[10:39:15]: Red Gate SQL Data Compare Utilità da riga di comando V9.1.0.365
[10:39:15]: ========================================== =====================
[10:39:15]: Copyright c Red Gate Software Ltd 1999-2011
[10:39:15]: Numero di serie: XXX-XXX-XXXXXX-XXXX
[10:39:15]: Confronto MyProductionServer.MyTable database con dati 
            MyTestServer.MyTable ...
[10:39:15]: database Registrazione
[10:39:17]: Mapping
[10:39:17]: banche dati a confronto
[10:40:53]: Generazione di script SQL
[10:40:54]: Sincronizzazione dei database
[10:41:15]: Finito
[10:41:15]: Informazioni di riepilogo
[10:41:15]: ========================================== =====================
[10:41:15]: DB1 = MyProductionServer.MyTable
[10:41:15]: DB2 = MyTestServer.MyTable 
[10:41:15]: Object Name Records tipo DB1 DB2
[10:41:15]: ------------------------------------------ ---------------------
[10:41:15]: Table [dbo] [MyTable] 683119 == ==.  
[10:41:15]:. Table [dbo] [MyTable] 7379 <> <>  
[10:41:15]:. Table [dbo] [MyTable] 3217>>      
[10:41:15]: ------------------------------------------ ---------------------
[10:41:15]: OK
[10:41:15]: Processo terminato con codice 0
[10:41:15]: Pubblicazione manufatti interni
[10:41:15]: [artefatti Publishing interno] build.finish.properties Invio 
            di file
[10:41:15]: Build finito
Facciamo una scomposizione un po ': ci sono un totale di 693.715 righe del sorgente, la stragrande maggioranza dei quali sono identici al target diverso dal 7379 che hanno alcune differenze e il 3217 che non esistono nel bersaglio a tutti. Tutto questo viene eseguito in un totale di 2 minuti e 1 secondo, ma lo script di sincronizzazione reale, che è la scrittura per l'ambiente di destinazione, richiede solo 21 secondi. Nizza.

Trucchi

C'erano due piccoli trucchi sightly deragliare in tutto questo: in primo luogo, Red Gate ha avuto un po 'di vigilanza con le versioni precedenti di versione 9 di dati SQL Compare e sono riusciti a rompere il corridore riga di comando . C'è una patch disponibili in quel link che porta fino alla versione 9.1.0.365 che funziona bene.
L'altra era che TeamCity inizialmente il fallimento della costruzione con un messaggio come questo:
[11:09:21]: banche dati a confronto
[11:09:26]: Eccezione non gestita: System.InvalidOperationException: Visualizzazione di una finestra di dialogo modale o si formano quando l'applicazione non è in esecuzione in modalità UserInteractive non è un'operazione valida. Specificare il ServiceNotification o DefaultDesktopOnly stile per visualizzare una notifica da un'applicazione di servizio.
Sembra che vi era una finestra di dialogo seduto sulla macchina TeamCity in attesa di qualche azione (a memoria, era uno di quei "Possiamo anonimamente raccogliere feedback" scatole). Sarebbe bello essere in grado di istruire dati SQL Compare per l'esecuzione automatica, ma non riuscivo a vedere nulla nella guida dei comandi che indicava questo. In ogni caso, accedere al server, chiudere la finestra e questa è la fine di questo.

Riassunto

Questa è una implementazione piuttosto semplice, ma che sta facendo qualcosa di ben più complesso sotto le coperte. Forse potrebbe essere stata orchestrata da SQL Server con altri mezzi, ma mi piace il modo intuitivo dati SQL Compare gestisce e mi piace molto essere in grado di vedere nel mio TeamCity costruire lista compresa l'uscita descrivere ciò che è stato colpito. E, naturalmente, posso ottenere tutte le notifiche TeamCity solito se qualcosa va storto.
Ma meglio di tutti, è letteralmente un lavoro di 15 minuti per l'installazione e fa esattamente quello che mi serve. Questo è un risultato davvero molto bella.




venerdì 26 agosto 2011

Sondaggio rivela atteggiamenti Nuvola Shifting

Gli sviluppatori preferiscono sempre più basato su cloud strumenti di sviluppo.

Gli sviluppatori preferiscono sempre più basato su cloud strumenti di sviluppo, anche la sicurezza resta una preoccupazione, secondo un sondaggio Evans Data Corp..
Evans Data Corp. ha rilasciato oggi i risultati di un sondaggio condotto su oltre 400 sviluppatori coinvolti nel cloud-based lo sviluppo di applicazioni e la distribuzione. Secondo il sondaggio, il 42 per cento degli intervistati si aspetta utilizzo nuvola a loro imprese a crescere di oltre il 20 per cento nei prossimi 12 mesi. Un altro 13,5 per cento degli intervistati ha dichiarato di aspettarsi un utilizzo a crescere di oltre il 50 per cento.
Anche se l'adozione e l'utilizzo nuvola cresce, gli atteggiamenti degli sviluppatori verso la costruzione di applicazioni cloud sta cambiando, dice Janel Garvin, CEO di Evans Data Corp.
"Sei mesi fa ci fu un ancora diviso tra gli sviluppatori che volevano i loro strumenti per lo sviluppo di nubi ad essere estensioni del loro sviluppo Desktop Suite (51,6%) e coloro che volevano strumenti per lo sviluppo cloud fornite nella stessa nuvola. Oggi c'è in realtà un radicale cambiamento verso un desiderio di cloud fornito strumenti ", ha detto Garvin."Sessantasei per cento preferisce che gli strumenti per lo sviluppo di nubi essere fornite nella nuvola piuttosto che come estensioni di una suite di strumenti desktop, che è un salto significativo."
Allo stesso tempo, Garvin ha detto che gli sviluppatori sono "riluttanti ad apportare modifiche estreme che richiedono una ripida curva di apprendimento". Mentre gli sviluppatori resistere imparare nuovi linguaggi o architetture per i loro progetti cloud, lei ha detto che accetterà nuovi modelli e modelli.
"C'è una minore resistenza ad adottare nuovi strumenti ora che ci fosse sei mesi fa, in modo che potrebbe cambiare, perché gli sviluppatori di cercare strumenti specifici per le implementazioni cloud, purché in the cloud", ha detto.
L'indagine ha individuato Java, C / C + + e JavaScript, come le lingue più utilizzate per lo sviluppo di nubi. Garvin ha detto che due terzi degli intervistati report utilizzando C # e Visual Basic per almeno una parte del loro lavoro. Tra i linguaggi di scripting, ha detto, "PHP batte Python e Ruby."
Evans Data ha anche analizzato gli sviluppatori su questioni che l'adozione strumento impatto. La sicurezza è stata identificata come la questione più importante di quasi il 30 per cento degli intervistati. "I risultati eco le preoccupazioni che la sicurezza è la barriera più comunemente citato per lo sviluppo nuvola e la distribuzione, e vediamo che eco qui in considerazioni per gli strumenti di nuvola", ha detto Garvin.



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


giovedì 25 agosto 2011

Adobe annuncia la creazione del sito web strumento per i progettisti grafici

Adobe ha annunciato la beta pubblica del nuovo software, nome in codice "Muse", che consente ai grafici e web designer di progettare e pubblicare siti web senza scrivere codice HTML o lavorano all'interno dei modelli restrittivi. Sfruttando i più recenti standard web, Muse unisce design e libertà creativa con strutture per l'aggiunta di navigazione, widget e HTML per l'interattività avanzata su un sito web. I progettisti possono aggiungere elementi interattivi completamente personalizzabile come slideshow, lightbox, rollover remoti e altro ancora. Muse incorpora snippet di codice HTML da fonti, tra cui Google Maps, YouTube e Facebook e permette la creazione di Adobe ospitati siti di prova a scopo di test e revisione. Un sito può essere inviato ai clienti, convertito in un pagamento di Adobe ospitato sito o esportati per FTP ad altri fornitori di hosting.Musa è diverso da altri prodotti di web design Adobe come Dreamweaver, che richiede la codifica di costruire siti web, Edge, che è per la creazione di animazioni HTML5 e motion graphics-based (non siti web) o Flash Catalyst, uno strumento per la progettazione di applicazioni internet costruito su Flex .



mercoledì 24 agosto 2011

Windows Phone 7 Orientamento Primer


a maggior parte delle applicazioni di Windows Phone sono progettati e sviluppati con modalità ritratto in mente.Tuttavia, ci sono momenti in cui ha senso per l'applicazione da utilizzare in modalità orizzontale: ad esempio, la riproduzione di video o immagini di lettura. Inoltre, la maggior parte delle tastiere hardware scivolare lateralmente, il che è utile solo se le applicazioni possono operare in modalità orizzontale. In questo post parleremo di come si può sostenere sia - o entrambe - orientamento verticale e orizzontale all'interno dell'applicazione.
La prima cosa da capire circa l'orientamento è che è fissata ad un livello di pagina. Questo significa che è possibile specificare all'interno di ogni pagina che cosa orientamenti sostiene tramite la proprietà SupportedOrientations. Per esempio, la definizione della pagina di default inizia con un elemento PhoneApplicationPage, in cui è impostato l'attributo SupportedOrientations su Verticale.

<Telefono: PhoneApplicationPage x: Class = "OrientationChangedSample.MainPage" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x = "http://schemas.microsoft.com/winfx / 2006/xaml "xmlns: telefono =" clr-namespace: Microsoft.Phone.Controls; assembly = "FontFamily =" Microsoft.Phone StaticResource PhoneFontFamilyNormal {} "FontSize =" "Primo piano =" {StaticResource PhoneFontSizeNormal StaticResource PhoneForegroundBrush} {} " SupportedOrientations = "Ritratto">

Gli altri valori per la proprietà SupportedOrientations sono Paesaggio e PortraitOrLandscape. Come si potrebbe pensare, specificando Ritratto forze la pagina da visualizzare in Portait a prescindere da come l'utente orienta il dispositivo. Paesaggio forze visualizzazione orizzontale, mentre PortaitOrLandscape permette la pagina per riorientare automaticamente la pagina a seconda di come l'utente posiziona il dispositivo.
Se si utilizza il valore PortaitOrLandscape, probabilmente vuole essere in grado di rilevare quando l'applicazione passa orientamento. Questo viene fatto intercettando l'evento OrientationChanged sulla pagina.
MainPage pubblico () {InitializeComponent (); OrientationChanged + = PageOrientationChanged;} private void PageOrientationChanged (object sender, OrientationChangedEventArgs e) {if ((e.Orientation & PageOrientation.Landscape)> 0) {VisualStateManager.GoToState (this, "Paesaggio" , true);} else {VisualStateManager.GoToState (this, "Ritratto", true);}}
In realtà, l'evento OrientationChanged ottiene generato anche se si specifica Orizzontale come SupportedOrientations.Questo perché in fase di avvio la pagina è inizialmente in verticale, ma viene poi immediatamente riorientato su Orizzontale. In questo caso l'evento OrientationChanged sarà solo sollevato una sola volta.
Il codice precedente dimostra che facciamo un binario "AND" tra l'orientamento della pagina nuova, data dalla proprietà di Orientamento nel eventargs, e il valore di enumerazione PageOrientation.Landscape. Il PageOrientation ha effettivamente i seguenti sette valori discreti (con i loro binari corrispondente e valori interi):
000000Nessuno0
000001Ritratto1
000010Paesaggio2
000101PortraitUp5
001001PortraitDown9
010010LandscapeLeft18
100010LandscapeRight34
Di questi sette valori, un'applicazione Windows Phone sarà sempre solo in uno dei tre orientamenti: PortraitUp (orientamento di default), o LandscapeLeft LandscapeRight. PortraitDown è lì per il completamento, ma non è mai utilizzato all'interno di un'applicazione come sarebbe risultato sul display viene capovolta in alcuni casi. Ritratto e Paesaggio sono là in modo che si può facilmente rilevare che l'orientamento del dispositivo è dentro Nel metodo PageOrientationChanged nel frammento di codice precedente, il binario "AND" tra l'orientamento e il valore di enumerazione PageOrientation.Landscape restituirà un numero positivo per entrambe le LandscapeLeft e LandscapeRight.
Si potrebbe chiedere perché il metodo PageOrientationChanged chiama VisualStateManager.GoToState, dal momento che la pagina verrà automaticamente riorientare quando l'utente cambia l'orientamento (SupportedOrientations assumendo è impostato su PortraitOrLandscape). Mentre la pagina si riorientare e controlli verranno automaticamente ridimensionate in base alle loro allineamento e le proprietà dei margini, in alcuni casi si potrebbe voler modificare il layout di ogni orientamento. Questo è più efficace fatto utilizzando VisualStates (che sono stati trattati nel post precedente).
Expression Blend può aiutare con la creazione di VisualStates per ogni orientamento del dispositivo. Nella finestra dispositivi è possibile specificare cosa si desidera che l'orientamento di progettazione ad apparire in ( Figura 1 ).
Expression Blend Finestra
[Clicca sull'immagine per ingrandirla.]
Una considerazione importante quando si lavora con la finestra del dispositivo in Expression Blend: Non modificare qualsiasi proprietà, mentre nella finestra in modalità stato di registrazione. Questo può causare problemi imprevisti, in particolare lavorando con l'orientamento.
Questa breve panoramica dovrebbe darvi informazioni sufficienti per andare avanti con Windows Phone 7, e, si spera stuzzicare l'appetito di più.


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