Ultimi 100
C - C++ - Avere una sola istanza di un programma in Qt
Avere una sola istanza di un programma in Qt

Avere una sola istanza di un programma in Qt

Ho creato un piccolo programma per la mia azienda, che non deve essere lanciato più di una volta sullo stesso pc. Questo perchè esegue diverse operazioni su database, e non è cosa buona tenere il programma aperto più volte.

Ruby - Usare il pattern Singleton in Ruby
Usare il pattern Singleton in Ruby

Usare il pattern Singleton in Ruby

Volenti o nolenti, il pattern Singleton è molto utilizzato. Oggi vediamo la sua implementazione in Ruby.

Mondo Web - Modificare file Photoshop online con Photopea
Modificare file Photoshop online con Photopea

Modificare file Photoshop online con Photopea

I programmi di grafica non sonon proprio il mio forte. Ma mi capita spesso di imbattermi nei file PSD di Photoshop. Sul mio pc, con Linux, ho sempre Gimp installato; ma può capitare di dover fare una modifica al volo senza avere nessun programma installato.

Java - Impostare il grassetto in Apache POI con Java
Impostare il grassetto in Apache POI con Java

Impostare il grassetto in Apache POI con Java

Quando si crea un file Excel, la maggior parte delle volte si imposta la prima riga come intestazione, e si usa colorarla e metterla in grassetto. Oggi vediamo come fare questo in Java quando creiamo un file Excel usando Apache POI.

Windows - Visualizzare l'utilizzo delle risorse di sistema nella system tray in Windows 10
Visualizzare l'utilizzo delle risorse di sistema nella system tray in Windows 10

Visualizzare l'utilizzo delle risorse di sistema nella system tray in Windows 10

Il Task Manager di Windows funziona effettivamente bene. Ed è uno strumento che la Microsoft ha continuato a migliorare. Quello che però ancora manca, è la possibilità di avere un applet nella system tray per avere sempre a portata di mano le risorse di sistema (cosa che in altri OS esiste da un secolo).

C - C++ - Riempire una QTableWidget da file CSV
Riempire una QTableWidget da file CSV

Riempire una QTableWidget da file CSV

La mia esigenza era quella di riempire una QTableWidget usando un file CSV. Postare tutto il codice è un pò complicato, quindi vi posterò solo ciò che serve.

Python - Usare Mustache con Python
Usare Mustache con Python

Usare Mustache con Python

Mustache è uno dei template engine più utilizzati, anche perchè supporta una pletora di linguaggi. Oggi ne vediamo un esempio in Python; la libreria per questo linguaggio si chiama pystache! Nel tutorial useremo Python 3, ma sono supportate anche le versioni più vecchie.

Linux - Controllare la stato dei server Linux in tempo reale con Linfo
Controllare la stato dei server Linux in tempo reale con Linfo

Controllare la stato dei server Linux in tempo reale con Linfo

Linfo è un'ottima applicazione scritta principalmente in PHP che ci permette di monitorare la status di un server Linux in tempo reale usando il nostro browser. Non richiede un database, ma essendo un linguaggio lato server, richiede che ci sia un server web configurato e funzionante.

Java - Parsing della riga di comando in Java con args4j
Parsing della riga di comando in Java con args4j

Parsing della riga di comando in Java con args4j

args4j è una delle varie librerie per eseguire il parsing della riga di comando in Java. Se usate Maven aggiungete questo al vostro pom.xml: <dependency> <groupId>args4j</groupId> <artifactId>args4j</artifactId> <version>2.33</version> </dependency>

Java - Eseguire richieste HTTP in Java con Fuel
Eseguire richieste HTTP in Java con Fuel

Eseguire richieste HTTP in Java con Fuel

Fuel è una delle tante librerie per Java per eseguire richieste HTTP. E' abbastanza semplice da usare, e per certi versi mi ricorda la sintassi di Javascript. Se usate Maven, aggiungete queste dipendenze: <dependency> <groupId>com.github.kittinunf.fuel</groupId> <artifactId>fuel</artifactId> <version>1.8.0</version> </dependency> <dependency> <groupId>com.github.kittinunf.result</groupId> <artifactId>result</artifactId> <version>1.1.0</version> </dependency> Compilate il progetto per scaricare la libreria.

Linux - Accedere a Google Drive da Linux
Accedere a Google Drive da Linux

Accedere a Google Drive da Linux

Google non ha mai dato un grandissimo supporto a Linux per quanto riguarda Google Drive. Ci sono dei programmi per usarlo, ma nessuno ufficiale (o almeno così ho capito). Tra i più usati c'è Google-Drive-Ocamlfuse!

Kotlin - Usare il pattern Singleton in Kotlin
Usare il pattern Singleton in Kotlin

Usare il pattern Singleton in Kotlin

Partiamo dal presupposto che in Kotlin non esiste il concetto di statico. Quindi è possibile usare il pattern Singleton, ma in maniera un pò differente da Java. Avremmo sempre il costruttore (primario) privato, e al posto di metodi statici useremo i companion object.

Java - Parsing JSON in Java con Jackson
Parsing JSON in Java con Jackson

Parsing JSON in Java con Jackson

Jackson è una delle varie librerie con cui eseguire il parsing del JSON con Java. Nel mio caso l'ho dovuta usare per eseguire il parsing senza sapere a priori la struttura del JSON (quindi senza sapere quanti campi per record, e di che tipo sono). Diamo a Cesare quel che è di Cesare, e quindi vi link la discussione sul forum HTML.it.

