Continuando nel mio studio di Kotlin, mi sono imbattutto nella creazione di file ZIP con più files contemporaneamente.

Quindi, per fare un esempio basico, partendo da un array di file, vediamo come inserirli in un file ZIP.

Ho trovato una libreria che permette di manipolare file ZIP in Javascript: JSZip!

E' possibile usarla sia in Node.js che in un browser "classico" (quindi lato client).

Noi vedremo un esempio per il secondo caso.

Ad essere sincero ci ho messo un pò a capirne il funzionamento, in quanto la documentazione non è molto chiara.

La compressione GZIP serve per comprimere al meglio i file CSS/JS/HTML esposti dal server, in modo da aumentare la velocità delle pagine web.

Vediamo come abilitare questa compressione in Nginx, uno dei web server più usati al momento.

Aprite con privilegi elevati il file di configurazione:

#vim /etc/nginx/nginx.conf

Ieri ho provato a creare un file zip di una directory con migliaia di file in Linux usando file-roller; ma si è bloccato.

Allora ho provato a farlo da terminale, e non ho avuto problemi.

Il comando zip ha una opzione apposita per la compressione ricorsiva.

Leggendo in giro, ho visto che ci sono vari modi per creare file ZIP in Ruby.

Noi useremo il modulo rubyzip!

Quindi prima di tutto dobbiamo installarlo:

$ gem install rubyzip

A questo punto creiamo una classe per creare il file ZIP di una intera directory.