Home / Programmazione
Mattepuffo Impostare l'uppercase su una QLineEdit


La necessità è quella di fare in modo che in una QLineEdit il testo sia sempre in maiuscolo.

Ci sono varie modalità per ottenere questo risultato, ed io ve ne presento una abbastanza semplice da mettere in pratica.

Aprite il file di intestazione del vostro widget e aggiungete uno SLOT:

private slots:
    void toUpper(const QString &text);

A questo punto passiamo al file di implementazione.

Mattepuffo Connessione a MongoDB con Node.js


Oggi vediamo come connettere Node.js a MongoDB.

Useremo anche Express; ormai è diventato praticamente un modulo standard.

Partiamo dal classico package.json:

{
    "name": "NodeB2B",
    "version": "1.0.0",
    "keywords": ["util", "functional", "server", "client", "browser"],
    "author": "Matteopuffo",
    "contributors": [],
    "dependencies": {
        "express": "*",
        "mongodb": "*"
    }
}

Come dipendenze indichiamo di prendere le ultime versioni di entrambi i moduli.

Mattepuffo Parsing dei file in Java con Apache Tika


Per parsing dei file intendo:

  • estrarre i metadati
  • estrarre il contenuto
  • visualizzare le immagini (se usiamo un componente grafico)
  • tutto ciò da tantissimi tipi di file

Questo è possibile attraverso una magnifica libreria: Apache Tika!

Oggi vi posto un estratto di un programmino che sto facendo in Java, e che prima o poi metterò sul mio canale di GitHub.

In questo esempio non ci sono componenti grafiche, quindi non potete visualizzare le immagini.

Ciò non toglie che potete aggiungere voi i componenti che vi servono.

Inoltre ho usato Maven, in quanto Apache Tika richiede diverse dipendenze.

Infine, per il design delle classi, ringrazio i suggerimenti del forum HTML.it.

Mattepuffo Come risolvere l'errore JavaScript heap out of memory in NPM


L'altra settimana stavo combattendo con Node.js ed NPM.

In pratica ottenevo sempre questo errore:

$ npm search mongo npm WARN Building the local index for the first time, please be patient [..................] | : WARN Building the local index for the first time, please be patient
     
    [12455:0x23175c0]    73384 ms: Mark-sweep 1038.6 (1354.9) -> 1032.1 (1351.0) MB, 808.4 / 0.0 ms  allocation failure GC in old space requested [12455:0x23175c0]    74196 ms: Mark-sweep 1032.1 (1351.0) ->
    1031.9 (1314.0) MB, 811.6 / 0.0 ms  last resort gc  [12455:0x23175c0]    75024 ms: Mark-sweep 1031.9 (1314.0) -> 1031.9 (1307.0) MB, 828.2 /
    0.0 ms  last resort gc 
     
    ==== JS stack trace =========================================
     
    Security context: 0x1301816c0d11
        1: fromString(aka fromString) [buffer.js:217] [pc=0xd2afa68dcae](this=0x130181604311 ,string=0x2c89d250c589 ,encoding=0x1301816c9921 <String[4]: utf8>)
        2: from [buffer.js:114] [pc=0xd2afa691090](this=0x12c0d1a860b1 ,value=0x2c89d250c589 ,encodingOrOffset=0x1301816...
     
    FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory  1: node::Abort() [npm]  2: 0xf4e4cc [npm]  3: v8::Utils::ReportOOMFailure(char const*, bool) [npm]  4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [npm]  5: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [npm]  6: v8::internal::String::SlowFlatten(v8::internal::Handle, v8::internal::PretenureFlag) [npm]  7: v8::internal::String::Flatten(v8::internal::Handle, v8::internal::PretenureFlag) [npm]  8: v8::String::WriteUtf8(char*, int, int*, int) const [npm]  9: node::StringBytes::Write(v8::Isolate*, char*, unsigned long, v8::Local, node::encoding, int*) [npm] 10: node::Buffer::New(v8::Isolate*, v8::Local, node::encoding) [npm] 11: node::Buffer::CreateFromString(v8::FunctionCallbackInfo const&) [npm] 12: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo const&)) [npm] 13: 0x7f1698 [npm] 14: 0x7f1a30 [npm] 15: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [npm] 16: 0xd2afa1063a7 Annullato (core dump creato)

Mattepuffo Visualizzare i valori dei parametri di una funzione in Javascript


L'altro giorno stavo combattendo con una funzione in Javascript di quelle che non voleva proprio funzionare.

Alla fine avevo capito che il problema era nei parametri passati alla funzione, ma non mi andava di controllarli uno per uno.

Cercavo un modo per fare un debug diretto di tutti i parametri (un pò tipo la func_get_args di PHP).

Alla fine ci sono riuscito usando la propretà Array.prototype.