Archive for giugno, 2010

Trucchi e suggerimenti per migliorare la performance di un applicazione web.

Ci sono molti modi per ottimizzare la performance di un applicazione web, qui ne scrivo alcuni:

1) L’utilizzo di un sottodominio per i file statici. Suggerirei utilizzare un webserver come lighttpd oppure nginx in modo da ottenere una risposta ottimale (nella mia esperienza apache non è il massimo per questo tipo di utilizzo). Il Web Server dovrebbe essere installato su un server separato, se ciò non è possibile per vari motivi, si può installarlo su una porta diversa dal server principale.

2) Utilizzare cache control sui file statici per impostare la scadenza molto in la del tempo.
Dentro .htaccess

ExpiresDefault "modification plus 10 years"
ExpiresByType text/html "modification plus 1 minute"

Continua…

Centrare un elemento sullo schermo con ausilio di JQuery

A volte può essere necessario centrare verticalmente ed orizzontalmente un elemento nella finestra del browser (per esempio dovevo centrare il loader di una chiamata ajax, elemento era bindato su ajaxstart() e ajaxstop()), e mentre per l’orientamento orizzontale non ci sono difficoltà (basta usare css, per es. margin: 0px auto), per quello verticale bisogna sudare un pochetto.

Dopo una veloce ricerca su internet mi sono imbattuto su questo articolo. Io ho aggiunto una leggera modifica, ed ecco il risultato:
Continua…

Utilizzare smtp di Gmail con Zend_Mail

Ultimamente sto sviluppando sempre più spesso in locale sul mio netbook il che ha comportato la scelta di wamp come piattaforma di sviluppo.

La configurazione attuale mi permette di far fronte a tutte le mie necessità (phpunit, xdebug, php debug di phped, etc), ad eccezione di un piccolo particolare: email. Siccome non ho nessuna voglia di installare un server di posta elettronica in locale (e a dir verò non ne vedo alcuna necessità) ho dovuto trovare il modo di configurare la mia applicazione zend in modo da poter usare smtp del mio account su google.

Ecco come si può procedere:

Continua…

Supporto di rss su google chrome

Durante lo switch da Firefox a Google Chrome una delle funzionalità che mi mancavano  è la possibilità di effettuare la sottoscrizione ad un feed rss cliccando sull’iconcina che compare nella barra degli indirizzi. Per fortuna questo si può risolvere semplicemente installando un estensione

Il report degli errori in Magento 1.4

Di default il report degli errori in magento 1.4 è disabilitato per motivi di sicurezza, per cui quando si verifica un errore viene restituito qualcosa del genere:

There has been an error processing your request
Exception printing is disabled by default for security reasons
Error log record number: 385579037

Per modificare questo comportamento si può creare file errors/local.xml e metterci dentro

<?xml version=”1.0″?>
<config>
    <skin>default</skin>
    <report>
        <action>print</action>
        <trash>delete</trash>
    </report>
</config>

Le opzioni possibili:

  • Action: può essere "print" oppure "email"
  • Subject: il soggetto del messaggio nel caso in cui action è impostato su email
  • Trash: può assumere due valori: "Leave" (mantiene gli errori in filesystem), "trash" (elimina il report)

Zend Framework Blogs

Alcuni blog utili che parlano di Zend Framework

Alcune note sul bootstrapping dei moduli sotto ZF

Appunti presi dopo la lettura di questo post

In particolare: se ci sono delle funzionalità che devono essere chiamate solo a condizione che il modulo partecipa attivamente nella richiesta, allora conviene metterli all’interno dei plugin di front controller oppure dentro gli action helper.

Se si sceglie la prima strada, un posto buono potrebbe essere rappresentato dai hook routeShutdown() oppure dispatchLoopStartup(). Basta semplicemente verificare che il modulo dentro la richiesta corrisponde a quello su cui deve essere esguita l’azione richiesta.

class Foomodule_Plugin_Layout extends Zend_Controller_Plugin_Abstract
{
    public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
    {
        if ('foomodule' != $request->getModuleName()) {
            // If not in this module, return early
            return;
        }

        // Change layout
        Zend_Layout::getMvcInstance()->setLayout('foomodule');
    }
}
class Foomodule_Boootstrap extends Zend_Application_Module_Bootstrap
{
    protected function _initPlugins()
    {
        $bootstrap = $this->getApplication();
        $bootstrap->bootstrap('frontcontroller');
        $front = $bootstrap->getResource('frontcontroller');

        $front->registerPlugin(new Foomodule_Plugin_Layout());
    }
}

Installare PHPUnit sotto WampServer

Una breve guida per installazione di PHPUnit e WampServer.
1) Installate WampServer Al momento attuale ultima versione è 2.0i
2) Entrate in Console (con privilegi di amministratori se siete sotto vista/7) e digitate

cd C:\wamp\bin\php\php5.3.0
go-pear.bat
PEAR upgrade PEAR

Se vi viene restituito un errore di “signature” allora eseguite

php.exe -d phar.require_hash=0 PEAR/go-pear.phar
PEAR upgrade PEAR

Potete usare le impostazioni di default. In questo modo installate ed aggiornate Pear (senza aggiornamento, installazione di phpunit non va a buon fine)
Continua…