Quantcast
Channel: Home Page http://blogs.dotnethell.it
Viewing all 24464 articles
Browse latest View live

NAV 2103 configuring NAS to use Job Queue

$
0
0

One NAS can service multiple companies, but it does need a company to start up.

Configuring NAS to use Job Queue

1) On the Server machine, start the Dynamics NAV Administration Console

2) Select the server instance and click the Edit button

3) Go to the NAS Services fast-tab

4) Set the Company field value to CRONUS International Ltd.

5) Set the Startup Codeunit field value to 450

Alternatively you can change the setup of step 5 to:

- Set the Startup Codeunit field value to 1

- Set the Startup Method field value to NASHandler

 - Set the Startup Argument field value to JOBQUEUE

- Click Save

 

Remember to Configuring the Job Queue to use the NAS

Go to Job Queues list page

- In the NAS Settings fast-tab, set Start Automatically From NAS field value to TRUE

- Click the OK button to close the card

- Starting NAS

Select the server instance in the Dynamics NAV Administration Console

- Click Restart from the Action pane

Wait a few seconds to observe the Status field change to Running

 

Background Posting and Job Queue in Microsoft Dynamics NAV 2013

http://blogs.msdn.com/b/nav/archive/2012/08/31/background-posting-and-job-queue-in-microsoft-dynamics-nav-2013.aspx


Verificare la firma in Java

$
0
0
import java.io.*;
import java.security.*;
import java.security.cert.*;
import java.security.spec.*;
import org.apache.commons.io.IOUtils;

import sun.misc.BASE64Decoder;



class VerSig {

    public static void main(String[] args) {

       
        try {
                
            String signedText = "SOME/CHALLENGE/GENERATED/BY/YOUR/SIT";
            
            String signature = "Ce3nAfKqekWzSbUaMcjQ1aFtRqZsvCUNs..........ucy81Pouq+NQplI5cZatJoyWYDmQ==";
            
            String sigAlg = "SHA256withRSA";
            
            String certificate ="MIIFwDCCA6igAwIBAgIII...........YBrEwsok/rEpmGViquYr9+dLP";
            
   
            BASE64Decoder decoder = new BASE64Decoder();
            byte[] signatureByte = decoder.decodeBuffer(signature);
            
            
            byte[] certificateByte =decoder.decodeBuffer(certificate);
          
            //X509Certificate certUser= X509Certificate.getInstance(certificateByte);

            String certificatePath = "C:\\Users\\pippo\\Desktop\\test.cer";
            
    // convert String into InputStream
            InputStream inStream = new ByteArrayInputStream(certificateByte);
            //InputStream inStream = new FileInputStream(certificatePath);
            
            
            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
            inStream.close();
            
            PublicKey pubKey = cert.getPublicKey();
           
            System.out.print(pubKey.getAlgorithm()) ;
            
            
            Signature signatureVerifier = Signature.getInstance("SHA256withRSA");//SHA1withRSA
            signatureVerifier.initVerify(pubKey);
            
            System.out.println(signatureVerifier.verify(signatureByte));
            
        
        } catch (Exception e) {
            System.err.println("Caught exception " + e.toString());
        }
    }
}

Giovedi' 6 Giugno 2013 San Norberto vescovo

NAV Server 2013 RAM Sizing and Usage

$
0
0

Some nice questions & posts

- What is formula to calculate how much RAM is required for NAV Server? And for NAS and Web services?

- And can you somehow set the maximum limit of memory that the NAV Server service can consume?

- Is there any official documentation about NAV 2013 hardware calculation?

 

Unfortunately, There is not exist official documentation about NAV 2013 hardware calculation.

We use our experience in hardware calculation, case-by-case.

MS in System Requirements for NAV2013 says only 2GB.

This I have said is enough to SQL and OS. But, probably it need more.

It depends on a lot of things (database size, number of users, number of services, do more writing or reading on database...)

Furthermore, doesn't matter only RAM. Very important are RAM, CPU, number of HDDs, database implementation on SQL...

I don't know about setting maximum RAM limit for NAV. I know about maximum limit for MS SQL, but all database administrators knows that better of me.

According to estimates, this is need for SQL Server:

- up to 50 users (or small databases) - minimum 4GB

- 40-80 users (or medium databases) - minimum 8GB

- 80 and more users (or large databases) - minimum 16GB

These are minimums, and the basic rule is that the more is the better. I usually MINIMUM twice multiple these numbers.

Absolute minimum based on MS System Requirements is 2GB, but it's funny, except for the really small databases.

As mentioned, the performance requirement is hard to nail down, you could run Windows 7 on a PC with 512 Megs of ram but it wouldn't be fun to work on, this is how we make recommendations to our clients, it is not meant to be perfect from a technical perspective it is rather aimed at making things more understandable

With regards to the memory usage question: Memory is the best value for money performance gain on the server, as it is them able to use the memory instead of reading from the HDD which can be up to 3000 times slower than memory

You shouldn't restrict the amount of memory being used

From a practical perspective these are the recommendations we make to our clients, this was for a 15 user site, this was to be a combined SQL and Application server,

1x Quad Core processor (Preferably 2)

– This directly affects the number of users that are able to work simultaneously, as the server is running SQL server as well as the NAV application server this means that each user will use a core when NAV is working on something for them and a code when NAV requests data from SQL to perform their task, adding additional cores is recommended as the user load grows and for more complex sites

