Entradas etiquetadas ‘codigo

1 – Inicializa las variables antes de utilizarlas.

2 – Dedica tiempo a estudiar PHP, está es un lenguaje en continuo proceso de crecimiento y sus características van cambiando con el tiempo.

3 – Incrementar una variable en un método es lo mas rápido, del mismo modo que hacerlo en una función.

4 – Incrementar una variable global es dos veces mas lento que una variable local.

5 – Incrementar una variable local en un método es lo más rápido. Casi lo mismo que llamar a una variable local en una función.

6 – Incrementar una variable indefinida es 9 ó 10 veces más lento que una ya pre-declarada.

7 – El hecho de declarar una variable global a pesar de que no la utilices en ninguna función realentiza tu script, PHP tiene que chequear si la variable existe.

8 – La llamada a una función con un parametro toma aproximadamente el mismo tiempo que de 7 a 8 operaciones con variables locales, y esa misma llamada a un método supondrían unas 15 operaciones.

9 – Si necesitas saber el timestamp de acceso a un script, considera utilizar $_SERVER['REQUEST_TIME'] en lugar de time().

10 – $row['id'] es hasta 7 veces más rápido que $row[id].

11 – $localvar++ es hasta 15 veces más rápido que function inc(){ $localvar++; }.

12 – Los scripts PHP se “compilan” cada vez que son ejecutados a menos que se guarde el código objeto en un cache. Las diferentes herramientas de compilación de PHP incrementan el rendimiento hasta un 100%.

Aquí os dejo unos pocos trucos para escribir menos código PHP en tus scripts, seguro que algunos de estos trucos ya los conocías pero bueno me parece interesante recopilar estos trucos.

Reducir las sentencias if()


if($variable == 2)
{
$valor = true;
}
else
{
$valor = false;
}

Podríamos condensar esas 8 líneas de código en una única línea:

$valor = ($variable == 2) ? true : false;

Declarando variables

A menudo declaramos multiples variables cada una en líneas separadas, todas estas variables se podrían llegar a agrupar en una única declaración.

$variable1 = 7;
$variable2 = 12;
$variable3 = 9;

Podríamos declarar varias variables con diferente valor en una única línea de la siguiente manera:

list($variable1 ,$variable2 ,$variable3) = array(7,12,9);

Y más fácil todavia si las variables declaradas coinciden en el valor asignado:

$variable1 = $variable2 = $variable3 = “Prueba”;

Usar switch() en lugar de if()

Parece algo lógico pero muchas veces utilizamos if() dónde podríamos ahorrar código usando switch():

if($opcion == “menu”)
{
//cargar menu
}
elseif($opcion == “portada”)
{
//cargar portada
}
else
{
//no cargar nada
}

Usando switch() podríamos reducir el código ostensiblemente:

switch($opcion)
{
case ‘menu’:
//cargar menu
break;
case ‘portada’:
//cargar portada
break;
default:
//no cargar nada
}

Son sólo tres trucos pero seguramente te pueden ahorrar muchas líneas de código si sabes aplicarlos correctamente.

* Si alguien tiene pequeños trucos para optimizar código PHP le animo a que lo comente y enriquecer un poco esta entrada.

YouTube HD

5 de octubre de 2008

en: Negocio

Hace un par de días publicaban en Microsiervos una curiosa anotación en la que explicaban como de una manera ingeniosa se pueden conseguir reproducir vídeos en YouTube con una resolución mayor.

YouTube Now in Super HD

Hace ya algún tiempo se habló del tema de subir vídeos de alta resolución a YouTube.

En YouTube Now in Super HD consiguen mediante la unión de cuatro vídeos una resolución mayor. El principal problema de esta curiosa aplicación es que no consigue eliminar los molestos menús de YouTube en este caso.

YouTube HD


Cómo se puede apreciar es bastante molesta la aparición del menu por lo que no se consigue el efecto deseado.

Utilizando un par de opciones que ofrece YouTube Chromeless podemos conseguir este otro resultado mucho más acorde con el resultado deseado por la aplicación inicial.

YouTube HD


Para conseguir el efecto deseado con esta pequeña aplicación lo ideal es ejecutar una primera vez el vídeo y espera unos segundos a que los cuatro vídeos empiecen a funcionar de manera asíncrona, despues de estos segundos pulsamos reiniciar y conseguimos el efecto deseado.

Google ha lanzado un gadget para iGoogle que permite realizar búsquedas en el contenido de los vídeos.El Elections Video Search gadget permite realizar búsquedas a través de los canales de política, pinchando en los resultados se puede acceder a las diferentes apariciones de la búsqueda en el vídeo.