Javascript - AJAX - Inviare email con Node.js
Inviare email con Node.js

Inviare email con Node.js

Inviare email in Node.js è abbastanza semplice usando il modulo nodemailer! Cominciamo con package.json: { "name": "TestEmail", "version": "1.0.0", "keywords": [], "author": "Mattepuffo", "contributors": [], "dependencies": { "nodemailer": "*" } }

Java - Creare file Excel in Java con Apache POI
Creare file Excel in Java con Apache POI

Creare file Excel in Java con Apache POI

Apache POI è una libreria per Java per la manipolazione dei file di MS Office. Oggi vediamo un esempio su come creare un file Excel. Se usate Maven, aggiungete questo al vostro pom.xml: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.15</version> <type>jar</type> </dependency>

Network & Sniffing - Estrarre il nome di dominio da terminale su Linux
Estrarre il nome di dominio da terminale su Linux

Estrarre il nome di dominio da terminale su Linux

In pratica, dato un url qualsiasi, vogliamo estrarre il nome di dominio usando il terminale in Linux. Possiamo ottenere questo risultato sia con AWK che con SED. Ovviamente possiamo usare questi esempi anche dentro a degli script.

Java - Parsing della riga di comando in Java con Commandline
Parsing della riga di comando in Java con Commandline

Parsing della riga di comando in Java con Commandline

Commandline è una delle tante librerie per Java per il parsing della riga di comando. E' abbastanza semplice da usare, anche se al momento non rientra tra le mie preferite. Vediamo un esempio in cui impostiamo due opzioni: nome, di tipo stringa vebosità, di tipo booleano L'esempio è basico, e sul sito ci stanno diversi esempi avanzati.

Linux - Creare una lista dei pacchetti installati in Debian
Creare una lista dei pacchetti installati in Debian

Creare una lista dei pacchetti installati in Debian

Supponiamo di reinstallare Debian, e di voler reinstallare tutti i pacchetti presenti precedentemente. Come possiamo fare? Prima di tutto possiamo creare la lista in maniera semplice: $ dpkg-query -f '${binary:Package}n' - > pacchetti.txt

Linux - Cambiare priorità dei processi in Linux con ionice
Cambiare priorità dei processi in Linux con ionice

Cambiare priorità dei processi in Linux con ionice

Ci sono alcune operazioni per le quali sarebbe meglio cambiare la priorità, in modo da usare al meglio le risorse di sistema. Su Linux possiamo cambiare priorità ad un processo usando ionice! Facciamo un esempio reale: vogliamo cancellare da riga di comando file molto grandi (anche 300GB), senza bloccare il pc.

Kotlin - Eseguire richieste HTTP in Kotlin con Fuel
Eseguire richieste HTTP in Kotlin con Fuel

Eseguire richieste HTTP in Kotlin con Fuel

Fuel è un'altra libreria per eseguire richieste HTTP in Kotlin. Di base ha due dipendenze; se usate Maven: <dependencies> <dependency> <groupId>com.github.kittinunf.fuel</groupId> <artifactId>fuel</artifactId> <version>1.8.0</version> </dependency> <dependency> <groupId>com.github.kittinunf.result</groupId> <artifactId>result</artifactId> <version>1.1.0</version> </dependency> </dependencies>

Javascript - AJAX - Creare un emulatore di terminale in Javascript e zTerminal
Creare un emulatore di terminale in Javascript e zTerminal

Creare un emulatore di terminale in Javascript e zTerminal

zTerminal è un plugin per jQuery che ci permette di creare un emulatore di terminale online. Ovviamente non si tratta di un emulatore di sistema, in cui possiamo lanciare i comandi che conosciamo. I comandi saremo noi ad impostarli con Javascript.

Windows - Ripulire gli aggiornamenti di Windows
Ripulire gli aggiornamenti di Windows

Ripulire gli aggiornamenti di Windows

Purtroppo mi continuano a dire che Windows è meglio di qualsiasi distro basata su Linux o di macOS. Ma ci sono alcune cose che per me bastano a ridurlo ad un sotto sistema operativo. Una di queste è la gestione degli aggiornamenti! Una delle cose peggiori che fa è la quantità di spazio su disco che occupa.

Kotlin - Usare gli Enum in Kotlin
Usare gli Enum in Kotlin

Usare gli Enum in Kotlin

Kotlin ha un supporto completo per gli Enum, e mette anche a disposizione alcuni metodi statici abbastanza comodi. Vediamo un esempio basico.

Java - Utilizzare Mustache in Java
Utilizzare Mustache in Java

Utilizzare Mustache in Java

Mustache è uno dei template engine più conosciuti ed usati. Disponibile per tantissimi linguaggi, oggi vediamo come usarlo in Java; lo useremo in un progetto console, visualizzando dei dati "statici" giusto per vedere un esempio base. Se usiamo Maven, possiamo installarlo così: <dependency> <groupId>com.github.spullara.mustache.java</groupId> <artifactId>compiler</artifactId> <version>0.9.5</version> </dependency>

Ruby - Creare un client HTTP in Ruby con Unirest
Creare un client HTTP in Ruby con Unirest

Creare un client HTTP in Ruby con Unirest

Unirest è un libreria per creare richieste HTTP in maniera molto semplice e veloce. E' disponibile per diversi linguaggi, ed oggi vedremo un esempio con Ruby. Prima di tutto dobbiamo installarlo: $ gem install unirest