12 Gigs RAM (More if possible here)

– The RAM is the single largest performance boost for a SQL server and continues to be until the amount of ram is greater than the size of the database + Temp tables, therefore 12 gigs is a good starting point but it can be grown later,

Expect the application servers to use up to 2 gigs of ram per 5 users, so this will provide 2 gigs of ram to the OS, 6 gigs of ram to 15 users and leave 4 gigs for the database, once the database grows beyond 4 gigs the amount of RAM in the server should be reviewed, this is dependent on the complexity of the site

(RAM is the best value for money performance improvement on a SQL server)

4x Hard drives (Speed of drives is much more important than the size of the drives)

– This becomes the next bottleneck after the RAM, as the performance of data retrieval from drives affects the speed at which the system can respond to client queries, a minimum of 4 drives are recommended in a RAID 10 setup,

(RAID 5 did not perform well on previous SQL editions, in the current editions it does now work however RAID 1+0 performs better when there has been a failure of a drive),

More drives (Added in sets of 2) will significantly improve drive performance, although servers have built in RAID controller, a separate battery backup raid controller is recommended for all sites but required for larger or more complex sites

Slower drives will also affect the performance of the processor as it waits for data retrieval from the drives

This as we have both said above is just our advice as developers working with the product for many years

On the RAM though, the NAV Role Tailored Client is essentially an XML document that is presented to the client computer (Like a web page), all business rules, logic & processing all happens on the server, essentially what we are saying is give the users 400 megs each to run the application in = 2 gigs per 5 users,

When you think of it that way it is not actually that much,

Alex is saying 32gigs - less DB, less OS / 80 users = 325 megs, not that much different from my number, (using my numbers for the OS & DB Memory)

The difference is just our personal experience and what we have done in the past, for example are they running full warehousing, doing 1 000 000 transactions a day (I have had a client that did), running full manufacturing, all these things should also be considered in the hardware question, when you are looking for a guide on what to use however, the above makes a good one

by Neville Foyn & Aleksandar Totovic

 

Posted on NAV Community

https://community.dynamics.com/nav/f/34/t/106643.aspx#.Ua9yW7Xy-So

Modelli da scaricare gratis

$
0
0
Per chi necessita di un determinato documento la rete costituisce sicuramente uno strumento molto importante. Risultano essere infatti molti i siti che offrono modelli gratuiti da scaricare.

Tra i siti di questo tipo possiamo individuare modelliefacsimile.com che si caratterizza per una struttura molto semplice da utilizzare.
I modelli risultano essere infatti divisi in diverse sezioni a cui è possibile accedere utilizzando il menu che si trova nella zona sinistra del sito.

Molto utile per chi ha un'attività risulta essere il modello ddt tramite cui è posibile ottenere un documento di trasporto rapidamente.

Il ddt viene infatti usato dal venditore per inviare i prodotti e incude una lista del contenuto spedito al cliente.
Le informazioni indicati devono quindi essere molto precise.

Molto differente risulta essere il modello F23 che deve essere usato per fare il pagamento di determinate tasse.

Il sito da usare è sicuramente quello dell'Agenzia delle Entrate dove è presente un servizio per effettuare la compilazione online.
Troviamo inoltre informazioni precise su come usare questo genere di modello.

Usare modelli è sicuramente utile perchèè possibile avere un risparmio importante di tempo.
Il consiglio è per questo motivo quello di verficare se esistono fac simile del documento di cui si ha bisogno in rete.

PC Professionale giugno 2013

$
0
0

Incredibile a dirsi, questo numero di giugno di PC Professionale mi è arrivato addirittura a maggio, venerdì 31 per la precisione, vantando una puntualità di consegna che da anni non ricordavo.
Sarà sicuramente un fuoco di paglia, ma lasciamoci con una pia illusione che sia una fiammella di benvenuto miglioramento.
Le 178 pagine (un po’ meno del solito) di questo numero offrono un buon assortimento di articoli interessanti, a cominciare proprio dallo scontro tra titani messo in grande rilievo in copertina.
I 4 pezzi da 90 messi sotto prova sono mostrati nella foto qua sotto a sinistra insieme al più piccolo iPhone 5, giusto come pietra di paragone.

Questi sono i 4 big smartphone testati:

• Htc One
• Lg Optimus G
• Samsung Galaxy S4
• Sony Xperia Z

Ognuno di essi si merita 2 pagine di dettagliata recensione. Il voto più alto, un 8,0, è raggiunto dall’HTC One e dal Samsung Galaxy S4, anche se personalmente il mio preferito è il Sony Xperia Z (molto migliore del mio Xperia Ion), pur con il piccolo difetto di mostrare dei neri poco profondi (cosa che non capita coi primi due). I prezzi sono altrettanto “big”, dato che superano (in certi casi, Samsung e HTC, anche di tanto) i 600 euro. Ormai, però, questi dispositivi operano sia da notebook, sia da GPS, sia da fotocamera e, forse per ultimo, anche da cellulare.

Nella rubrica Hardware, non poteva mancare la prova del nuovo Kindle Fire Full HD nella sua nuova versione da 8,9 pollici, recentemente rilasciato da Amazon e venduto al prezzo di 269 euro.

