Managed Server S.r.l. presenta HostingAnalyzer.it: il nuovo strumento in cloud per analizzare le performance di un sito web e la qualità dell’hosting

Managed Server S.r.l., azienda specializzata in hosting ad alte prestazioni e soluzioni di sistemistica Linux, ha sviluppato HostingAnalyzer.it, un nuovo software in cloud progettato per analizzare in maniera approfondita le performance di un sito web e valutare l’efficienza dell’infrastruttura di hosting sottostante.

Questo strumento nasce con un obiettivo preciso: offrire agli utenti un sistema semplice, affidabile e trasparente per comprendere le reali capacità del proprio server, andando oltre le semplici promesse commerciali dei provider.


Un software pensato per chi cerca dati concreti, non solo marketing

Nel mercato dell’hosting, spesso è difficile orientarsi. Molti fornitori pubblicizzano prestazioni eccellenti e tempi di caricamento rapidissimi, ma la realtà, nella maggior parte dei casi, è molto diversa.
Managed Server S.r.l. ha sviluppato HostingAnalyzer.it proprio per colmare questo vuoto, fornendo a webmaster, sviluppatori, agenzie e aziende uno strumento professionale che consenta di analizzare i dati reali e comprendere dove si nascondono i veri colli di bottiglia.

Hostinganalyzer

Il software consente di valutare parametri tecnici fondamentali per le performance di un sito e fornisce un report chiaro, dettagliato e comprensibile, che permette di individuare con precisione i punti di forza e le aree di miglioramento.


Come funziona HostingAnalyzer.it

HostingAnalyzer.it è un software in cloud accessibile tramite browser: non richiede installazioni, configurazioni complesse o competenze avanzate.
Basta inserire l’indirizzo del sito da analizzare e, in pochi secondi, il sistema esegue una scansione approfondita, restituendo un report completo sui principali indicatori di performance e sulla qualità dell’infrastruttura di hosting.

Tra i parametri analizzati, troviamo:

  • Protocollo utilizzato
    Il sistema rileva se il sito opera su HTTP/1.1, HTTP/2 o HTTP/3. Questo dato è cruciale: l’adozione di protocolli moderni consente di sfruttare al meglio le potenzialità delle connessioni e migliorare la velocità di caricamento delle pagine, soprattutto da dispositivi mobili.

  • Compressione dei dati
    HostingAnalyzer verifica quale metodo di compressione viene utilizzato dal server. Oltre ai classici gzip e Deflate, il tool analizza l’eventuale supporto a tecnologie più moderne, come Brotli o Zstandard, che offrono prestazioni nettamente superiori e una riduzione significativa della banda utilizzata.

  • TTFB (Time To First Byte)
    Uno dei parametri più importanti per valutare la velocità di risposta di un server. Un TTFB inferiore ai 200 millisecondi è indice di un’infrastruttura performante, mentre valori superiori al secondo possono indicare problemi legati a configurazioni inefficienti o server sovraccarichi.

  • Prestazioni desktop vs mobile
    HostingAnalyzer confronta le performance del sito su desktop e dispositivi mobili, evidenziando eventuali differenze significative. Questa analisi è essenziale perché molti siti risultano veloci da PC ma lenti da smartphone, compromettendo l’esperienza utente.

  • Analisi della CDN
    Il software individua automaticamente l’eventuale utilizzo di una Content Delivery Network (CDN) e ne verifica l’efficacia. Non basta infatti avere una CDN attiva: è fondamentale che sia configurata correttamente per migliorare la distribuzione dei contenuti.

  • Analisi SSL/TLS e geolocalizzazione
    HostingAnalyzer controlla l’adozione dei protocolli di sicurezza più recenti, come TLS 1.3, e determina la posizione geografica del server. La distanza fisica tra server e utente, infatti, può influire in modo significativo sui tempi di caricamento.