Para aquellos que no disponen de página de iGoogle pueden disfrutar de esta aplicación en esta página.

Los resultados de búsqueda aparecen resaltados en la línea de tiempo del reproductor de vídeo.

Hasta el momento puede no parecer demasiado interesante ya que la temática sobre la que se realizan las pruebas es escasa, pero si se abordan una cantidad superior de temáticas el resultado puede resultar muy útil.

Google admite en uno de sus blogs que el problema que presenta la tecnología necesaria para el reconocimiento de voces aún no está solucionado al 100%.

Este gadget demuestra que el uso de esta tecnología de reconocimiento de voces incluso sin estar desarrollado al 100% es una funcionalidad muy interesante.

Sería muy interesante que Google llegará a indexar el contenido de YouTube ó al menos el de los vídeos más populares.

Google video busqueda


Google Open Pizza Night

29 de marzo de 2008

en: Negocio

El pasado 27 de Marzo se organizó un evento “Google Open Pizza Night“, en las oficinas de Google en Torre Picasso para profundizar en las funcionalidades de la API de desarrolladores de YouTube, no soy muy dado a este tipo de eventos ya que me suelen pillar un poco lejos (suelen ser en Madrid y vivo en Málaga) pero en esta ocasión se trataba un tema que me interesa bastante, además Clara Rivera (responsable de Marketing de Google Maps en España) me invitó y no podía desaprovechar la ocasión.

No tengo imágenes del evento así que os dejaré una lista de enlaces en las que se puede encontrar tanto material gráfico como información de como transcurrió el día.

El evento se celebró en el comedor de la sede de Google en España, planta 26 del edificio torre picaso.

Resumen del evento

El evento empezó con una entretenida charla acerca de la API de YouTube, en esta charla se mostraban las nuevas funcionalidades que traía la API y por ejemplo nos dieron información sobre YouTube Insight.

Despues de esta charla hubo un pequeño descanso al que continuó un Workshop con ejemplos prácticos que se vió un poco limitado debido a la falta de ancho de banda.

Por último vinieron las pizzas y con ellas unas exposiciones de 10 minutos cada una, que hablaban de diferentes aplicaciones que utilizaban la Api de YouTube, la exposición más interesante fue la de Raúl Ochoa que nos mostró una aplicación que había realizado para la ocasión que utilizaba muchas de las funcionalidades que traía esta nueva versión de la Api de YouTube.

Buenas noticias para los usuarios de la API de Youtube ya que hoy se han lanzado una serie de APIs y herramientas muy interesantes.

Entre lo más destacado de esta actualización tenemos: automatizaciones de subidas de vídeos, gestión de datos y personalización del reproductor flash.

YouTube Data API

Soporte Php para estas nuevas funcionalidades

Aún más afortunado seremos los desarrolladores de Php que podremos implementar algunas de estas funcionalidades: búsquedas y actualizaciones de vídeos, comentarios, playlists, pérfiles de usuarios, etc…

Para ello debemos usar PHP Client Library (distribuida por Zend) y que puedes descargarla fácilmente en esta dirección, como es habitual no faltará documentación y podremos encontrar respuestas en alguna de estas direcciones:

Personalización del reproductor Flash

Esepecialmente interesante es la posibilidad de no utilizar el reproductor Flash que ofrecía el servicio cuando “embebías” un código HTML, ahora se podrá utilizar un reproductor mucho más básico y personalizable… el diseño de muchos sitios web lo agradecerá.

Para aquellos que quieran algo más… gracias a esta librería Javascript (registro gratuito) podrás controlar los diferentes eventos del reproductor a su antojo (play, pausa, sonido, duracion, etc…)

Este sería un ejemplo para “embeber” un video de Youtube cusando SWF Object (un recurso muy útil a la hora de embeber Flash):

  <script type="text/javascript" src="swfobject.js"></script>
  <div id="ytapiplayer">
  Necesitas una versión de Flash 8 o superior para ver este video
  </div>
  <script type="text/javascript">
    var params = { allowScriptAccess: "always" };
    var atts = { id: "myytplayer" };
    swfobject.embedSWF(
"http://www.youtube.com/v/VIDEO_ID&enablejsapi=1&playerapiid=ytplayer",
                       "ytapiplayer", "425", "356", "8", null, null, params, atts);
  </script>
 

Aquí puedes ver un ejemplo de Simulación de controles del Reproductor de YouTube con Javascript