Riceve un voto di 7.5 pollici, non tantissimo, imputabile più che altro alla sua chiusura verso il mondo esterno (Google Play in primis), alla mancanza di connessione 3G (solo wireless), GPS e fotocamera. Non è presente nemmeno lo slot SD. I pregi sono l’ottimo display e la sua facilità d’uso, che lo rendono adatto per chi si approccia per la prima volta ai tablet. Personalmente non mi piace molto l’eccessivo spessore della sua cornice, e le sue carenze tecniche sono davvero importanti.
Un altro dispositivo simile è il Kobo Aura HD illustrato brevemente a pag. 10. Costa meno – 170 euro – ed ha uno schermo ad alta definizione di 6,8 pollici.
Nessun notebook provato questo mese in questa rubrica: ormai sembra proprio che la classica recensione di uno o più notebook non sia più una regola aurea della rivista come fino a qualche tempo fa.

Compare stranamente nella rubrica Software la prova di un mouse davvero particolare, dato che fa anche da scanner. Chi non ricorda gli scomodi e imprecisi scanner manuali di fine anni ’90? Riuscire a scannerizzare un documento, anche semplice, era un’impresa al limite dell’impossibile, e comunque terminava sempre con qualche imprecisione.

In questo caso pensa a tutto il software incluso nel mouse stesso: da solo riesce a comporre l’immagine scannerizzata partendo dai singoli dettagli. Il prezzo di questo mouse non è popolare, 80 euro, ma hai voglia
Singolare l’articolo a pag. 70, perché singolare è l’argomento di cui tratta, ovvero Rasperry Pi che, per chi non lo sapesse, è un computer da 30 euro dalle dimensioni poco più grandi di una carta di credito.
L’articolo di 6 pagine spiega sia cosa è questo minuscolo apparecchio, sia come può essere usato per la domotica o per renderlo un dispositivo multimediale a tutti gli effetti. Credo che se ne sentirà parlare ancora per un po’ di questo piccoletto.

Sempre restando in questa rubrica, segnalerei la prova del WebSite X5 Evolution 10 di Incomedia, il software per realizzare con facilità siti web dotati di ogni funzionalità. Il prezzo è vantaggioso, 70 euro, e riceve un 8 pieno come voto. L’unico suo difetto, come anche nelle precedenti versioni, è la difficoltà di modificare il codice a mano. Praticamente i modelli vanno presi come sono, prendere o lasciare.

Curiosi i monitor cosiddetti Ultrawide provati nell’articolo a loro dedicato. Ne vengono testati solo 4, che sono gli unici effettivamente disponibili sul mercato.

• AOC Q2963Pm
• Dell U2913Wm
• Lg Flatron 29EA93-P
• Philips 298P4Q

Questi monitor sono caratterizzati dall’avere un rapporto d’aspetto di 21:9 (invece dei 16:9 tipici della gran parte dei monitor e dei televisori in commercio).
Il migliore risulta il Philips, offerto a 529 euro. Nel box dei risultati compare addirittura un “Difficile trovargli un difetto”; più chiaro di così.
Articolo interessante, anche se un tipo di monitor così largo non sempre (credo) potrebbe tornare utile e proficuo. Sicuramente da provare.

Gli articoli di Francesco Caccavella sono sempre corposi, basta vedere quello di questo mese, dedicato a come fare business con i social media, ben 21 pagine. Viene spiegato come sfruttare i sempre più diffusi servizi e community online, da Facebook a Twitter a LinkedIn e così via, per esporre sia le proprie idee in quanto persona privata, sia per allargare il bacino di potenziali clienti per il proprio business.
Un articolo che – anche in questo caso – può diventare un libro a sé stante su questo argomento.
Seguono poi le rubriche App e Hacks, sempre ricche di spunti interessanti.
In quest’ultima, ad esempio, mi è tornato molto utile il trucchetto di come personalizzare l’apertura di Esplora Risorse di Windows in modo che apra in automatico una cartella a mia scelta.
Un altro spunto, una app per il mio smartphone Sony Xperia ion, l’ho scovato nella rubrica dalla posta.
Il Google My Tracks, di cui non ero a conoscenza, che permette di registrare i percorsi fatti utilizzando il posizionamento via GPS. Lo sto usando da alcuni giorni, ed è davvero carino e utile, oltre che completamente gratuito.
Le (sole) 3 pagine della rubrica Sviluppo continuano il discorso dello scorso mese, ovvero lo sviluppo con Android, illustrando a grandi linee quali sono gli ambienti di sviluppo, le librerie ed i linguaggi maggiormente supportati ed utilizzati per chi voglia intraprendere una carriera di sviluppatore “app”, tra l’altro molto richiesta in questo periodo (più all’estero, a dire il vero, ma anche in Italia qualcosa si sta muovendo).

Per finire questo mese ci terrei a segnalare un add-in di Visual Studio (qualsiasi versione), che non è mai stato menzionato in PC Professionale, ma che merita moltissimo una mezz’oretta di approfondimento.
Si chiama NDepend ed è scritto da Patrick Smacchia, uno sviluppatore francese
Questo plug-in crea una voce di menu in Visual Studio, e offre un ricchissimo corredo di metriche, statistiche, contatori, e tanto altro, per i propri progetti creati in qualsivoglia linguaggio supportato all’interno del .NET Framework.

Qua come appare la sua integrazione in Visual Studio 2010.