C - C++ - Usare eventFiletr in Qt
Usare eventFiletr in Qt

Usare eventFiletr in Qt

In un programma scritto in Qt, dovevo interecettare la pressione del tasto F8 in una QLineEdit. Una volta premuto il tasto, il programma deve svolgere delle operazioni. Per fare questo bisogna usare gli eventFilter.

Kotlin - Determinare il tipo di variabile in Kotlin
Determinare il tipo di variabile in Kotlin

Determinare il tipo di variabile in Kotlin

Per tipo di variabile intendo che tipo di oggetto è una determinata variabile. Può essere utile in alcuni per capire bene cosa restituisce un determinato oggetto. In Java si usa instanceof, che corrisponde alla parola chiave is in Kotlin.

Javascript - AJAX - Identificare i colori di una immagine in Javascript con Chameleon.js
Identificare i colori di una immagine in Javascript con Chameleon.js

Identificare i colori di una immagine in Javascript con Chameleon.js

Ho trovato un interessante plugin per jQuery che ci permette di identificare i colori delle immagini, e volendo anche di usarli direttamente nella nostra pagina web: Chameleon.js! Non è particolarmente difficile da usare, e ci permette di fare parecchie operazioni. Scaricate la libreria dal sito, e includetela nella pagina insieme a jQuery; avete bisogno anche di una immagine (prendetene una un pò colorata per vedere bene l'effetto).

Linux - Visualizzare il carico di lavoro su terminale in Linux con ttyload
Visualizzare il carico di lavoro su terminale in Linux con ttyload

Visualizzare il carico di lavoro su terminale in Linux con ttyload

Ho scoperto un piccolo programmino che ci permette di visualizzare il carico di lavoro in semi grafica su terminale: ttyload! Lo possiamo considerare una delle tante alternative per Linux; però, rispetto ad altri programmi, abbiamo anche una visualizzazione semi grafica, e questo può essere molto comodo soprattutto in ambito server.

Database & Server - MyCLI: client per MariaDB con auto-completion
MyCLI: client per MariaDB con auto-completion

MyCLI: client per MariaDB con auto-completion

Ho scoperto che esiste un client da riga di comando per MariaDB (e MySQL) con l'auto-completion: MyCLI! Solo che installarlo è stato più complicato del previsto, in quanto non è presente nei repo di Debian 8 (al contrario di quello che dicono tutte le guide che ho letto).

Java - Usare una custom ListCell in JavaFX
Usare una custom ListCell in JavaFX

Usare una custom ListCell in JavaFX

Vogliamo riempire una ComboBox in JavaFX con oggetti custom: come possiamo fare? Adesso lo vediamo, partendo proprio dall'oggetto custom: public class Author { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return name; } @Override public boolean equals(Object obj) { if (!(obj instanceof Author)) { return false; } Author a = (Author) obj; return this.name.equals(a.toString()); } @Override public int hashCode() { int hash = 3; hash = 59 * hash + (this.name != null ? this.name.hashCode() : 0); return hash; } Nulla di trascendentale.

Kotlin - Inviare email in Kotlin con Apache Commons Email
Inviare email in Kotlin con Apache Commons Email

Inviare email in Kotlin con Apache Commons Email

Tra le varie librerie messe a disposizione dalla Apache Foundation, ne ho trovato una apposita per la gestione delle email: Apache Commons Email! Questa libreria migliora le API standard di Java, ed ho deciso di usarla per fare qualche test sulle email in Kotlin. Se usate Maven, dovete aggiungere questo al file pom.xml: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId> <version>1.4</version> </dependency>

Linux - Controllare la configurazione di SSH con ssh_scan
Controllare la configurazione di SSH con ssh_scan

Controllare la configurazione di SSH con ssh_scan

Ho scoperto un programmino scritto in Ruby per controllare la configurazione si un server SSH: ssh_scan! Per installarlo su Archlinux si può usare AUR: $ yaourt -Sy ruby-ssh_scan

C - C++ - Ridimensionamento automatico delle colonne di una QTableWidget
Ridimensionamento automatico delle colonne di una QTableWidget

Ridimensionamento automatico delle colonne di una QTableWidget

Quando usiamo un componente a griglia, ci viene quasi automatico allargare le colonne per vederne bene il contenuto. Se siamo in ambito Qt, e vogliamo avere il ridimensionamento automatico delle colonne di una QTableWidget, come possiamo fare?

Kotlin - Eseguire richieste HTTP in Kotiln con khttp
Eseguire richieste HTTP in Kotiln con khttp

Eseguire richieste HTTP in Kotiln con khttp

Ho visto che per Kotlin ci sono diverse librerie per eseguire richieste HTTP. Oggi vediamo khttp! Se usate Maven, per installare la librerie aggiungete questo al pom.xml: <repositories> <repository> <id>jcenter</id> <url>http://jcenter.bintray.com/</url> </repository> </repositories> <dependencies> <dependency> <groupId>khttp</groupId> <artifactId>khttp</artifactId> <version>0.1.0</version> </dependency> </dependencies> Compilate il progetto per scaricare libreria e dipendenze.

Python - Creare un timer in Python
Creare un timer in Python

Creare un timer in Python

Ho visto online che ci sono tonnellate di esempi differenti su come creare un timer in Python. Ma quello che mi serviva a me era un semplice countdown, al termine del quale eseguire una determinata operazione.

Kotlin - Contare il numero di righe di un file in Kotlin
Contare il numero di righe di un file in Kotlin

Contare il numero di righe di un file in Kotlin

Non ho trovato nessuna funzione per contare il numero di righe di un file in Kotlin; quindi ho fatto come gli antichi: apriamo il file lo leggiamo contiamo il numero di righe con un contatore stampiamo il numero di righe

Linux - Convertire file XSL in CSV su Linux con unoconv
Convertire file XSL in CSV su Linux con unoconv

Convertire file XSL in CSV su Linux con unoconv

Dalla descrizione, sembra che unoconv faccia parte della suite LibreOffice. Comunque dovrebbe essere disponibile in tutti i repo, quindi potete installarlo facilmente. Questo programma permette di convertire da XLS / XLSX a CSV e viceversa.

Javascript - AJAX - Eseguire comandi in Javascript con execCommand
Eseguire comandi in Javascript con execCommand

Eseguire comandi in Javascript con execCommand

Non parliamo ovviamente di comandi di sistema, ma di comandi che è possibile dare in una pagina web quando è in modalità designMode. Per fare questo, useremo la funzione execCommand! Cosa importante, il contenitore su cui eseguire comandi deve essere editable; e per questo c'è l'apposito attributo HTML contenteditable.

Linux - Convertire file audio su Linux con SoundConverter
Convertire file audio su Linux con SoundConverter

Convertire file audio su Linux con SoundConverter

Ho scoperto questo utile programmino su Linux per convertire file audio: SoundConverter! Il programma è veramente semplice da usare, e può convertire vari file contemporaneamente. Potete trascinarli all'interno della finestra, o selezionare una intera cartella.

Java - Parsing della riga di comando in Java con Apache Commons CLI
Parsing della riga di comando in Java con Apache Commons CLI

Parsing della riga di comando in Java con Apache Commons CLI

Tra le varie librerie Apache Commons, ne troviamo una apposita per il parsing degli argomenti da riga di comando: Apache Commons CLI! Oggi vediamo un esempio del suo utilizzo. Se usate Maven potete installare la libreria in questo modo: <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.4</version> </dependency>

C - C++ - Riempire una QComboBox da QStringList
Riempire una QComboBox da QStringList

Riempire una QComboBox da QStringList

Le QComboBox sono componenti grafici che corrispondono ai classici menu a tendina. E' possibile riempire una QComboBox in diversi modi. Oggi vediamo come riempirla da una QStringList.

Software - Memorizzare le credenziali in GIT
Memorizzare le credenziali in GIT

Memorizzare le credenziali in GIT

Quando si usa il client da riga di comando, GIT richiede sempre le credenziali quando si connette al repo remoto. E' possibile cambiare questo comportamento e memorizzare le credenziali; in questo modo non le richiederà più.

Kotlin - Gestire file temporanei in Kotlin
Gestire file temporanei in Kotlin

Gestire file temporanei in Kotlin

La gestione dei file temporanei in Kotlin (creazione, lettura e cancellazione) occpua all'incirca 3 righe di codice (5 se ci mettiamo i println per leggere il path e il contenuto). Per creare un file temporaneo possiamo usare la funzione createTempFile, che accetta tre parametri facoltativi: prefisso -> se non impostato, ne verrà impostato uno random suffisso -> se non impostato, verrà usata l'estensione .tmp directory -> se non impostata, verrà usata la directory temporanea del sistema sottostante

Python - Introduzione a TkInter
Introduzione a TkInter

Introduzione a TkInter

TkInter è uno dei vari framework per la costruzione di interfacce grafiche per Python. E' disponibile sia per la versione 2.x che per la 3.x, ed è quello incluso di default; quindi in teoria per usarlo non si dovrebbe installare nulla. Almeno per quanto riguarda Python in senso stretto, perchè in realtà va installata la libreria Tcl/Tk.

Java - Eseguire il parsing degli aromenti in Java con JCommander
Eseguire il parsing degli aromenti in Java con JCommander

Eseguire il parsing degli aromenti in Java con JCommander

Per eseguire il parsing della riga di comando in Java abbiamo diverse librerie. Oggi vediamo JCommander! Volendo è possibile usarlo anche con Groovy e Kotlin. Inoltre ha tantissime opzioni e metodi utili. Noi vedremo un esempio basico per partire. Se usate Maven, aggiungete questa dipendenza: <dependency> <groupId>com.beust</groupId> <artifactId>jcommander</artifactId> <version>1.72</version> </dependency>

Kotlin - Unire array in Kotlin
Unire array in Kotlin

Unire array in Kotlin

Unire array in Kotlin ricorda la classica concatenzaione. Da quanto ho capito, non ci sono funzioni apposite, ma basta concaternali.

Ruby - Creare un timer in Ruby
Creare un timer in Ruby

Creare un timer in Ruby

Usando il modulo Time, è molto semplice creare un timer in Ruby. Probabilmente ci sono altri modi, ma questo è abbastanza semplice e pulito.

Kotlin - Copiare un array in Kotlin
Copiare un array in Kotlin

Copiare un array in Kotlin

In Kotlin la creazione di un array è un pò diversa rispetto a quella a cui siamo abituati in Java. Oggi vediamo come crearne uno e come farne una copia.

Linux - Utilizzare un proxy da riga di comando in Linux
Utilizzare un proxy da riga di comando in Linux

Utilizzare un proxy da riga di comando in Linux

Le motivazioni per voler usare un proxy sono molteplici. Senza stare qui ad elencarle, vediamo come possiamo fare per usare un server proxy da riga di comando in Linux. In verità è abbastanza semplice, in quanto si tratta di modificare il file /etc/environment.

C - C++ - Esportare una QTableWidget in PDF
Esportare una QTableWidget in PDF

Esportare una QTableWidget in PDF

L'esportazione in PDF usando Qt, passa praticamente per il modulo di stampa del framework. Infatti la prima cosa che dovete fare per questo tutorial è aggiungere questo nel file .pro: QT += core gui printsupport Abbiamo aggiunto printsupport.

Javascript - AJAX - Filtrare una lista in Javascript
Filtrare una lista in Javascript

Filtrare una lista in Javascript

Partendo da una classica lista HTML, vogliamo filtrarla scrivendo dentro ad una input text. Possiamo farlo in Javascript in maniera abbastanza semplice.

Java - Filtrare e ordinare una TableView in JavaFX
Filtrare e ordinare una TableView in JavaFX

Filtrare e ordinare una TableView in JavaFX

In questo articolo avevamo visto come riempire una TableView da database in JavaFX. Qui vediamo come impostare ordinamento a filtro; in pratica potremmo ordinare la tabella cliccando sull'intestazione, ed eseguire ricerche attraverso una casella di testo. Da dove prendiamo i dati, in questo caso, non è importante; quindi tralascerò come riempire la lista.

Mondo Web - Eseguire ricerche per dimensione in Gmail
Eseguire ricerche per dimensione in Gmail

Eseguire ricerche per dimensione in Gmail

Molti utenti non usando le email sul web perchè si lamentano che mancano di alcuni strumenti avanzati che invece hanno i classici client di posta. In parte è anche vero; come è vero che gli utenti non sono a conoscenza di tutto! Oggi vediamo un esempio di ricerca in Gmail, nella spece per dimensione delle email.

Windows - Impostare l'auto spegnimento in Windows 10
Impostare l'auto spegnimento in Windows 10

Impostare l'auto spegnimento in Windows 10

Purtroppo in ufficio spesso si dimenticano di spegnere i pc. Quindi, tendenzialmente, imposto l'auto spegnimento. Fare questa cosa con Windows 10 è abbastanza semplice.

Kotlin - Interpolazione delle varibili in Kotlin
Interpolazione delle varibili in Kotlin

Interpolazione delle varibili in Kotlin

Kotlin ha un buon supporto per l'interpolazione delle variabili. Cosa che, a meno che non mi sia perso qualcosa, manca in Java. Facciamo qualche esempio.

Linux - Monitorare il sistema in Linux con Sysdig
Monitorare il sistema in Linux con Sysdig

Monitorare il sistema in Linux con Sysdig

Sysdig viene definito come il tool definitivo per il controllo di un sistema Linux. In effetti è in grado di eseguire parecchi controlli, dal network ai containers, alle applicazioni alle operazioni di I/O, ecc. Per installarlo su Debian: # aptitude install sysdig Volendo è disponibile anche una gui (CSysdig) ma non l'ho provata.

Java - Eseguire operazioni in background in JavaFX
Eseguire operazioni in background in JavaFX

Eseguire operazioni in background in JavaFX

Allora, lo scenario è questo: avviamo una operazione che visualizza un loading dialog, esegue determinate operazioni, chiude il loading dialog, ed eventualmente aggiorna un componente grafico (ad esempio una TableView). Siamo in ambito JavaFX, che segue gli stessi principi di Swing, ma in maniera un pò diversa.

Kotlin - Gestire le eccezioni in Kotlin
Gestire le eccezioni in Kotlin

Gestire le eccezioni in Kotlin

La prima cosa che si nota in Kotlin, rispetto a Java, è che non è obbligatorio gestire le eccezioni. Quindi questa riga è permessa: File("file.txt").forEachLine { println(it) } Se il file non esiste, il programma andrà in crash.

Mondo Web - Compilatori online per Java
Compilatori online per Java

Compilatori online per Java

Generalmente uso sempre un IDE per i test, per qualsiasi linguaggio di programmazione. Ma ci sono anche parecchi servizi online che mettono a disposizione interi ambienti, o compilatori, da usare per testare piccoli snippet. Oggi vi elenco quelli che conosco relativamente a Java.

Java - Creare un loading dialog in JavaFX
Creare un loading dialog in JavaFX

Creare un loading dialog in JavaFX

Parliamo del classico dialog che deve essere visualizzato quando eseguiamo operazioni per le quali l'utente deve aspettare. Creare un loading dialog in JavaFX è piuttosto semplice.

Ruby - Ridimensionare immagini in Ruby
Ridimensionare immagini in Ruby

Ridimensionare immagini in Ruby

Per ridimensionare le immagini in Ruby, ho usato il modulo rmagick! Si tratta di una interfaccia tra ImageMagick. Quindi do per scontato che sia installato sul vostro sistema.

Kotlin - Introduzione alle Data classes in Kotlin
Introduzione alle Data classes in Kotlin

Introduzione alle Data classes in Kotlin

Le Data classes in Kotlin sono classi che vengono usate solo come contenitori di dati. Possiamo paraganorarle ai classici JavaBean, con una differenza enorme sulla sintassi.

Linux - Identificare quale versione di Fedora stiamo usando
Identificare quale versione di Fedora stiamo usando

Identificare quale versione di Fedora stiamo usando

Oggi stavo maneggiando con la mia Fedora (installata in virtuale ovviamente), e stavo seguendo un pò di tutorial sull'installazione di alcuni programmi. C'erano differenti comandi a seconda della versione, ed io, che non sono esperto di Fedora, non ricordavo quale versione avessi installato.

Java - Applicare un watermark ad una immagine in Java
Applicare un watermark ad una immagine in Java

Applicare un watermark ad una immagine in Java

Lo scopo del codice che vedremo oggi nasce da una esigenza reale: mettere un watermark, corrispondente al nome del file, su tante immagini risiedenti tutte nella stessa cartella. Facendolo in Java ci ho messo relativamente poco tempo. Nel programma non è prevista una gui; il path viene dato tramite riga di comando. Voi, ovviamente, fate tutte le modifiche che volete / vi servono.

Kotlin - L'ereditarietà in Kotlin
L'ereditarietà in Kotlin

L'ereditarietà in Kotlin

L'editarietà in Kotlin è abbastanza diversa da quella a cui siamo abituati in Java. Cominciando dalla classe base: open class Person constructor(var name: String, var age: Int) { open fun isAdult(): Boolean { return this.age >= 18 } }

Linux - Eseguire comandi in coda su Linux
Eseguire comandi in coda su Linux

Eseguire comandi in coda su Linux

Supponiamo di avere diversi comandi da eseguire uno di fila all'altro, senza voler aspettare che finiscano uno per uno per lanciare a mano quello seguente. Come possiamo fare su Linux?

Java - Identificare riga selezionata di una TableView in JavaFX
Identificare riga selezionata di una TableView in JavaFX

Identificare riga selezionata di una TableView in JavaFX

Partiamo dal presupposto che riempiamo una TableView in JavaFX usando oggetti custom. Non mi metterò a spiegare come riempire una lista; potete vedere in un precedente articolo per come riempirla da database. Qui vederemo come intercettare la riga selezionata, e come prendere i dati del relativo oggetto custom.

Database & Server - Strumenti per monitorare MariaDB
Strumenti per monitorare MariaDB

Strumenti per monitorare MariaDB

Per monitorare un database MariaDB (e MySQL ovviamente) ci sono diversi strumenti a disposizione. Il primo in assoluto è ovviamente mysqladmin, che fa parte dei tools di base di MariaDB. Solo che non è facilissimo da usare, nel senso che bisogna conoscere molto bene dove andare a prelevare i dati, le query, ecc.

News - Nuovo strumento 'Colori dei brands'
Nuovo strumento 'Colori dei brands'

Nuovo strumento 'Colori dei brands'

Ho creato un altro strumento, comodo principalmente ai grafici e web designer: Colori brands!

Windows - Sbloccare gli aggiornamenti in Windows 7
Sbloccare gli aggiornamenti in Windows 7

Sbloccare gli aggiornamenti in Windows 7

Poi dici che odi Windows (e questo è solo uno dei motivi): ogni volta che reinstallo Windows 7 da zero, ho Windows Update che carica all'infinito e mi scarica gli aggiornamenti. Una volta l'ho lasciato un giorno e una notte.... Per fortuna c'è un rimedio a questa rottura atomica.

Java - Impostare la versione di Java in Maven
Impostare la versione di Java in Maven

Impostare la versione di Java in Maven

Ci sono alcuni IDE che non impostano l'ultima versione di Java come default in Maven. Ad esempio IntelliJ, che mi ha fatto penare per una mezz'ora abbondante. Volendo possiamo impostarlo noi nel pom.xml; io lo farei sempre a scanso di equivoci.

Ruby - L'ereditarietà in Ruby
L'ereditarietà in Ruby

L'ereditarietà in Ruby

Come sappiamo, Ruby è un linguaggio che ha pieno supporto alla OOP. Oggi vediamo come implemente il concetto di ereditarietà.

Kotlin - Listare file e directory in Kotlin
Listare file e directory in Kotlin

Listare file e directory in Kotlin

Sono rimasto sorpreso dal poco codice che ho dovuto scrivere per listare file e directory in Kotlin. Vediamo tre esempi, con tre funzioni diverse: list() -> ritorna un array di String, e quindi stampa solo il nome dei file listFiles() -> ritorna un array di File, e quindi è possibile accedere a tutte le varie funzioni e proprietà di un oggetto File walk() -> che produce un FileTreeWalk, e lista i file in maniera ricorsiva; ci sono anche le funzioni walkBottomUp() e walkTopDown(), che si differenziano solo per il verso un cui eseguono la scansione (poetet vedere su Stack Overflow la mia domanda)

Linux - Impostare lo SWAP file in Linux
Impostare lo SWAP file in Linux

Impostare lo SWAP file in Linux

In Linux siamo abituati a creare una partizione dedicata allo SWAP. Ma ad oggi, con gli hard disk sempre più veloci e capienti, e RAM sempre più grandi, possiamo anche cambiare rotta: invece di usare una partizione possiamo usare un file! A meno che non usiate BTRFS, che non ha nessun supporto per lo swap-file.

Java - Intercettare il doppio click su una TableView in JavaFX
Intercettare il doppio click su una TableView in JavaFX

Intercettare il doppio click su una TableView in JavaFX

Quando si hanno dati in forma tabellare, quasi sicuramente abbiamo bisogno di intercettare qualche evento per recupare i dati. Qui vediamo come intercettare il doppio click del mouse su una TableView in JavaFX. Cominciamo dal layout FXML: <BorderPane xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.mp.book.ControllerMain"> <center> <TableView fx:id="tblBooks" BorderPane.alignment="CENTER" onMouseClicked="#onTblDoubleClick"/> </center> </BorderPane>

Java - Creare grafici in JavaFX
Creare grafici in JavaFX

Creare grafici in JavaFX

JavaFX arriva già con strumenti per la creazione di grafici senza usare librerie esterne. Sono anche abbastanza semplici da usare. Vediamo un esempio di PieChart.

Python - Usare Singleton in Python
Usare Singleton in Python

Usare Singleton in Python

Per creare classi Singleton in Python, abbiamo parecchie alternative. Non saprei dirvi quale sia la migliore, visto che tra tutte quelle trovate in giro mi sono trovato bene con il codice che vedete più sotto. E semplicemente perchè è un codice più simile a quello con cui sono abituato in Java o PHP. (Devo essere sincero: la sintassi Python la digerisco ancora poco).

Software - Modificare i PDF con PDFsam
Modificare i PDF con PDFsam

Modificare i PDF con PDFsam

Ho scoperto per caso questo programma, e devo dire che lo trovo ottimo: PDFsam! E' disponibile per diverse piattaforme, anche se lo sto usando solo su Linux. Per installarlo su Archlinux: # pacman -Sy pdfsam

HTML - CSS - Creare grafici in HTML usando i Canvas
Creare grafici in HTML usando i Canvas

Creare grafici in HTML usando i Canvas

Per creare grafici nelle nostre pagine web, siamo abituati ad usare librerie esterne in Javascript. Anche giustamente, visto che ce ne sono alcune spettacolari. Ma in verità possiamo creare grafici anche per conto nostro, usando HTML, Canvas e Javascript (ovviamente).

Kotlin - Copiare file in Kotlin
Copiare file in Kotlin

Copiare file in Kotlin

Per copiare file, Kotlin mette a disposizione una funzione apposita: copyTo! La funzione accetta tre parametri, di cui solo il primo è obbligatorio: il file di destinazione se sovrascrivere il file di destinazione nel caso in cui già esista la dimensione del buffer

C - C++ - Selezionare la data in Qt con QDateEdit
Selezionare la data in Qt con QDateEdit

Selezionare la data in Qt con QDateEdit

Anche Qt, come molti framework per la costruzione di gui, ha un widget apposito per le date: QDateEdit. Usarlo è abbastanza semplice; nel caso più banale basta questo: QDateEdit calendar = new QDateEdit();

Javascript - AJAX - Utilizzare Mustache.js con AJAX
Utilizzare Mustache.js con AJAX

Utilizzare Mustache.js con AJAX

Ho cominciato a studiarmi un pò Mustache per Javascript, caricando i dati tramite AJAX. Oltre a Mustache.js, avremmo bisogno anche di jQuery; infine useremo un file di template esterno (giusto per fare un esempio più completo. Mustache.js lo potete scaricare da GitHub (ho dovuto copiarlo in locale, il caricamento remoto non mi funzionava).

Software - Registrare il desktop con FFmpeg
Registrare il desktop con FFmpeg

Registrare il desktop con FFmpeg

Ogni tanto scopro delle nuove cose che si possono fare con FFmpeg, e rimango sempre positivamente impressionato. Ad esempio, ho scoperto che è possibile registrare il dekstop; screencast in pratica. Vediamo qualche esempio su Linux, Windows e macOS. Considerate, però, che io l'ho testato solo su Linux.

Javascript - AJAX - Effettuare richieste AJAX con Vue.js
Effettuare richieste AJAX con Vue.js

Effettuare richieste AJAX con Vue.js

Specifichiamo cha parliamo della versione di 2 di Vue.js. Lo sto cominciando a vedere adesso, quindi non so quante differenze ci siano con la versione 1. Comunque, vediamo come effettuare richieste AJAX e di conseguenza riepire una tabella.

Java - JavaFX ListView con oggetti custom
JavaFX ListView con oggetti custom

JavaFX ListView con oggetti custom

Per certi versi, JavaFX, mi ricorda un pò la programmazione Android. E' tutto molto diverso da come si fa in Swing. Vediamo un esempio di ListView con oggetti custom.

Javascript - AJAX - Inviare messaggi a tutti i client in Socket.io
Inviare messaggi a tutti i client in Socket.io

Inviare messaggi a tutti i client in Socket.io

Socket.io ha la possibilità di inviare messaggi a tutti i client connessi (broadcasting) in maniera veramente easy. Penso sia più facile visualizzare un esempio; partiamo dal Javascript: var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); var clients = 0; app.get('/', function (req, res) { res.sendFile('index.html', {root: __dirname}); }); io.on('connection', function (socket) { clients++; io.sockets.emit('broadcast', {description: clients + ' clients connected!'}); socket.on('disconnect', function () { clients--; io.sockets.emit('broadcast', {description: clients + ' clients connected!'}); }); }); http.listen(3000, function () { console.log('listening on *:3000'); });

Kotlin - Cancellare file in Kotlin
Cancellare file in Kotlin

Cancellare file in Kotlin

La cancellazione dei file in Kotlin, consiste in una riga di codice usando la funzione File.delete. Questa funzione non cancella le directories, e ritorna true/false a seconda che l'operazione è avvenuta con successo o no.

Database & Server - Splittare una stringa in Oracle
Splittare una stringa in Oracle

Splittare una stringa in Oracle

Sul mio db Oracle, ho una funzione (non fatta da me) che restituisce i valori in questo modo: '49;50;30;0;0;0;0;0;' Di tutto ciò, mi serve prendere solo il terzo valore; quindi dovrei spezzare la stringa in corrispondenza del punto e virgola, e poi prendere il terzo pezzo.

Javascript - AJAX - Intercettare gli eventi in Socket.io
Intercettare gli eventi in Socket.io

Intercettare gli eventi in Socket.io

Con Socket.io è possibile intercettare / emettere eventi, ed agire di conseguenza. Ne vediamo tre esempi. Il primo riguarda l'evento message, che è un evento built-in del framework: var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function (req, res) { res.sendFile('index.html', {root: __dirname}); }); io.on('connection', function (socket) { console.log('A user connected'); setTimeout(function () { socket.send("Messaggio dopo 3 secondi"); }, 3000); socket.on('disconnect', function () { console.log('A user disconnected'); }); }); http.listen(3000, function () { console.log('listening on *:3000'); });

PHP - Impostare il formato celle in PHPExcel
Impostare il formato celle in PHPExcel

Impostare il formato celle in PHPExcel

Anche se uso da tanto PHPExcel (varie versioni comprese), ancora oggi ogni tanto mi esce qualcosa che non ho mai fatto. Ad esempio impostare il formato di una cella. Nel mio caso, dovevo forzare la cella al formato numerico.

Java - Riempire una TableView da databse in JavaFX
Riempire una TableView da databse in JavaFX

Riempire una TableView da databse in JavaFX

Ho deciso di eseguire il porting di un mio vecchio programma scritto in Java, da Swing a JavaFX. Uno dei problemi che ho riscontrato è come rimpire una TableView da database. Ovviamente le tabelle funzionano in maniera completamente diverse da Swing. Qua vediamo proprio questo; però tenete in considerazione che: come db uso SQLite (anche se cambia poco) non spiegherò per filo e per segno come usare e installare il driver JDBC per SQLite; vi posterò direttamente il codice Cominciamo dal db; la tabella che interroghiamo ha questa struttura: 0|id|INTEGER|1||1 1|title|VARCHAR|1||0 2|released|VARCHAR|0||0 3|genre|VARCHAR|0||0 4|director|VARCHAR|0||0 5|writer|VARCHAR|0||0 6|actors|VARCHAR|0||0 7|plot|VARCHAR|0||0 8|poster|VARCHAR|0||0 9|runtime|VARCHAR|0||0 10|imdb_id|VARCHAR|0||0

Linux - Termsaver: uno screensaver per il terminale in Linux
Termsaver: uno screensaver per il terminale in Linux

Termsaver: uno screensaver per il terminale in Linux

Chi ha detto che il nostro cari terminale su Linux non può avere un salvaschermo quando ci alziamo dalla nostra postazione? Nessuno, anche perchè in effetti esiste: termsaver! Per installarlo su Debian e Ubuntu: # aptitude install termsaver

Javascript - AJAX - Introduzione a Socket.io
Introduzione a Socket.io

Introduzione a Socket.io

Socket.io è un framework per Node.js per la costruzione di applicazioni realtime. Il suo uso di base non è molto difficile, ed è tutto in linea con il modo di programmare di Node.js. Oggi vediamo un'introduzione. Iniziamo con il creare il progetto: $ mkdir TestSocket $ cd TestSocket $ npm init

Database & Server - Cancellare un utente in MariaDB
Cancellare un utente in MariaDB

Cancellare un utente in MariaDB

Facendo dei test, mi sono ritrovato con tutti questi utenti di root nella mia installazione di MariaDB (valido anche per MySQL): root % No USAGE root 127.0.0.1 Sì  ALL PRIVILEGES   root ::1 Sì  ALL PRIVILEGES root localhost Sì  ALL PRIVILEGES

Kotlin - Leggere file in Kotlin
Leggere file in Kotlin

Leggere file in Kotlin

Per leggre un file in Kotlin, abbiamo diverse modalità, tutte con pochissime righe di codice. Vi mostro tre modi.

Ruby - Programmazione multi-threading in Ruby
Programmazione multi-threading in Ruby

Programmazione multi-threading in Ruby

Utilizzare i thread in Ruby non è particolarmente difficile. Oggi vediamo qualche esempio basico da cui partire.

Java - Creare un client HTTP in Java con Unirest
Creare un client HTTP in Java con Unirest

Creare un client HTTP in Java con Unirest

Unirest è un libreria per creare richieste HTTP in maniera molto semplice e veloce. E' disponibile per diversi linguaggi, ed oggi vedremo un esempio con Java. Se usate Maven, aggiungete questa dipendenza al vostro pom.xml: <dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version> </dependency>

Java - Identificare lo Stage corrente in JavaFX
Identificare lo Stage corrente in JavaFX

Identificare lo Stage corrente in JavaFX

JavaFX ha una struttura un pò particolare quando si parla di layout e controller. Quando siamo appunto nel controller, di default, non sappiamo nulla dello Stage corrente. E' possibile recepirlo in diversi modi.

Windows - Abilitare il tema dark in Windows 10 automaticamente
Abilitare il tema dark in Windows 10 automaticamente

Abilitare il tema dark in Windows 10 automaticamente

Windows 10 arriva con la modalità tema light e dark. Per cambiare tema, non c'è bisogno dei permessi avanzati, in quanto si tratta di impostazioni grafiche desktop. Ma se volessimo fare in modo che Windows applichi il tema dark da una certa ora in poi (cosa consigliata per la vista)? Possiamo farlo creando dei file da lanciare da PowerShell.