YourPc.it

Informazioni tecnologiche

Archive for the ‘Programmazione’ Category

Scrivere una semplice applicazione in c++ per l’invio di messaggi email tramite il protocollo SMTP, utilizzando il framework .NET In questo articolo vedremo come scrivere un’applicazione in c++ per l’invio di messaggi email tramite il protocollo SMTP, utilizzando il framework .NET. In particolare vedremo come utilizzare le classi: MailMessage per rappresentare e… Autore: Roberto Franchini Tipo risorsa: articolo Categoria: Programmazione

Continua a leggere: Inviare email in Visual C++

Il brevetto che HTC e Motorola avrebbero utilizzato indebitamente nei propri smartphone Android è il numero 263 e riguarda l'interfaccia di programmazione di un'applicazione in tempo reale, ovvero un'API fondamentale …

Continua a leggere: Apple contro HTC, Motorola e Android: vittoria importante | Apple …

Guida Antipattern

Come evitare le cattive abitudini, le worst practices e le trappole più classiche in cui si può cadere nei processi di sviluppo del software, dalla gestione del progetto al codice – Cosa sono gli antipattern architetturali e come non “reinventare la ruota” Autore: Vincenzo Lena Tipo risorsa: guida Categoria: Programmazione

Continua a leggere: Guida Antipattern

OpenMP , l’Application Programming Interface (API) per il parallel programming già implementata con successo da GCC, potrebbe essere supportata al più presto da LLVM/Clang. Al momento, l’infrastruttura di LLVM-IR non permette l’utilizzo delle specifiche di OpenMP: l’unica soluzione è compilare i sorgenti ottimizzati da LLVM con GCC. Questa situazione sembra essere destinata a cambiare: tuttavia, non è ancora stata definita la tabella di marcia per l’integrazione di OpenMP. Il supporto potrebbe essere escluso da LLVM 3.1, l’imminente aggiornamento della piattaforma. Clang , ad ogni modo, non permetterebbe la compilazione di tutti i linguaggi supportati da OpenMP. Mi riferisco, in particolare, a Fortran. Previsto da OpenMP e supportato da GCC, il linguaggio è escluso da Clang — che prevede soltanto C/C++ e Obj-C/Obj-C++. Quando OpenMP dovesse essere implementato da LLVM, il multi-threading per Fortran resterebbe legato all’utilizzo di GCC e DragonEgg sarebbe comunque fondamentale per OpenMP. Via | Phoronix LLVM/Clang potrebbero supportare OpenMP da un prossimo aggiornamento

Continua a leggere: LLVM/Clang potrebbero supportare OpenMP da un prossimo aggiornamento

Utilità semplice ma efficace, che non richiede esperienza in ambiti di programmazione Autore: Marco Mattioli Tipo risorsa: articolo Categoria: Download

Continua a leggere: Creare una presentazioni con Flash Slideshow Wizard

Incorporiamo i Tweet nelle pagine Web

Twitter ha passato gli ultimi tre mesi in maniera molto intensa, lanciando un nuovo layout della propria interfaccia, sviluppando tecnologia free source da utilizzare su dispositivi Android per migliorare l’accesso alla propria piattaforma, e sviluppando nuove applicazioni per il deck che possano modificare ed ampliare il proprio utilizzo per un pubblico sempre più vasto ed TecnoMagazine.it . Articolo originale: Incorporiamo i Tweet nelle pagine Web

Continua a leggere: Incorporiamo i Tweet nelle pagine Web

Gradiator è il primo ed unico generatore di gradienti per GNU/Linux in CSS3. Gli sviluppatori hanno da poco rilasciato la prima versione disponibile per GNU/Linux sotto forma di sorgenti e PPA per Ubuntu e derivate; questo tool farà sicuramente felici gli sviluppatori web che avranno a disposizione un tool “nativo” e di conseguenza non dovranno ricorrere a strumenti esterni. L’applicazione risulta essere molto semplice ed intuitiva, si possono notare alcune somiglianze con il classico “select color” messo a disposizione da The Gimp. Gradiator di default si presenta con un tema nero molto elegante ed in linea con le applicazioni GNOME come eog e Totem. Come possiamo notare dalla pagina del progetto, Gradiator è stato creato su Windows con software proprietario, questo piccolo dettaglio spero che non ne pregiudichi l’utilizzo, data anche la bontà del software. Come già affermato è disponibile il tarball con i sorgenti software nella pagina “Download” del progetto, insieme ad un apposito PPA per Ubuntu 11.10 e superiori. Via | Gradient Gradiator, il primo generatore di gradienti per GNU/Linux in CSS3

Continua a leggere: Gradiator, il primo generatore di gradienti per GNU/Linux in CSS3