Sarebbe impossibile star qua a riportare tutte le statistiche che questo formidabile tool fornisce.
Riporto, ad esempio, una schermata di analisi di una solution.

Personalmente, tra le tante, apprezzo la voce Dead Code, che appare a sinistra nell’immagine qua sotto, e la ricerca di tutti i metodi, variabili, ecc. mal definiti, male utilizzati o sovrabbondanti. Impagabile.

Il prezzo non è bassissimo, circa 300 euro, ma è ripagato in breve tempo dall’enorme ricchezza di funzionalità che questo tool offre. Lo si può provare per 14 giorni partendo da questa pagina.
Sono sicuro che qualsiasi sviluppatore, una volta che ci ha preso dimestichezza, non potrà più farne a meno.

Infine, ma non per importanza, è arrivato un nuovo magazine associato a PC Professionale.
Si chiama EASY, e tratta la tecnologia con un approccio meno da tecnici e più adatto a lettori non necessariamente informatici di professione o quasi.

Sono in attesa di riceverlo e, magari, ne parlerò il prossimo mese.

DVD

Qua sotto la home page del DVD che ora, ricordo, è accessibile solo da web (dal sito di PC Professionale), previo inserimento del codice riportato nelle prime pagine della rivista.

Da notare che viene offerta una suite antivirus, la Defenx 2013, completamente gratis per 1 anno.
Per ottenere il codice di attivazione basta seguire le indicazioni riportate sul link predisposto.
Ci sono poi tutti gli scatti eseguiti dalle fotocamere bridge ultrazoom utilizzate nell’articolo a loro dedicate: Canon SX50 HS, Canon SX500 IS, Fujifilm HS50 EXR, Fujifilm SL1000, Nikon P520,
Olympus Sp 820UZ, Sony H200 e Sony HX300.
Il file zippato di tutti gli scatti pesa 460 MB.

Riguardo ai giochi, ci sono sempre, ma ora i video sono inseriti come video di YouTube.


Sommario

First Looks

Hardware

- GeForce GTX 650 Ti Boost rincorre la sorella maggiore
- Il rinnovo dei Radeon HD comincia da HD 7790
- Il Kindle Fire diventa Full Hd
- Stonex STX S Più spazio ai dual Sim Android
- Arriva da Sandisk l’Ssd Ultra Plus 256 Gbyte
- Netgear e WD: quando l’hard disk entra nel router
- La nuova interfaccia audio Usb UR22 di Steinberg
- Brother, la multifunzione per il Print 3.0
- Ottime prestazioni video con la Legria Hf G25

Software

- Kerio Samepage: la collaborazione si sposta sul cloud
- Nik Collection, i filtri fotografici digitali
- IRIscan: il mouse che fa anche l’Ocr
- Creare siti Web senza Html con Website X5
- Riproduzione perfetta con PowerDvd 13 Ultra

In Profondità

Prove
Scontro tra titani
Samsung Galaxy S4 sfida Htc One, Lg Optimus, Sony Xperia Z.

Mania Raspberry Pi
Il computer economico e piccolo impazza tra gli appassionati d’informatica “fai da te”.

Ultrazoom bridge
In prova otto fotocamere, ideali per chi vuole viaggiare leggero senza rinunciare alla flessibilità.

Monitor ultrawide
Con il formato 21:9 si ottiene l’area di lavoro di due display, ma con un solo dispositivo.

Scanner di documenti
Sul banco di prova tre novità di Canon, Epson e Fujitsu per professionisti e aziende.
Leggi l’estratto e discuti con l’autore dell’articolo

Come fare
Social Media per il business
Realtà come Facebook e Twitter contano centinaia di milioni di utenti e le aziende non possono permettersi di ignorarle.

Rubriche
Apps
- Tante applicazioni per dispositivi iOS e Android e i consigli per sfruttarle al meglio

Hacks
- Trucchi e segreti per sistemi operativi e applicazioni, tool utilissimi, poco conosciuti

Pc Tech
- Secondo Dolby il futuro del 3D è l’autostereoscopia

Internet
- Arriva il sign-in di Google+ su siti e app

Sviluppo
- Programmazione mobile: primi passi con Android

Linux
- Cancellare le tracce. Online e non solo.

Giochi
- SimCity: il videogioco ideale per i sindaci virtuali

PC Professionale giugno 2013
N. 267
Prezzo: 6,40 €

NB: Foto realizzate con Sony Xperia Ion.

Giovedi' 13 Giugno 2013 Sant'Antonio di Padova

eventux


Giovedi' 20 Giugno 2013 Sant'Ettore martire

$
0
0
Auguri ad Ettore ( martire ) !!! 

RAVPower Dynamo-On-the-Go RP-PB07

$
0
0

Sto usando ormai da un mese questa capiente batteria di ricarica, utile per rifornire di energia smartphone, cellulari e tablet, anche 2 insieme, grazie alla doppia presa USB di cui dispone.
Ecco come appare il dispositivo, dal lato che mostra i 4 led blu di ricarica.

È molto compatto, con una copertura di plastica nera lucida (un po’ sensibile alle impronte a dire il vero).
Ha un certo peso – circa 230 grammi – ma questo è giustificato dall’enorme capacità della batteria interna, ben 10.400 mAh, ovvero circa 5 volte la capacità di uno smartphone di un certo livello.

