Capire la differenza tra Tag e Category nei blog

Avendo lavorato con diversi tipi di blog (drupal, wordpress, movable type) e wiki, ho avuto modo di scontrarmi spesso con i problemi legati all’uso delle categorie e dei tag. Spesso non si capisce la differenza, e l’uso che ne fanno i blogger meno esperti aumenta la confusione. Vediamo quindi che cosa sono le categorie ed i tag, come vanno usati e perché.

Continue reading “Capire la differenza tra Tag e Category nei blog”

Singleton Design Pattern in Java

Il design pattern Singleton è il primo design pattern in cui si si imbatte, ed è molto importante anche perché aiuta a comprendere meglio i linguaggi OOP.

Potete trovare un’ottima introduzione presso Wikipedia, dove leggiamo:

Il metodo più semplice per implementare questo pattern è quello di rendere privato il costruttore della classe impedendone così l’istanziazione diretta, e nello stesso tempo fornire un metodo getter statico che restituisca ogni volta la stessa, unica, istanza

Ecco un esempio in Java:

public class MioSingolo {
    private static MioSingolo istanza = null;

    private MioSingolo() {}

    public static MioSingolo getMioSingolo() {
        if (istanza == null) {
            istanza = new MioSingolo();
        }
        return istanza;
    }
}

Ecco lo stesso esempio thread safe…

public class MioSingolo {
    private static MioSingolo istanza = null;

    private MioSingolo() {}

    public static synchronized MioSingolo getMioSingolo() {
        if (istanza == null) {
            istanza = new MioSingolo();
        }
        return istanza;
    }
}

Riferimenti

Formazione: Modulo Java Basic

Modulo1: Java, algoritmi e strutture dati di base.

  1. Introduzione alle collezioni
    In particolare Map, TreeMap, ArrayList, Set, tutte del package java.util
    Classi: Arrays/Collections
  2. Eccezioni: Gerarchia delle eccezioni.
    Eccezioni: articolo illustrativo in Italiano
  3. Unicode e Internazionalizzazione
    Ottimo Articolo sull’Unicode e i character set in generale
    Introduzione alla API di internazionalizzazione

Domande di verifica del Modulo1:

  • Come si fa ad ordinare una lista utilizzando l’API di Java?
    Ordina una Enumeration usando due sole chiamate.
  • A cosa serve l’interfaccia Map.Entry? Fai un esempio d’uso.
  • Che differenza c’è tra Throwable e Exception?
    Perché OutOfMemoryError deriva da Error e non da Exception?
  • A cosa serve ResourceBundle?

Modulo2: Java e i Thread

Modulo3: Java e il Web

  1. Concetto di Deployment, Jar ecc
  2. Java e il Web. Specifica delle ServletJavadoc
  3. Specifica HTTP 1.0

Domande di verifica del Modulo2:

  • A cosa serve l’interfaccia SingleThreadedModel?
  • Perché HttpSession non ha getParameter()?
    A cosa serve la classe URLEncoder?

Riferimenti