
L’annuncio di un trasformatore di codice mi ha lasciato un po’ perplesso.
Mi aspettavo di più da parte degli sviluppatori di Facebook.
PHP è un linguaggio interpretato, ci sono delle differenze tra linguaggio interpretato e linguaggio compilato, che a mio parere non sono gravi, ma diciamo che fanno la differenza in alcuni casi.
Uno di questi casi è Facebook, che oramai non è più un sito web ma un software basato sul web.
Il codice compilato è sicuramente più performante, proprio perché non c’è l’interprete che si mette in mezzo.
La storia è semplice, Facebook sta migrando ad un linguaggio compilato come C++ ma offrirà una maschera chiamata PHP per permettere agli sviluppatori di non perdere il posto.
Praticamente io parlo in Italiano e siccome è più adatto l’Inglese un traduttore si mette in mezzo.
Invece molti blogger stanno facendo passare il messaggio che PHP è lento, e allora Facebook lo sta migliorando.
Non è assolutamente vero, PHP è un linguaggio interpretato e ha tutte le differenze del caso rispetto a C++.
Facebook a mio parere ha tanto da migliorare, soprattutto il codice javascript e le richieste ajax, perché sono quest’ultimi che appesantiscono realmente la piattaforma.
Ma veniamo al perché dell’immagine; ajax permette di comunicare col server senza aggiornare la pagina, ma c’è un bel problema, tu puoi comunicare col server e lui non può, in altre parole se il tuo browser non avvia una richiesta ajax tu non puoi sapere che il tuo amico ti ha contattato, ecco proprio per questo ogni secondo ci sono diverse richieste ajax da parte dei browser che rallentano i server di Facebook, io lavorerei molto su questo lasciando stare PHP e l’hip hop soprattutto che non c’entrano nulla tra di loro.
Se non ci credete, scaricate Mozilla Firefox, poi scaricate Firebug, cliccate sopra l’insetto che vi apparirà in Firefox e attivate la console.
Fatto questo andate su Facebook, accedete e fate la vostra routine (giocare, chattare ecc..), bene contate tutte le richieste che sono state inviate.
scritto da Svacant in Php
Se avete assaggiato la semplicità e la comodità di jQuery e non volete rinunciarci quando lavorate con PHP, sappiate che esiste PhpQuery.
Grazie a questo porting potete manipolare le vostre pagine direttamente lato server.
Infatti è possibile selezionare uno o più elementi della nostra pagina con la stessa comodità di jQuery.
Vediamo qualche esempio:
Codice
phpQuery::newDocumentFileXHTML(‘my-xhtml.html’);
echo pq(‘div[id=idmiodiv]‘)->html();
Ecco che è sufficiente istanziare la classe phpQuery indicando il documento per poi utilizzare la funzione pq (equivalente di $ in jQuery).
Per la documentazione vi rimando al progetto ufficiale.
Non è possibile inserire annunci adsense dentro un applicazione facebook fbml ad esempio, ma usando gli iframe è possibile ottenere lo stesso risultato.
Vediamo un esempio usando fbml:
Codice
<fb :iframe src=”http://miosito.ext/banner.html” width=”120″ height=”600″ frameborder=”0″ scrolling=”no”></fb>
Dentro il file banner.html potete piazzare il vostro banner che verrà poi visualizzato nell’applicazione.
Se state lavorando ad un’applicazione per Facebook potrebbe capitarvi di dover usare fogli stile.
Facebook ha un sistema intelligente per la gestione dei file esterni, ad esempio nel nostro caso i css verranno messi in cache.
Questo meccanismo è utile per risparmiare risorse di sistema, ma potrebbe diventare fastidioso se dobbiamo fare modifiche al foglio stile.
È quindi possibile utilizzare il parametro “v”, così:
Questo ci permette di comunicare al server di Facebook l’avanzamento di versione del foglio stile, quindi sarà possibile lavorare tranquillamente.
Per chi usa php è possibile evitare di dover scrivere ogni versione a mano.
Basta usare la funzione rand();
Codice
style.css?v=1.< ?=rand(0,100);?>
E’ una soluzione che può evitarvi di perdere tempo ad ogni modifica al foglio stile.
Vi è capitato di avere un select con molti option e di avere un valore dinamico che decida quale option sia selezionata?
Esempio
Codice
<select name=”prova”>
<option value=”yes”>Si</option>
<option value=”no”>No</option>
</select>
Adesso se io avessi il valore no, dovrei settare l’option value=no selected.
Ma dovrei fare un un if e controllare di volta in volta la variabile.
Ma grazie a jQuery il problema lo risolviamo così:
Codice
<select name=”prova” selected=”no”>
<option value=”yes”>Si</option>
<option value=”no”>No</option>
</select>
Codice javascript
Codice
$(document).ready(function() {
$(’select’).each(function(){
var selected = $(this).attr(’selected’);
$(‘option[value='+selected+']‘).attr(’selected’,’selected’);
});
});
Ricordatevi di avere la libreria jQuery.
Il cms che ho costruito è diventato in grado di tradursi da solo.
Pertanto è disponibile in tutte le lingue del globo, grazie al servizio di google translator attraverso le api di google si preoccupa della traduzione.
Oltre a questa interessante novità, abbiamo un repository per i plugin, il miglioramento del pannello admin, gestione pagine e plugin direttamente da pannello.
Potete scaricare myframe subito da qui!
Avete voglia di un po’ di ajax?
Passiamo subito alla pratica:
Codice
<form id=”mioform” action=”pagina.php” method=”post”>
<input type=”text” name=”nome”/>
<input type=”text” name=”cognome”/>
<input type=”submit” value=”Procedi”/>
</form>
Se siamo in una situazione del genere e vogliamo usare ajax, ci verrà incontro jQuery.
Grazie alla funzione serialize() di jQuery
possiamo raccogliere i dati, ma vediamo come fare passo passo:
Per prima cosa modificate il pulsante in questo modo:
Codice
<input type=”button” value=”Procedi” onclick=”manda_form()”/>
Poi create la funzione:
Codice
function manda_form(){
var str = $(“#mioform”).serialize();
var action = $(“#mioform”).attr(‘action’);
$.post(action, str);
}
E adesso il vostro form è in ajax.
Il nic.it dopo diversi anni si è deciso a passare alla registrazione sincrona.
La cosa buffa è che la sponsorizzano a mo’ di novità del secolo.
Mi arrabbio quando vedo che con un .com o un .info in 10 minuti sono online, e invece con un .it devo attendere tutte le pratiche burocratiche e passare la vita a rispedire fax.
Il problema dove sta? nel fatto che come sempre in Italia stiamo indietro, non credo sia stato così difficile costruire un sistema per la registrazione sincrona, dati i tempi.
Che poi questa storia dei fax dovrebbe essere superata, anche perché penso che non abbiano molto senso, anzi valgono più l’email certificate che i fax.
scritto da Svacant in Php
Molte volte accade che l’uso abituale di certi metodi vi si ritorce contro.
Come evitare tutto ciò? semplice ci sono altre tecniche.
Usate spesso:
Codice
< ?php
echo $var;
?>
ma invece ignorate l’uso di:
Codice
< ?php
echo “{$var}”;
?>
Oppure spesso fate interminabili escape…:
Codice
< ?php
$var = “<a href=\”pagina.html\”>link”;
?>
Quando si può fare:
Codice
< ?php
$var = <<<HTML
<a href=”pagina.html”>link
HTML;
?>
Dopo il recente hack alle poste italiane, e dopo aver letto quello che si dice in giro, dico la mia.
Non credo sia stato un attacco, ma semplicemente un effetto collaterale dovuto allo scarso impegno (chiamiamolo così) dimostrato durante la creazione del portale.
Purtroppo è la realtà, ma non si vuole accettare perché magari della realizzazione se n’è occupata un’azienda piuttosto prestigiosa, aggiungerei suppongo.
Quindi non prendiamocela con queste persone (definiti magari pirati), solo perché hanno conoscenze appropriate per poter vedere un po’ più in là.
Bisogna prendersela con chi ha fatto l’errore o gli errori.
Chiudo col dire, che la vera professionalità non sta nell’apparenza, ma ben oltre.
Affidarsi a qualche smanettone è meglio di questi tempi.
ps il prossimo articolo sarà tecnico.
Update: Dal corriere della sera La squadra di ingegneri che lavora 24 ore su 24 nella control room di Roma, il cervellone sulla sicurezza informatica…
Ho preso uno dei tanti articoli, ma vogliono far passare tutti la stessa notizia cioè: Sito attaccato ma grande team dietro ecc…
Infatti le poste hanno risposto “Nessun pericolo per i vostri dati”, ma veramete ci credete? se l’attacco è durato mezz’ora e la home page è stata sovrascritta, credete veramente che non siano arrivati anche al database, per la cronaca le password di accesso al database risiedono dentro un file che sta insieme ai file del sito (che son sti sovrascritti), quindi fate un po’ voi.
Non riescono a prendersi le proprie responsabilità, è questo il punto! complimenti invece a questo team, grazie a loro la sicurezza sarà migliorata, non guardateli come pirati.