Riparare database KeePass


Nel fare un tentativo di passaggio dalla versione 1 alla versione di KeePass, il mio database si è corrotto.

Questo può succedere per molti doversi motivi in verità, ma KeePass ha degli ottimi strumenti di recupero!

Usare la clausola IN in una Stored Procedure in MySQL


La clausola IN, in una query con vari filtri, può essere molto comoda.

Ma se la vogliamo usare dentro una Stored Procedure in MySQL, può essere problematico passare i valori da usare nella clausola.

Per farlo siamo costretti a concatenare la query usando CONCAT.

Usare il Qt Designer con PyQt


A me piace molto il framework Qt, e quindi ho deciso di buttarmi anche su PyQt, un porting di Qt per Python.

Specifico che parlo della versione 5 di Qt, ma quello che andremo a vedere vale anche per la versione 4.

In pratica vederemo come sidegnare la nostra finestra con il Qt Designer, per poi trasformare questa finestra in codice Python.

Il Qt Designer, per chi non lo sapesse, è un componente che viene installato con il Qt Creator (ma penso dipenda anche dal sistema operativo usato), e che permette appunto di creare e modificare le GUI per programmi scritti Qt.

Salvare le preferenze utente in Qt


Salvare le prefernze dell'utente in Qt è veramente semplice.

Ci basta usare la classe QSettings, che si preoccupa di salvare le preferenze in questo modo:

  • se il programma è lanciato su Windows, i dati vengono salvati automaticamente nel registro di sistema
  • se siamo su Linux (e penso che sul Mac sia uguale), i dati vengono salvati nella home dell'utente, in una directory tipo questa:
    • /home/UTENTE/.config/NOME_ORGANIZZAZIONE/NOME_PROGRAMMA.conf

Due cose importanti al riguardo:

  • sarà il framework in automatico a identificare su quale OS siamo, e quindi noi ci dobbiamo preoccupare solo di salvare i dati come serve alla nostra applicazione
  • il nome dell'organizzazione potete impostarlo voi (potete leggere qua); se non viene settato, ne viene impostato uno in automatico

Bene, detto ciò, vediamo un esempio.

Unire stringhe in Java


Oggi vediamo come possiamo unire delle stringhe usando Java.

Non parlo del classico concatena, ma della possibilità di join di più stringhe; il risultato finale è lo stesso, ma cambiano le modalità.

In questi esempi useremo due metodi:

  • uno prevede l'utilizzo della classe StringJoiner
  • l'altro prevede l'uso del metodo join della classe String

Per entrambi ho predisposto due esempi.

StringJoiner accetta fino a tre parametri:

  • il separatore
  • prefisso
  • suffisso

Per String.join ho fatto un esempio con una lista "messa a mano" e un esempio usando List.