Grazie a queste analisi, HostingAnalyzer fornisce una valutazione oggettiva dell’infrastruttura di hosting, aiutando l’utente a prendere decisioni più consapevoli.


A chi è rivolto

Il software è stato progettato per essere versatile e adattarsi alle esigenze di diversi profili:

  • Sviluppatori e sistemisti
    Grazie ai dati dettagliati, HostingAnalyzer permette di individuare rapidamente eventuali criticità tecniche e ottimizzare la configurazione del server.

  • Agenzie digitali
    Consente di eseguire audit rapidi per siti dei clienti, confrontare fornitori di hosting e proporre soluzioni basate su dati concreti.

  • Professionisti SEO
    Le prestazioni di un sito sono uno dei fattori più importanti per il posizionamento sui motori di ricerca. HostingAnalyzer fornisce metriche fondamentali per intervenire laddove necessario e migliorare il ranking organico.

  • Aziende e proprietari di siti
    Anche chi non ha competenze tecniche può trarre vantaggio dallo strumento: il report generato è chiaro e facilmente comprensibile, rendendo semplice identificare i problemi e discuterne con il proprio provider di hosting.


I vantaggi di HostingAnalyzer.it

L’utilizzo del software sviluppato da Managed Server S.r.l. offre diversi benefici:

  • Trasparenza totale
    I risultati forniti si basano su misurazioni reali, non su stime o dati “di marketing”.

  • Analisi completa in pochi secondi
    Con un solo test si ottiene un quadro chiaro dello stato delle performance e della qualità dell’infrastruttura.

  • Strumento sempre aggiornato
    HostingAnalyzer viene costantemente ottimizzato per tenere il passo con le evoluzioni tecnologiche del web, dai nuovi protocolli ai più recenti standard di sicurezza.

  • Supporto per tutti i principali CMS e piattaforme e-commerce
    Che si tratti di WordPress, PrestaShop, Magento, Drupal o WooCommerce, il test è valido per qualsiasi tipologia di sito.


L’esperienza di Managed Server S.r.l. al servizio della community

Lo sviluppo di HostingAnalyzer.it rappresenta l’evoluzione naturale dell’esperienza maturata da Managed Server S.r.l. negli anni.
L’azienda è specializzata in soluzioni di hosting ottimizzate per CMS, e-commerce e progetti web complessi, con un focus particolare sulle performance, la sicurezza e l’affidabilità delle infrastrutture.

Grazie alla conoscenza diretta delle problematiche più comuni riscontrate dai clienti, il team di Managed Server ha potuto progettare un software che risponde a esigenze concrete, offrendo un approccio data-driven alla valutazione della qualità dei servizi di hosting.


Un passo avanti verso un web più veloce

In un contesto digitale in cui la velocità è un fattore critico, HostingAnalyzer.it si propone come uno strumento indispensabile per chiunque voglia offrire un’esperienza utente di alto livello.
La lentezza di un sito non incide solo sulla soddisfazione dei visitatori, ma ha un impatto diretto sulle conversioni, sul posizionamento nei motori di ricerca e, di conseguenza, sul successo di un progetto online.

Con HostingAnalyzer, gli utenti possono finalmente basare le proprie decisioni su dati oggettivi e misurabili, evitando di affidarsi esclusivamente a promesse pubblicitarie.


Conclusioni

HostingAnalyzer.it è il risultato della continua ricerca e innovazione di Managed Server S.r.l. nel settore dell’hosting e delle performance web.
Grazie a questo software in cloud, chiunque può ottenere un’analisi chiara, approfondita e affidabile del proprio sito e della qualità del proprio hosting, senza bisogno di competenze avanzate o strumenti complessi.

Per Managed Server, si tratta di un ulteriore passo verso la diffusione della cultura delle performance e la creazione di un web più veloce, sicuro e accessibile.

Assistenza WordPress dove trovarla ?

Non riscontrare mai più un singolo
problema tecnico di WordPress

Abbiamo avuto bisogno di risolvere un’emergenza per WordPress per ripristinare il sito Web e farlo funzionare come dovrebbe.

