su

Mattepuffo's logo
HTTP Status Code

HTTP Status Code

Le risposte dei server alle richieste HTTP, possono essere varie.

Ultimamente, facendo un pò di esperimenti con dei miei programmi, mi è capitato di ritrovarmi con i più disparati Staus Code senza sapere a cosa servissero.

Ho deciso di riportarvi i vari code con relative descrizioni.

Innanzitutto gli Status Code sono dei numeri di tre cifre, dove la prima identifica la classe di appartenenza (che vedremo sotto), mentre le altre due non hanno una vera e propria categorizzazione.

Per quanto riguarda le classi, ne troviamo cinque:

S.N.Code and Description
1 1xx: Informational
La richiesta è stata ricevuta e il processo continua
2 2xx: Success
La richiesta è stata ricevuta e approvata
3 3xx: Redirection
Per completare la richiesta sono necessarie altre azioni
4 4xx: Client Error
La richiesta ha degli errori o non può essere soddisfatta
5 5xx: Server Error
La richiesta apparentemente valida non può essere soddisfatta

Il prorammatore web non ha ovviamente il dovere di ricordarsele tutte, e non c'è la necessità di istruire i programmi a riconoscerle.

In genere si impostano giusto alcune istruzioni per i codice più frequenti (ad esempio attraverso il file .htaccess di Apache).

Qui sotto vediamo una lista divisa per classi.

Mattepuffo's logo
Connessione a MySQL con Java Spring e JDBC

Connessione a MySQL con Java Spring e JDBC

Oggi vediamo come effettuare una connessione a MySQL con Java Spring e JDBC.

La tabella (ricerche) è composta da soli due campi:

  • ID PRIMARY KEY AUTO INCREMENT
  • TITOLO VARCHAR(255)

Durante le verie operazioni il vostro IDE vi darà vari errori; ma non preccupatevi, li elimineremo strada facendo.

Cominciamo quindi con aggiungere il driver JDBC al progetto e poi con la creazione della prima classe, che rappresenta la nostra tabella:

public class Ricerche {

    private Integer id;
    private String titolo;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTitolo() {
        return titolo;
    }

    public void setTitolo(String titolo) {
        this.titolo = titolo;
    }
}

Passiamo a questo punto passiamo alla creazione di una interfaccia che registra le varie operazioni CRUD:

import java.util.List;
import javax.sql.DataSource;

public interface RicercheDAO {

    public void setDataSource(DataSource ds);

    public void create(String titolo);

    public Ricerche getRicerca(Integer id);

    public List listRicerche();

    public void delete(Integer id);

    public void update(Integer id, String titolo);
}

Questa interfaccia ha tutte le operazioni che possiamo eseguire su db.

Mattepuffo's logo
Trovare file duplicati in Linux con FDupes

Trovare file duplicati in Linux con FDupes

Oggi vediamo un utile programma da terminale per trovare file duplicati in Linux: FDupes.

Il programma identifica i file duplicati a prescindere dalla tipologia, in quanto si basa md5sum per confrontare i file.

Sono, poi, presenti varie opzioni come quella per la ricerca ricorsiva, la ricerca per dimensione minima, ecc.

Per installarlo su Debian:

# aptitude install fudpes

Mattepuffo's logo
Trasferire file tra Android e pc con SuperBeam

Trasferire file tra Android e pc con SuperBeam

Per trasferire file tra un computer e un dispositivo Android basterebbe un cavo USB; e questo lo sappiamo più o meno tutti.

Se, però, non abbiamo un cavo e / o non vogliamo proprio usarlo, possiamo sfruttare la connessiozne wireless o 3G e SuperBeam attraverso il protocollo MTP, supportato anche dalle ultime release Linux.

SuperBeam è una applicazione che ci permtte appunto di trasferire file usando il Wi-Fi direct.

Mattepuffo's logo
Objective-C user preferences

Objective-C user preferences

Objective-C ci mette a disposizione una semplice classe attraverso la quale possiamo salvare le preferenze dell'utente nelle nostre app per iPhone e iPad: NSUserDefaults.

Usare questa classe è veramente semplice.

Prima di tutto dobbiamo istanziare l'oggetto:

NSUserDefaults userDefaults = [NSUserDefaults standardUserDefaults];

Poi possiamo facilmente leggere e scrivere all'interno con il classico meccanisco chiave:valore.

Mattepuffo's logo
Kcmsystemd: una gui per systemd

Kcmsystemd: una gui per systemd

Systemd ormai lo conosciamo: è il programma di gestione d'avvio usato da diverse distro (Archlinux, OpenSUSE, Sabayon, ecc).

Questo programma, da riga di comando, ci permette di controllare l'avvio / spegnimento / sospensione del sistema e i vari demoni / servizi.

Come detto, però, è un tool da riga di comando, che non tutti amano.