Pratica e comoda la scelta di arrotondargli gli spigoli: lo si può tenere nella tasca dei jeans o della giacca senza troppi fastidi (a parte, appunto, il peso).
Come si vede dalla foto qua sotto, le 2 prese Usb sono sul medesimo lato e separate dal connettore Micro-Usb per la ricarica della batteria interna.

Una di queste prese Usb fornire in uscita 1 Ampere, mentre l’altra 2.
Si riesce perciò a ricaricare in tempi ragionevoli anche dispositivi molto esigenti, quali un iPad o un tablet.
Non appena si collega il cellulare/smartphone, parte la ricarica, senza dover far null’altro.
Per il mio utilizzo con il Sony Xperia ion e il Motorola Gleam, questo RavPower mi fornisce energia per un mese completo.
La sua fase di ricarica, se si parte da zero completo, può essere molto lunga, anche oltre un giorno se lo si ricarica dal pc (che, ricordo, fornisce solo 500 mAh nelle sue uscite Usb).
Io, ad esempio, partendo dallo stato di scarico completo, ho terminato la sua ricarica via presa AC utilizzando 2 giornate lavorative complete (8:30 -> 17:30). 
L’efficienza è comunque buona, dato che si scalda molto poco anche in fase di carica.
Qua sotto il contenuto della scatola, di un bel design nero molto professionale.

2 sottili cavetti USB-MicroUSB, la presa (italiana) per la ricarica, il manualetto di istruzioni ed un panno di flanella che dovrebbe fare da contenitore.
Questi 2 ultimi accessori sono forse quelli che mi sono piaciuti meno.
Innanzitutto il manualetto di istruzioni risulta ben poco leggibile: scritte bianche piccolissime su sfondo nero non sono il massimo della lettura. Perlomeno è in italiano, già qualcosa.
Il panno di flanella nera, con cordino incluso, è di scarsa fattura. Non è per niente imbottito, e non garantisce nessuna protezione al dispositivo che contiene.
Su questi punti consiglierei di fornire qualcosa di meglio.

Qua sotto le specifiche tecniche.

Sulla superficie esterna della batteria ci sono i 4 led azzurri che indicano lo stato della carica. Ogni led equivale al 25% della carica. La carica è completa quando sono accesi tutti senza intermittenza.
Durante la fase di ricarica lampeggiano in successione, indicando il progredire dell’accumulo energetico.
Al loro fianco c’è anche un piccolo pulsante (in linea con la superficie) che mostra lo stato della carica.
Considerando la grande capacità della batteria, per ricaricarla in tempi rapidi è meglio sfruttare la sua spina diretta, come si vede in questa foto, dove compare anche il panno.

La spina, tra l’altro, è molto compatta, leggera e pratica da portarsi in giro.

Apprezzabile anche la scelta di fornire dei cavi Usb con uno spessore ridotto, il che li rende veramente pratici e comodi sia da riporre che durante l’uso (la lunghezza è di circa 60 cm).
Da segnalare che non si fa danno se si collega il proprio piccolo cellulare alla presa da 2 A (invece che a quella da 1 A): nessun rischio di fondere tutto.

Che dire, un valido e potente accumulatore, molto pratico nei viaggi. Con una ricarica sola si ha un bel margine di autosufficienza energetica per i propri device.
Finora non gli ho trovato gravi difetti, se non – ma è solo un mio scrupolo – la necessità di acquistare a parte una custodia imbottita.
Il prezzo di questa batteria è di circa 55 euro, come si vede da questa pagina su Amazon Italia.

NB
Foto realizzate con Sony Xperia Ion

NAV 2013 RDLC Reporting Course @Altea, 21 Giugno

Magazine EASY di PC Professionale

$
0
0

Da una costola di PC Professionale è da poco nata una nuova rivista, EASY, dal prezzo inferiore ai 3 euro (2,90 per la precisione).
122 pagine molto patinate, quasi glamour, adatte ad un pubblico molto più vasto rispetto a quello di PC Professionale.
Qua non si entra, infatti, nei dettagli tecnici dell’informatica, e gli argomenti trattati sono decisamente più ampi e variegati.
Si parla persino di auto, moto, cinema, musica e quant’altro.
Gli autori di questa rivista provengono in parte da PC Professionale (Simone Orlandi, Massimo Nicora), mentre altri sono firme completamente nuove (Michela Corda, Valerio Boni, Francesco Destri, Alessandro Barbieri ed altri).
Ovviamente ci sono non poche sovrapposizioni con quanto viene trattato all’interno di PC Professionale.
Le prove hardware innanzitutto. Anche qua ci sono parecchie recensioni di prodotti tecnologici, soprattutto quelli di più largo consumo (non si trovano, per fare un esempio, articoli su router o NAS), e non ci si addentra troppo nei dettagli tecnici di ogni prodotto presentato. Rimangono invece i Pro, Contro e Voto finale sulla cui comodità nessuno ha da obiettare.
Ho notato, però, che non si parla per nulla di software e programmi (e tanto meno di programmazione), mentre le rubriche che mostrano le più utili “App” per smartphone rischiano di diventare delle duplicazioni delle analoghe pagine di PC Professionale.
Quello che fa invece la differenza sono gli articoli, diciamo, “trasversali”: interviste (Andrea Pellizzari ad esempio), approfondimenti vari (Kim Dotcom e le visioni dallo spazio) e, come detto, articoli che con l’informatica hanno meno (apparentemente) a che vedere.
Qua sotto le pagine dedicate alla Range Rover (un modello da oltre 91.000 euro).