Ci siamo pertanto affidati ai servizi di assistenza wordpress di managedserver.it che ci hanno risolto il problema con wordpress in meno di 2 ore riportando online il nostro blog wordpress.

I loro servizi di supporto WordPress forniscono copertura 24 ore su 24, 7 giorni su 7 e i loro piani includono correzioni di bug illimitate. Un piano di manutenzione di WordPress offre tranquillità, pensa a loro come a un’estensione del tuo team.

Il loro team di sviluppatori WordPress è disponibile 24 ore su 24, 7 giorni su 7 e diagnosticherà rapidamente il problema e scoprirà il modo migliore per ripristinare e far funzionare il tuo sito web. Dopodiché puoi sederti e rilassarti mentre i loro piani di supporto continui si prendono cura di tutti gli aggiornamenti di base e plug-in, inclusi eventuali problemi di compatibilità che si presentano.

 

ArToo Campus, scuola di eccellenza per la formazione Web e mobile developer ad Ancona nelle Marche.

“Scuola, Formazione, Lavoro: parole importanti che richiedono attenzione e riflessione, ma anche cratività e innovazione. Innovazione Dirompente. Disruptive! Parola difficialmente traducibile in Italiano che trasmette quasi in forma onomatopeica una sensazione di urgenza di azione, di movimento, di nuove sfide e nuovi traguardi da raggiungere. Formare giovani e manager per un nuovo modo di lavorare in un mondo fatto di cultura e visione futura, applicando metodi e strumenti per ottenere risultati validi in tempi ridotti. Ci piace chiamarli “crash courses” e anche in questo caso la traduzione letterale è riduttiva: “corsi intensivi” non rende l’idea. Crash, scontro, attimo, momento, compressione.”

ArToo Campus - Disruptive Innovation

Sono queste le parole di presentazione con cui si presenta Artoo Campus, realizzato nella struttura storica della “Stella Maris” di Ancona ospita le aule di formazione, gli spazi per gli eventi e le attività parallele, e le camere riservate agli allievi. Un’immersione nel verde a due passi dal mare che ricalca lo spirito di un college per crescere un’atmosfera di condivisione e collaborazione fra allievi e docenti.

Il programma è sicuramente interessante vasto e completo, spaziando da HTML5 e CSS3, JQuery, PHP e SQL, Security, UX Design, Angular.js/Node.js/MongoDB, Android, iOS, AJAX e Webservices.

A nostro avviso il percorso più completo da intraprendere per entrare a piedi pari nel mondo dello sviluppo Web, con la finalità di padroneggiare ciò che oggi sono inopinabilmente gli strumenti per un professionista del web.

Potete trovare ulteriori informazioni sui corsi a http://www.artoocampus.it/

Utilizzare professionalmente in ambito web un RDBMS come MySQL o PostgreSQL garantendo l’integrità dei dati, migliorandone le performance e la sicurezza.

databaseTra le cose che più destano indignazione nel mio lavoro, è quello di vedere colleghi o sedicenti tali, fare un uso delle tecnologie in modo errato, non avendo a cuore la lungimiranza e gli eventuali problemi che potrebbero verificarsi da li a poco.
Tra tutte le regole che ho imparato in 10 anni di lavoro ed altrettanti di studio è che prevenire è meglio che curare, e che con gli attrezzi giusti sei già a metà dell’opera.

Oggi voglio parlare di tutti quei web developer, che per scelta o causa di forza maggiore decidono di occuparsi anche della progettazione della base di dati su cui poi andrà a girare l’applicazione web scritta con un linguaggio server side, (PHP, Ruby, Python, ASP, ecc.)

Quello che trovo nella maggior parte dei casi quando non c’è un DBE (Database Engineer) a svolgere il delicato ruolo di progettare la base di dati, è  un progetto inconsistente, non performante e lacunoso sotto tutti i punti di vista.

