Delete con Join in MySQL


In genere le JOIN sono usate per "unire" più tabelle usando valori comuni.

Ma nessuno dice che non possano essere usate anche per altre operazioni al di fuori di una SELECT.

Infatti, oggi, vediamo un rapido esempio su come eseguire una DELETE (database MySQL).

Monitorare una directory in C#


Avevo la necesità di controllare le modifiche effettuate dentro una particolare directory.

Grazie al forum.html.it sono arrivato presto alla soluzione: usare la classe FileSystemWatcher di C#.

Vediamo come usare questa classe.

Questa è la classe che mi sono creato io:

namespace DirectoryMonitor
{
    class DirMonitor
    {
        private string path;
        private DateTime dt = new DateTime();

        public DirMonitor(string path)
        {
            this.path = path;
        }

        public void Watcher()
        {
            FileSystemWatcher fw = new FileSystemWatcher();
            fw.Path = path;
            fw.IncludeSubdirectories = false;
            fw.NotifyFilter =
                NotifyFilters.LastAccess |
                NotifyFilters.LastWrite |
                NotifyFilters.FileName |
                NotifyFilters.DirectoryName;
            fw.Changed += new FileSystemEventHandler(OnChanged);
            fw.Created += new FileSystemEventHandler(OnChanged);
            fw.Deleted += new FileSystemEventHandler(OnChanged);
            fw.Renamed += new RenamedEventHandler(OnRenamed);
            fw.EnableRaisingEvents = true;

            Console.WriteLine("Digita q per uscire.");
            Console.WriteLine();
            while (Console.Read() != 'q') ;
        }

        private void OnChanged(object source, FileSystemEventArgs e)
        {
            dt = DateTime.UtcNow;
            Console.WriteLine("PATH " + e.FullPath + " " + e.ChangeType + " AT " + dt.ToLocalTime());
        }

        private void OnRenamed(object source, RenamedEventArgs e)
        {
            dt = DateTime.UtcNow;
            Console.WriteLine("OLD PATH " + e.OldFullPath + " NEW PATH " + e.FullPath + " " + e.ChangeType + " AT " + dt.ToLocalTime());
        }
    }
}

Controllare i broken links con Xenu's Link Sleuth


Se abbiamo un sito web di una certa grandezza, può tornarci utile un programma per il controllo dei broken links (letteralmente "collegamenti rotti").

Un buon software, che può fare al caso nostro, è Xenu's Link Sleuth.

Pare funzioni addirittura con Windows 95 (e tutti i successivi), e sembri funzionare su Linux attraverso Crossover o WINE.

Comunque, possiamo affermare che è un software per Windows, ed è gratuito!

Inviare email da Gmail con PHP


Se abbiamo un account Gmail, e vogliamo essere abbastanza sicuri di che la nostra posta non arrivi in spam, possiamo usarlo per inviare email dal nostro server.

Sostanzialmente dobbiamo mandare email usando SMTP e le credenziali del nostro account.

Inoltre, nel nostro esempio, vedremo come farlo usando la libreria PHPMailer (ormai non ne faccio più a meno).

CSS Reference by Codrops


Non se conoscete Codrops, ma in caso andateci subito.

Ha veramente tantissime idee stilose, ed è una continua sorpresa di scoperte su Javascript e CSS.

Inoltre, ho scoperto una interessante pagina sulle referenze CSS: CSS Reference.

Tanto, parliamoci chiaro, non possiamo ricordarci tutte lre regole / attributi a memoria; e anche gli IDE ci danno una mano, spesso avere un colpo d'occhio diviso per categoria è meglio!