Naturalmente non si parla di auto con un approccio in stile Quattroruote, ma ci si sofferma in particolare sulle innovazioni tecnologiche ed informatiche.
Mentre qua ci si addentra in un locale sempre più tecnologico, la cucina.

Già da queste 2 immagini si può notare come l’impaginazione sia molto diversa da quella di PC Professionale: poco testo, tante immagini e tanti box con brevi spiegazioni a lato.
Si legge, insomma, in minore tempo. Si possono tranquillamente dimenticare le paginate di minuscolo testo di PC Professionale, la cui lettura richiedeva quasi sempre almeno una mezz’oretta.

Si parla, come detto, persino di cinema e di musica, con tanto di classifiche dei singoli e degli album più venduti, come anche delle novità in blu-ray.
Qua sotto la pagina che mostra uno dei più visti film di questo mese, Star Trek.

Personalmente queste sono le parti che mi interessano meno, mentre ho apprezzato moltissimo (ed è un argomento che manca in PC Professionale) le recensioni degli ebook (un po’ su tutti gli argomenti) e le prove dei televisori (anch’essa parte mancante nella rivista principale).

Uno degli articoli più curiosi è senz’altro quello dedicato al corpulento Kim Dotcom, il re di Megaupload, il servizio di file sharing finito spesso sotto inchiesta negli ultimi anni.
Da notare che villa lussuosa si è costruito in Nuova Zelanda.

La cadenza di questa rivista sembrerebbe bimestrale.
Il prossimo numero è però previsto a settembre, e non ad agosto, come viene ricordato nell’ultima pagina.

Insomma, una rivista decisamente interessante e piacevole da leggere, ricca di curiosità e novità che nel passato auspicavo anche per PC Professionale (le interviste, ad esempio).
Magari si potrebbero inserire un paio di pagine sul software, e sottrarle alle prove hardware di prodotti che sono già stati trattati su PC Professionale.
Si può altresì notare come quasi tutti i prodotti trattati in questo primo numero siano dei top di gamma nelle rispettive categorie, con un prezzo che non si può certo dire alla portata di tutti.
Ma non è questo il target per una rivista che si propone di far sognare?
Per il resto, un plauso e un in bocca al lupo alla redazione per questa nuova avventura. 

PS:
Foto realizzate con Sony Xperia Ion.

Giovedi' 27 Giugno 2013 San Cirillo d'Alessandria - Vescovo e Dottore della Chiesa

$
0
0
Chi c'e' ?
Gianni oggi toglie il gesso.

Serializzare in Xml un oggetto con proprieta TimeSpan

$
0
0
In molti applicativi mi capita spesso di usare la serializzazione xml degli oggetti, in .net è veramente comoda per svariate situazioni.
L'operazione viene svolta egregiamente dal Framework, quasi sempre senza la minima preoccupazione, anche se in qualche caso, si deve fare qualche piccolo accorgimento.

Ad esempio quando abbiamo una proprietà di tipo "TimeSpan" nel nostro oggetto, la serializzazione da qualche fastidio, supponiamo infatti di avere un oggetto "Oggetto" che ha una proprietà"Impiegato" dove si salva il TempoTrascorso, qualcosa di questo genere:
 

publicclassOggetto
{
   publicint ID { get; set; }
   publicstring Descrizione { get; set; }
   publicDateTime Data { get; set; }
   publicTimeSpan Impiegato { get; set; }
}

 

Usando un codice "standard" sembra che vada tutto bene (non ci sono errori a runtime):
 

publicstaticstring Serializza(object items)
{
  
XmlSerializer
ser = newXmlSerializer(items.GetType());
   
  
//--- serializzo in memoria per tornare la stringa
  
MemoryStream ms = newMemoryStream();
   ser.Serialize(ms, items);

  
returnEncoding.Default.GetString(ms.ToArray());
}

Ma già dalla stringa xml che torna mi accorgo che la proprietà"Impiegato"è a zero sempre, anche se a codice avevo dei valori:

ed infatti se poi andiamo a deserializzare questo ci troviamo con gli oggetti senza il valore di TimeSpan:

A questo punto non abbiamo errori di Serializzazione/Deserializzazione, ma di fatto abbiamo un problema di persistenza del dato, che viene perso.

La soluzione più semplice dato che a quanto pare la serializzazione Xml del Framework e il TimeSpan non vanno molto d'accordo, è passare per un tipo di dato più semplice, ad esempio la stringa, aggiungendo un'ulteriore proprietà, che nel get/set va ad operare sul TimeSpan:

...
public
TimeSpan Impiegato { get; set; }

publicstring ImpiegatoXML
{
  
   get
{ returnXmlConvert.ToString(Impiegato); }
  
set { Impiegato = XmlConvert.ToTimeSpan(value); }
}
...

A questo punto la cosa è risolta, ossia possiamo serializzare/deserializzare in Xml senza problemi:




Anche se è sicuramente seccante avere una proprietà d'appoggio inutile di fatto alla logica applicativa, nel caso ci troviamo nella situazione di serializzare in Xml diventa un trucco molto comodo.