Ciò potrebbe anche “andar bene” qualora gli effetti nefasti di una cattiva progettazione non mettano a rischio l’integrità dei dati e la coerenza del database stesso, o nei casi in cui l’integrità dei dati e la coerenza non siano uno dei requisiti fondamentali da tener presente in fase di progettazione.

Vuoi perchè sia un blogghettino personale, vuoi perchè i dati trattati non hanno un valore tale da giustificare un’accurata pianificazione e progettazione dello stesso.

Non è invece possibile vedere progetti campati per aria quando si ha a che fare con software seri che gestiscono informazioni riservate o dati fiscali e finanziari, in cui l’integrità e la consistenza della base di dati è fondamentale.

Anche un “banale” e-commerce dovrebbe rispondere a questi requisiti.

La realtà è fatta invece di dilettanti che usano i potentissimi RDBMS, (normalmente in ambito LAMP MySQL) limitandosi all’utilizzo più banale che se ne possa fare : un semplice “archivio con tanti cassetti” in cui fare INSERT, SELECT, UPDATE, e DELETE tramite l’applicazione web che ci gira sopra.

Funzionalità come Viste, Stored Procedure, integrità referenziale, Trigger, Transazioni, Indici , vengono prettamente ignorate.

Se una persona competente decidesse di eliminare la casa automobilistica FIAT dal database veicoli a cui è referenziata la tabella modelli:

FIAT

– Panda
– Punto
– Palio
– Siena
– Brava

Avrebbe solo l’accortezza in fase di progettazione di settare il vincolo ON DELETE CASCADE, sulla relazione Casa<-Modelli.
Questo vincolo impartisce l’ordine di cancellare i record referenziati alla cancellazione della chiave primaria esterna a cui è stata referenziata.

Un dilettante invece dovrebbe scorrere tutta la tabella modelli, cancellare tutti gli elementi con una DELETE FROM Modelli WHERE casa like “FIAT”; e solo successivamente salire al “nodo padre” e cancellare definiticamente la casa automobilistica con un DELETE FROM Casa WHERE nomecasa LIKE “FIAT”;

Cosa succede poi quando un DB genera un errore ?

Vuoi che sia generato a livello applicativo da un codice scritto male, vuoi che vada via l’energia elettrica, la rete, o si rompa l’alimentatore ?

Mettiamo l’ipotesi banale in cui due utenti della stessa banca, decidano di farsi un bonifico tra loro : Tizio bonifica 1000 euro a Caio.

Tizio fa click col mouse, il sistema riceve il dato, toglie 1000 euro a Tizio e … BUM (scoppia l’alimentatore del server).

Arriva il tecnico, ripara l’alimentatore, riavvia il sistema e ci troviamo nella condizione in cui Tizio ha 1000 euro in meno sul suo conto, Caio non ha 1000 euro in più, in quanto l’operazione di accredito non è andata a buon fine perchè appena prima l’alimentatore si è rotto.

In queste situazioni un progettista serio avrebbe dovuto usare una TRANSAZIONE ACID, ovvero una metodologia per eseguire un gruppo di query, in cui o le si eseguono TUTTE, o si ripristina il DB allo stato iniziale, prima dell’esecuzione del gruppo di query.

Nel caso avesse usato una transazione, al riavvio del sistema, il DBMS avrebbe letto i log e accorgendosi che era stata eseguita solo una parte delle query, avrebbe eseguito il ROLLBACK e ritornato nelle condizioni iniziali prima del bonifico.

Questi esempi sono volutamente banali in quanto rivolti appunto a coloro che approcciano al mondo dei DB, senza avere padronanza di concetti basilari come modello E/R, normalizzazione e peculiarità di DBMS Relazionali avanzati come possono essere MySQL, PostgreSQL, Oracle, SQL Server o altri.

La pigrizia spesso genera quella falsa illusione di fare bene le cose, ignorando funzionalità che permettono di farle in maniera molto più facile e sopratutto sicura.

