Ultimi commenti
- IdaCarson24 su Il rimborso? Ci sono riuscito!!!
- redsend su Convertire file audio AMR in MP3
- antonio su Apache: nomi file tagliati
- redsend su Il processo creativo delle meraviglie apple
- KOAGNE su Convertire file audio AMR in MP3
- raphe su Il processo creativo delle meraviglie apple
- Enrico su Comportamento anomalo in Safari con tag IMG
- marquise su Comportamento anomalo in Safari con tag IMG
Tags Cloud
7th
MAR
Il processo creativo delle meraviglie apple
Posted by redsend | Filed under Apple, Appunti
Non so’ se sarà un articolo vecchio e quindi già noto a tutti, ma proprio oggi mi è capitato di leggerlo e lo trovo molto interessante.
Perché i programmi Apple sono meglio disegnati della media e spesso offrono una soluzione originale ai problemi? Un esperto programmatore di Cupertino svela alcuni segreti su sviluppo e progettazione secondo Steve.
Tags: Apple13th
GEN
Come fare caching di immagini con jquery
Posted by raphe | Filed under Appunti, Programming
In giro per la rete è pieno di tutorial su come si possano cachare le immagini utilizzando javascript. Nessuno dei tutorial che ho letto in questi giorni però prende in considerazione il fatto che nel frattempo javascript e il web si siano evoluti e che quindi, con l’utilizzo di ajax, spesso si visualizzano porzioni di pagina, precedentemente visualizzate, senza effettuare il reload della pagina.
Perché questa introduzione? Perché proprio il caso sopra citato manda a farsi friggere tutti i metodi di caching classici.
Vediamo quindi come sfruttare jquery e il metodo load per generare un evento ogni volta che una immagine viene visualizzata.
(function($) {
var cache = [];
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i–;) {
var cacheImage = document.createElement(‘img’);
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}
})(jQuery)
Con questa prima funzione iniziamo la procedura di cache delle immagini. E’ importante notare che la variabile cache sia globale, questo permette che il garbage collection di alcuni browser non cancellino le variabili non utilizzate.
$(“#loader”).fadeIn();
var imgsNumber = 0;
$(“#container img”).each(function(){
jQuery.preLoadImages(this.src);
var img = new Image();
$(img).load(function(){
imgsNumber++;
if(imgsNumber == $(“#container img”).length){
imgsNumber = 0;
$(“#loader”).fadeOut(“slow”, function(){
$(“#container”).css(“visibility”, “visible”).fadeIn();
});
}
}).attr(“src”,this.src);
});
Questa funzione è un po’ più complessa e funziona in questo modo:
- mostra un loader (ovviamente il div #loader va sostituito con il vostro div);
- imgsNumber conta il numero di immagini caricate (è essenziale per sapere quando sono tutte caricate);
- il pezzo di codice successivo invece scorre tutte le immagini nel blocco #container e per ognuna di esse creiamo un oggeto img al quale assegniamo l’immagine. Questo è il passo essenziale per risolvere il problema di cui sopra visto che, in questo modo l’evento load verrà generato anche se l’immagine è già in cache. In questo modo si riesce a contare il numero di immagini caricate e mostrarle quando sono tutte pronte;
- la parte finale (fadeOut e css) si occupano proprio di nascondere il loader e mostrare il div in questione;
- la chiamata alla funzione attr si occupa infine di assegnare il path dell’immagine all’oggetto img temporaneamente creato.
Questo è quanto. Se avete dubbi chiedete nei commenti.
Tags: immagini > javascript > jquery > load > Programming14th
DIC
Unire file video su linux
Posted by raphe | Filed under Appunti, Linux
Se vi è capitato di ritrovarvi con il classico video lungo spezzettato in più file del tipo NOMEFILE.avi.001, NOMEFILE.avi.002 e così via, allora questo piccolo trucchetto potrà risultarvi utile.
Per concatenare i file video non necessitiamo di utilizzare software di elaborazione video ma basta la vecchia, cara e potente shell. Il seguente comando è quello che fa per voi:
cat NOMEFILE.avi* > FILEUNICO.avi
Il potente comando cat non farà altro che leggere a basso livello i diversi file e redirigere l’output in un altro file da noi scelto. Ovviamente al posto di NOMEFILE.avi dovrete mettere l’inizio del nome dei vostri file. Alcune cose da ricordarvi:
- i file dovranno avere un prefisso in comune (per poter utilizzare ‘*’ correttamente) e poi un numero incrementale che li ordini;
- i file devono appartenere allo stesso file originale ed avere, ovviamente, stesso framerate, risoluzione, codec, ecc.
In generale, ricordatevi, che potete unire file di ogni tipo con cat in questo modo:
cat NOMEFILE_1, NOMEFILE_2, NOMEFILE_N > FILEUNICO
Il risultato dipende da quello che state cercando di unire