C# - Oggetto Studente estende Persona (Codice)

$
0
0

C# -   Oggetto Studente estende Persona (Codice)


 
 
Come creare l'oggetto Studente che estende Persona :

CODICE C# : (File : Persona.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ProgrammaConsol
{
    class Persona : IComparable<Persona>, IComparable
    {
        private String nome;
        private String cognome;
        private int eta;
        private String codice;

        public Persona(String nome, String cognome, int eta, String codice) {
            this.nome = nome;
            this.cognome = cognome;
            this.eta = eta;
            this.codice = codice;
        }


        public String Nome {
            get { return this.nome; }
            set { this.nome = value; }
        }


        public String Cognome
        {
            get { return this.cognome; }
            set { this.cognome = value; }
        }

        public int Eta
        {
            get { return this.eta; }
            set { this.eta = value; }
        }

        public String Codice {
            get { return this.codice; }
            set { this.codice = value; }
        }


        public Boolean equals(Object o) {
            Persona persona = (Persona)o;
            return(
                
                    this.codice.Equals(persona.codice)&&
                    this.nome.Equals(persona.nome) &&
                    this.cognome.Equals(persona.nome) &&
                    this.eta == persona.eta
                );
        }

        public int hashCode() {
            return this.eta;
        }

        public int CompareTo(Persona other)
        {
            // Should be a null check here...
            return this.eta.CompareTo(other.eta);
        }

        public int CompareTo(object obj)
        {
            // Should be a null check here...
            var otherPerson = obj as Persona;
            if (otherPerson == null) throw new ArgumentException("...");
            // Call the generic interface's implementation:
            return CompareTo(otherPerson);
        }

    }
}

Adesso creiamo l'oggetto Studente che estende Persona :

CODICE C# : (File : Studente.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ProgrammaConsol
{
    class Studente : Persona, IComparable<Studente>, IComparable
    {
        private String matricola;
        private String nomeUniversita;
        private String nomeCorsoStudi;

        public Studente(String nome, String cognome, int eta, String codice,String matricola,String nomeUniversita, String nomeCorsoStudi): base(nome, cognome, eta, codice) { 
            this.matricola = matricola;
            this.nomeUniversita = nomeUniversita;
            this.nomeCorsoStudi = nomeCorsoStudi;
        }

        public String Matricola
        {
            get { return this.matricola; }
            set { this.matricola = value; }
        }

        public String NomeUniversita
        {
            get { return this.nomeUniversita; }
            set { this.nomeUniversita = value; }
        }

        public String NomeCorsoStudi
        {
            get { return this.nomeCorsoStudi; }
            set { this.nomeCorsoStudi = value; }
        }

        public int hashCode()
        {
            return (int)this.matricola.GetHashCode();
        }

        public Boolean equals(Object o)
        {
            Studente studente = (Studente)o;
            return (

                    Codice.Equals(studente.Codice) &&
                    Nome.Equals(studente.Nome) &&
                    Cognome.Equals(studente.Cognome) &&
                    Eta == studente.Eta &&
                    this.matricola.Equals(studente.matricola) &&
                    this.nomeUniversita.Equals(studente.nomeUniversita) &&
                    this.nomeCorsoStudi.Equals(studente.nomeCorsoStudi) 
                );
        }

        public int CompareTo(Studente other)
        {
            // Should be a null check here...
            return this.matricola.CompareTo(other.matricola);
        }

        public int CompareTo(object obj)
        {
            // Should be a null check here...
            var otherPerson = obj as Studente;
            if (otherPerson == null) throw new ArgumentException("...");
            // Call the generic interface's implementation:
            return CompareTo(otherPerson);
        }
    }
}

Come richiamare gli oggetti Persona e Studente :

CODICE C# : (File : Program.cs)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ProgrammaConsol
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
            Persona persona = new Persona("Prova","Mimmo",10,"1110");
            Persona persona1 = new Persona("sssss", "xxxxx", 33, "dw32");

            Console.WriteLine("Nome {0} Cognome {1} Eta {2} Codice {3}",persona.Nome,persona.Cognome,persona.Eta,persona.Codice);
            Console.WriteLine("Nome {0} Cognome {1} Eta {2} Codice {3}", persona1.Nome, persona1.Cognome, persona1.Eta, persona1.Codice);


            Studente studente = new Studente("Marco", "Rossi", 10, "cod2rossi", "002332", "RomaTre", "Ingegneria Informatica");

            Console.WriteLine("Nome {0} Cognome {1} Eta {2} Codice {3}", studente.Nome, studente.Cognome, studente.Eta, studente.Codice);
            Console.WriteLine("Matricola {0} NomeUniversita {1} CorsoDiStudi {2} ", studente.Matricola, studente.NomeUniversita, studente.NomeCorsoStudi);


             }catch (System.ApplicationException ex){
                 //Controllo dell'errori
                Console.WriteLine("Errori {0}", ex.Message);

            } finally{

                Console.ReadLine();
            }

        }
    }
}

 
By ImaginSystems & Queen Gin 

Condividere snippet folder con SQL Prompt al team

$
0
0
Il plugin Red-Gate SQL Prompt per SQL Server Management Studio offre, tra le altre cose, un set di shortcut per creare comandi al volo. La funzionalità, più nota come snippet manager, non solo consente di associare ad una semplice sequenza di caratteri un comando o un template anche complesso, bensì permette anche la personalizzazione dei collegamenti stessi.
Un esempio è quello che segue:


