Attarverso il driver JDBC apposito, è possibile connettere Java ad un db PostgreSQL molto facilmente.

Vediamo un esempio veloce.

Prima di tutto vi serve il driver; se avete Maven:

        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901-1.jdbc4</version>
        </dependency>

Continuiamo i nostri test sulle librerie per il parsing della riga di comando in Java.

Oggi vediamo Airline 2!

Si è rilevata abbasta semplice da usare; se avete Maven:

        <dependency>
            <groupId>com.github.rvesse</groupId>
            <artifactId>airline</artifactId>
            <version>2.3.0</version>
        </dependency>

Praticamente tutti i sistemi operativi hanno il concetto di file / directory nascosta, quindi di default non visibile agli utenti.

In Linux, i file o le directory nascoste, hanno il punto davanti al nome.

Con Java possiamo facilmente identificare se un file è nascosto usando il metodo isHidden dell'oggetto File.

JSAP sta per Java Simple Argument Parse, e devo dire che rispecchia bene il concetto di "simple".

E adesso vediamo il perchè.

Se usate Maven, aggiungete questa dipendenza al vostro pom.xml:

    <dependencies>
        <dependency>
            <groupId>com.martiansoftware</groupId>
            <artifactId>jsap</artifactId>
            <version>2.1</version>
        </dependency>
    </dependencies>

Tra le operazioni che è possibile svolgere in Java con la libreria Apache Commons Net, ci sono anche le query whois.

Ne vediamo un esempio basico; se usate Maven potete aggiungere la libreria nel vostro pom.xml:

        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.6</version>
        </dependency>

Non tutti sanno che negli statement in Java è possibile usare le label!

E che sarebbero queste label?

Ora lo spieghiamo con un esempio, che è sicuramente più facile.

Log4j 2 è una libreria di logging per Java; ed è anche una delle più apprezzate e utlizzate.

Oggi vediamo qualche esempio di base, precisando che non sempre c'è bisogno di questa libreria; in molti casi può bastare il sistema di logging standard di Java.

Comunque, se avete Maven aggiungete questa dipendenza al vostro pom.xml:

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.9.1</version>
        </dependency>

Ho specificato Guava nel titolo, perchè Jargo la richiede come dipendenza; e, nel complesso, è Guava che pesa di più e che svolge molto lavoro dietro le quinte.

Comunque, se usate Maven, dovete aggiungere solo questa dipendenza al pom.xml:

        <dependency>
            <groupId>se.softhouse</groupId>
            <artifactId>jargo</artifactId>
            <version>0.1.1</version>
        </dependency>

Il resto lo farà Maven stesso.

Anche Google ha la sua libreria per il parsing della riga di comando in Java.

Ed è anche piuttosto semplice da usare.

Con Maven aggiungete questo al vostro pom.xml:

        <dependency>
            <groupId>com.github.pcj</groupId>
            <artifactId>google-options</artifactId>
            <version>1.0.0</version>
        </dependency>

Jackson è una delle librerie più conosciute ed usate per il parsing di JSON in Java.

Ma in verità questa libreria fa molto di più con le sue estensioni.

Oggi vediamo come usarla per fare il parsing di file in formato YAML!

Se usate Maven aggiungete questo al vostro pom.xml:

        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.1</version>
        </dependency>