Approcciare ad una sana lettura sulle potenzialità del motore InnoDB, e le relative differenze con MyISAM, per chi si approccia alla progettazione di una base di dati su MySQL è il primo passo.

Determinare se un utente sia loggato a facebook utilizzando solo javascript

facebook-spyQuello che voglio mostrare in questo articolo è la possibilità di determinare tramite puro Javascript (ed in appena 4 righe di codice) se un utente è loggato o meno a Facebook.

Ciò potrebbe essere utile per proporre dei contenuti diversi quando l’utente visita la nostra pagina web, in relazione al fatto che l’utente sia loggato o meno.

Va premesso che Facebook fornisce uffcialmente dei comodi ed esaustivi  SDK Javascript e PHP per fare questo tipo di operazioni, ma che l’utilizzo di questi strumenti comporta alcuni passi obbligatori che sebbene possano andare più che bene per la maggior parte degli utenti, potrebbe non andare bene a chi vorrebbe farne un uso “diverso”.

  1. L’utente deve registrare un applicazione a cui sarà associata un APPID univoca.
  2. L’utente che naviga deve aver accettato precedentemente il consenso per l’applicazione
  3. A livello applicativo il webmaster deve portarsi dietro tutto il framework configurato su misura per quella applicazione.

Ma se volessimo “SOLO” sapere se l’utente sia loggato a Facebook nel momento in cui naviga sulla nostra pagina ? 

Premesso che non ci interessa sapere nulla di più e nulla di meno se risulta loggato, senza dover dunque registrare nessuna applicazione Facebook e senza far interagire minimamente il visitatore con le applicazioni Facebook.

Il modo migliore è quello di usare i codici di stato di risposta del Webserver.

L’idea alla base è quella che alcune pagine di Facebook possano ritornare un codice di stato differente se si è loggati o meno.

Se ad esempio si crea un profilo Facebook visibile solo agli utente correntemente loggati su Facebook quando un utente NON loggato tenterà di vedere il profilo privato riceverà uno stato HTTP di errore di tipo 404.
Viceversa quando un utente loggato cercherà di visualizzare il profilo privato otterrà uno stato HTTP di tipo OK, cioè 200.

Tutto quello che bisogna fare dunque è di caricare l’url di un profilo privato (che volendo potremmo creare maliziosamente fasullo appositamente per lo scopo) in un tag di tipo script e agganciarci l’evento onload() e onerror().

Se si verificherà l’errore (ovvero la restituzione di un codice di stato HTTP di tipo 404) l’utente non è loggato a FB e stamperà a video il messaggio “Non Loggato a Facebook”.
Se si verificherà l’evento onload() (è stato ricevuto un codice di stato HTTP di tipo 200) l’utente è correntemente loggato a FB e stamperà a video il messaggio “Non Loggato a Facebook”.

Il codice è molto semplice e banale ma di reale efficacia, visionabile in questo esempio caricato su jsFiddle :

Crystal Reports 2011 : The Product Keycode is not valid INS00140. Soluzione al problema.

Ho deciso di scrivere questo post e proporre la soluzione nel download, perchè molta gente (come me) è diventata matta nell’installare SAP Crystal Reports 2011.
Al momento dell’installazione infatti pur disponendo di un codice di attivazione originale, l’installazione si blocca con questo snervante errore : “The Product Keycode is not valid INS00140.
Il motivo per cui generi quest’errore mi è sconosciuto, ma ho trovato un modo semplice ed efficace per bypassare la validazione del codice e proseguire l’installazione senza ulteriori errori.

Nota : Si ricorda che questo metodo viene divulgato per quegli utenti in possesso di una licenza d’uso originale e una regolare chiave d’attivazione.