Per maggiori informazioni sul prodotto leggere qui.

Con l'installazione del componente aggiuntivo è già disponibile un set di snippet ma è possibile crearne di nuovi o modificare quelli esistenti. Ogni snippet è salvato su di un file con estensione proprietaria .sqlpromptsnippet e viene salvato sulla folder%USERPROFILE%\AppData\Local\Red Gate\SQL Prompt 5\Snippets

In ottica di lavoro in team, può risultare molto comodo condividere gli snippet con i nostri collaboratori. Non tanto quelli di default ma quelli che vengono aggiunti al set. Immaginiamo infatti quelli fortemente dedicati al database su cui si sta lavorando, come la creazione di una particolare parametrizzazione di un utente/ruolo oppure il set di opzioni per gli indici e via discorrendo. In quel caso possiamo creare i nostri snippet tramite il manager come segue:


Premendo Save, l'entry verrà aggiunta alla lista degli snippet preesistenti.
In questo caso, come è possibile distribuire a tutti gli item che devono essere condivisi? Personalmente ho deciso di seguire la seguente strada:
- utilizzo di dropbox
- copia del contenuto della cartella
- spostamento del puntatore alla folder per il plugin

Per fare tutto ho utilizzato powershell.

1) Dropbox folder
Dopo aver installato dropbox, creare una cartella che verrà condivisa e che conterrà gli snippet. Nell'esempio la chiameremo "Snippets". Condividere con i collaboratori.

2) powershwll script
Dopo che la cartella è stat creata (e condivisa), ho eseguito uno script powershell (che è tranquillamente eseguibile anche sui pc dei collaboratori).
Lo script è il seguente:

#specify the sql prompt folder (registry)

$SQLpromptFolder = "SQL Prompt 5"

 

#copies the snippet files into the dropboxfolder

$localAppDataSnippets = $env:LOCALAPPDATA + "\Red Gate\" + $SQLpromptFolder + "\Snippets\*.sqlpromptsnippet"

$newSnippetFolder = $env:USERPROFILE + "\Dropbox\Snippets"

Write-Host "Copying *.sqlpromptsnippet files from " + $localAppDataSnippets + " to " + $newSnippetFolder + ".."

Copy-Item $localAppDataSnippets $newSnippetFolder


#registry property

$SQLpromptRegistryFolder = "HKCU:\Software\Red Gate\" + $SQLpromptFolder

Set-Location $SQLpromptRegistryFolder

 

Set-ItemProperty . "Snippets Folder" $newSnippetFolder

Write-Host "Restart SQL Server Management Studio to apply.." 



Quello che fa è semplicemente:
- copia il contenuto della cartella di default di SQL Prompt sulla nuova creata su dropbox
- aggiunge un valore nel registro direttamente nella cartella che anche la documentazione di Red-Gate indica.

In questo modo, condividendo la folder e lanciando lo script sulle macchine di ogni dev del team, la folder impostata sul SQL Prompt è quella comune. Ogni aggiunta fatta viene recepita dai dev che lavorano in quel team e gli eventuali startup snippet vengono sempre allineati.

NB: questo script lavora solo sulla versione indicata nella variabile $SQLpromptFolder
E' sufficiente cambiare quel valore per puntare alle precedenti/successive release del prodotto, anche se consiglio di dare un'occhiata alla documentazione per capire se la feature è supportata.

Stay Tuned! 


Lupo – Una lezione di pittura acrilica di Rod Lawrence

PKCS

$
0
0

PKCS

The PKCS#12 specifies a portable format for storing and transporting certificates, private keys, and miscellaneous secrets. It is the preferred format for many certificate handling operations and is supported by most browsers and recent releases of the Windows family of operating systems. It has the advantage of being able to store the certificate and corresponding key, root certificate, and any other certificates in the chain in a single file.


http://sourceforge.net/projects/openssl-net/?source=dlp

http://support.citrix.com/article/CTX106630

https://www.simple-talk.com/dotnet/.net-framework/beginning-with-digital-signatures-in-.net-framework/

Visual Studio: Creare un certificato autofirmato per ClickOnce (.pfx)

$
0
0
Quando si desidera creare una distribuzione ClickOnce è necessario firmare il manifest generato automaticamente utilizzando un certificato Authenticode, selezionandolo dal deposito di certificati del computer locale o passando un file pfx.

Per creare un file pfx autofirmato fatto in casa (a solo scopo di test!!!), aprire il "Visual Studio Command Prompt (2010)" o il "Developer Command Prompt for VS2012? ed eseguire i due passaggi seguenti:


makecert.exe -sv TestCodeSign.pvk -n “CN=Test Code Sign” TestCodeSign.cer


pvk2pfx.exe -pvk TestCodeSign.pvk -spc TestCodeSign.cer -pfx TestCodeSign.pfx -po password


Se si desidera, è possibile omettere la password.

Ora che hai il tuo certificato fatto in casa puoi utilizzarlo per firmare il tuo codice e i pacchetti clickonce, particolarmente utile durante l'utilizzo di strumenti da riga di comando come mage (o mageUI con supporto GUI).


Stay tuned! 

My New Blog on Wordpress ! NAV Italian People Blog

Viewing all 24464 articles
Browse latest View live