Programmazione
Tecniche, Linguaggi, Librerie, Compilatori, e così via
Drupal e Ubercart: creare un prodotto-kit personalizzato via codice PHP
0Per 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.
Introduzione a reStructuredText
0reStructuredText (reST) è un linguaggio di markup nato per la documentazione di codice Python ed è utilizzato sia nelle docstring sia in documenti separati. La sua semplicità lo ha reso tuttavia simpatico anche a parecchi sviluppatori che usano altri linguaggi; è ormai piuttosto comune imbattersi in un README.rst mentre si guarda qualche progetto su GitHub.
Cambiare l’entry point di un programma con il GCC
0NOTA: il procedimento descritto di seguito è riportato per fini puramente didattici/smanettonici. Non è una buona pratica nei programmi comuni, non è standard C e non è necessario salvo casi molto particolari.
Com’è noto, i programmi C/C++ vengono eseguiti dal sistema operativo a partire dalla funzione main. In realtà la stessa main viene richiamata da un’altra funzione, _start, che si occupa di inizializzare alcune cose, eseguire la funzione main ed infine di fare un po’ di pulizia con la funzione exit. La funzione _start è il codidetto entry point del programma, ovvero il punto dal quale inizia la sua esecuzione.
Il GCC consente di specificare un entry point personalizzato: in altre parole si possono scrivere programmi dove verrà eseguita una funzione a nostra scelta al posto della _start (e quindi anche della main). Vediamo un semplice esempio.
Google non risponde al ping???No, la colpa è di Avahi!
3E’ proprio cosi. Se su Ubuntu provate a pingare www.google.it, vedrete rispondere al ping con molta latenza, quasi come se Google non risponda. Invece Google risponde e lo si può vedere pingando direttamente l’indirizzo ip.

Questo problema è presente in Ubuntu più o meno dalla 9.04, e per risolverlo basta fare un semplice comando.
(continua…)
Impostare un “Type Handler” per MyBatis per tipi di dato personalizzati
1In questa ultima puntata di MyBatis, vedremo come impostare un Type Handler per tipi personalizzati. Supponiamo di avere una tabella con un campo Date e di doverlo mappare in un GregorianCalendar: come fare?
MyBatis consente l’impostazione di un Type Handler nel quale mappare qualunque tipo di dato tra SQL e Java. Vediamo come.
Creare query avanzate con MyBatis e Spring in Java
0In questa puntata sull’utilizzo di MyBatis e Spring per connettersi ad un DB ed eseguire query, vedremo come eseguire, per l’appunto, query “avanzate1“.
Nei precedenti post avevamo visto come reperire tutte le tuple di una tabella oppure come reperire una tupla in base alla chiave. E se volessimo ottenere solamente una parte dei campi (diciamo, k degli n, con k < n)? E se volessimo fare una query per più campi? E se volessimo utilizzare il costrutto “where in”?
Vediamo come fare.
- Significato di avanzato preso in senso relativo
↩