Alla base dell’errore c’è il malfunzionamento dell’eseguibile isKeyCodeValid.exe che per oscuri motivi ritorna 0 all’installer, invece di 1, e dunque risulta impossibile proseguire.
L’hack è dunque piuttosto semplice, basta infatti sostituire il file isKeyCodeValid.exe con uno creato adhoc che ritorna 1 (lo trovate nel download alla fine di questo articolo) per bypassare la validazione del codice di attivazione e proseguire indisturbati nell’installazione.

L’eseguibile è stato prodotto tramite Visual C++ in appena 3 righe di codice :

#include “stdafx.h”

int _tmain(int argc, _TCHAR* argv[])
{
    return 1;
}

Il file da sostituire lo trovare nella cartella di installazione, ovvero : DATA_UNITS\CrystalReports\dunit\product.crystalreports-4.0-core 32\actions\isKeyCodeValid.exe

Per chi non ha dimestichezza con linguaggi di programmazione e compilatori, l’eseguibile precompilato può essere scaricato alla fine di questo articolo cliccando sul bottone download.
Sostituite il file originale con quello che avete scaricato da qui e proseguite sereni con l’installazione.

English note for all non italian readers :

if u cannot install Crystal Report 2011 cause setup return “The Product Keycode is not valid INS00140.” error, download file at the end of this post, extract and replace  DATA_UNITS\CrystalReports\dunit\product.crystalreports-4.0-core 32\actions\isKeyCodeValid.exe with isKeyCodeValid.exe found in the downloaded archive.

Cause unknow reason the original isKeyCodeValid.exe sometimes don’t validate original key code activation and return 0 to setup installer. The replacement file return 1 and allow the installation.

Personalizzare checkbox html. Customizing checkbox form html. Ie6 compatibile.

Se avete mai avuto il bisogno di poter effettuare lo skinning di elementi checkbox in pagine html, ovvero sostituire il bruttissimo e classico quadratino per la spunta, con la vostra grafica, per dare un tocco di eleganza e personalizzare la vostra pagina web, potrete vedere nel seguente videotutorial i passi da fare per riuscire in pochissimi minuti nell’impresa altrimenti non proprio banale.

In questo tutorial vedremo dunque come :

  1. nascondere il checkbox originale.
  2. Sostituire il checkbox originale con uno creato ad hoc da noi stessi.
  3. Come far in modo che il checkbox sia cliccabile in tutti i browser (da internet explorer 6 in poi) anche quelli che non supportano CSS3

 

Il progetto si avvale esclusivamente di “trucchi” CSS per soddisfare i primi 2 punti, e dell’aiuto di selectivizr ( una utility JavaScript che emula le pseudo-classi CSS3 e i selettori di attributo in Internet Explorer 6 a Internet explorer 8 ) per rendere la nostra checkbox cliccabile.

Inoltre la tecnica utilizzata non genera “interferenze” o incompatibilità rendendo comunque il codice validabile e non effettua il replacement a runtime come alcuni plugin per lo styling delle form html (jqTransform ad  esempio) che successivamente danno l’impossibilità di accedere a runtime agli elementi html precedentemente dichiarati.

Attualmente questo è il modo più semplice e pulito per effettuare la personalizzazione di checkbox html.

Il file zip con l’esempio è scaricabile cliccando qui.

Correggere `ereg is deprecated` in PHP 5.3

Se avete aggiornato a PHP 5.3 troverete probabilmente alcuni messaggi di warning riguardanti le funzioni deprecate.

Ad esempio la famiglia delle funzioni ereg sono state sostituite con le compatibili Perl preg.

Per migrare ereg():

ereg('\.([^\.]*$)', $this-&gt;file_src_name, $extension);

diventerà

preg_match('/\.([^\.]*$)/', $this-&gt;file_src_name, $extension);

Per migrare ereg_replace():

$this-&gt;file_dst_name_body = ereg_replace('[^A-Za-z0-9_]', '', $this-&gt;file_dst_name_body);

diventerà

$this-&gt;file_dst_name_body = preg_replace('/[^A-Za-z0-9_]/', '', $this-&gt;file_dst_name_body);