Per lavoro mi sono imbattuto in questa situazione: gestire un prodotto-kit in un carrello e-commerce gestito esternamente da ubercart. In pratica ho il mio negozio con tutti i prodotti standard. Il mio intento è quello di creare un nuovo prodotto-kit come composizione di altri prodotti già presenti nel negozio… ma questo via codice e non lato form admin. Per riuscire in questo intento ho dovuto mettere mano al codice PHP e gestire una serie di cose. Il codice seguente eseguirà alcune operazioni: creazione di un nodo drupal di tipo prodotto kit, impostazione di alcuni parametri ed aggiornamento vari dello stesso ed infine l’aggiunta al carrello dell’utente attuale. Eccolo riportato di seguito: // Create an object to fill the overall needed information, like type and more… $node = (object) array(); global $user; $account = user_load(array(‘uid’ => $user-> uid)); // WARNING: this not work properly… I’ve seen that uid is always set to “0″… why? $node-> uid = $account-> uid; // Specify that the new node is a product-kit node $node-> type = “product_kit”; $node-> status = 1; $node-> promote = 0; $node-> sticky = 0; $node-> revision = 0; $node-> language = “”; $node-> title = “Title of product-kit”; $node-> body = “Body as Lorem Ipsum and so on…”; $node-> teaser = “”; $file_drupal_path = “physical path of image”; $file = new stdClass(); $file-> filename = basename($file_drupal_path); $file-> filepath = $file_drupal_path; $file-> filemime = mime_content_type($file_drupal_path); $file-> filesize = filesize($file_drupal_path); $file-> uid = $user-> uid; $file-> timestamp = time(); drupal_write_record(‘files’, $file); $node-> field_image_cache[0] = field_file_load($file-> fid); // In my case, 38 is a taxonomy categories $node-> taxonomy = array(38); // 459 and 460, for example, are the two products that make up the entire product-kit $node-> products = array(459, 460); // Ok, this is not too beautiful to see… but the lines represent the external products and the relative quantities (1 and 3) $node-> items[459]["qty"] = 1; $node-> items[460]["qty"] = 3; node_submit($node); node_save($node); // Update the product-kit information uc_product_kit_update($node); // This statement adds the new product-kit to the current user cart automatically uc_cart_add_item($node-> nid);

Continua a leggere: Drupal e Ubercart: creare un prodotto-kit personalizzato via codice PHP

CXXI è un nuovo progetto di Mono che colma la mancanza d’interoperabilità per C Sharp e .NET con C++. È stato realizzato grazie a due anni consecutivi di finanziamento da parte della Google Summer of Code e, al momento, include dei binding e dei test per Qt. CXXI sostituisce gli espedienti utilizzati da Mono per il dialogo con C++. Ad esempio, in passato i manutentori di Mono avevano realizzato un binding del PhyreEngine di Sony per dimostrare le potenzialità di C# coi sorgenti ad alto livello dei videogiochi per PlayStation 3. PhyreEngine# è stata una soluzione di compromesso, inadatta a supportare l’interoperabilità con C++. CXXI è il presente — e il futuro. La tecnologia di CXXI, di per sé, riassume le funzionalità d’altre tre soluzioni temporanee di Mono per elaborare i sorgenti in C++. Rispettivamente, Platform Invoke, COM Interop e MarshalByRefObject di Microsoft. Tre complessi escamotage per tradurre e compilare il codice scritto per C++ con C# e .NET. Ormai – di fatto – superati. Quanto alle funzionalità, CXXI propone una doppia compilazione dei sorgenti nella creazione di librerie dinamiche. Partendo dal codice in C++, CXXI utilizza GCC per compilare la libreria col metodo tradizionale e – in parallelo – il proprio generatore interno per realizzare le .dll in C# o .NET. Questo è il meccanismo più semplice. Quando i sorgenti prevedono il parsing di XML, la procedura è un po’ più complessa. GCC-XML genera il markup dai sorgenti in C++, quindi CXXI li traduce in Visual C#: perciò, sono integrate le ottimizzazioni proprie di C Sharp ed è generata la corrispondente libreria .dll . Un meccanismo abbastanza complicato per le esigenze attuali. Per quanto mi riguarda trovo che lo sviluppo di Mono sia costantemente più lontano dai trend della programmazione contemporanea. Il ricorso a tanti passaggi può essere giustificato in un numero molto ridotto di situazioni: soprattutto sui dispositivi portatili – il target di Xamarin – è preferibile la creazione di applicazioni web. Via | Miguel De Icaza Mono inaugura il supporto all’interoperabilità con C++ grazie a CXXI

Continua a leggere: Mono inaugura il supporto all’interoperabilità con C++ grazie a CXXI

Cyanogen 9: ecco gli ultimi progressi

Il team CyanogenMod ha postato un aggiornamento relativo ai progressi fatti nella programmazione della Cyanogen 9, la ROM alternativa realizzata sulla base di Android 4.0 Ice Cream Sandwich. Finalmente possiamo capire meglio come sarà questa ROM e quali novità dovremo attenderci.

Continua a leggere: Cyanogen 9: ecco gli ultimi progressi