Frameworks

JS

Proyecto

Ofuscado

Lo mejor de mi RSS del 16 al 22 de febrero: cupón descuento hosting, Arduino, XFCE y curso WordPress

Otra semana que se acaba y más y más novedades en el mundo de la tecnología, del software libre y de WordPress que os traigo otro domingo más. Antes de comenzar aprovecho para recomendaros que si estáis interesados en contratar hosting, os paséis por esta entrada para conseguir un cupón descuento del 20% en Webempresa.

Veamos las noticias:

Hasta la semana que viene.

Lo mejor de mi RSS: desde mediados de diciembre a hoy, día 4 de enero

Si tardé en preparar la entrada de Feliz Navidad y Feliz 2015 en proporción más he tardado en preparar el top de mi RSS que intento que siempre sea semanal. Parece que son días de "vacaciones" pero al trabajo se le acumulan eventos de todo tipo, así que se quedan cosas atrás y por desgracia este año le ha tocado entre otras cosas a esta serie de post semanales.

La parte buena es que vienen más enlaces y el contenido de todos merece mucho la pena, veamos:

Visualiza tus datos en JavaScript con D3.js

d3js

Últimamente estoy indagando motores para JavaScript. Sorprende la cantidad de bibliotecas de todo tipo para esta plataforma. Una que me acaba de encandilar es D3.js, un motor para la visualización de datos. Su licencia es BSD, que es compatible con la GPL.

Con D3.js puedes representar tus datos de todas las formas posibles: columnas, barras, áreas, anillos, burbujas y muchísimos más. Tiene selectores CSS y la posibilidad de realizar transiciones, muy útil para realizar gráficos animados.

No he encontrado una mejor biblioteca para representar los datos en JavaScript, ¿conoces alguna interesante?

Phaser, un motor JavaScript para videojuegos

phaser

Si alguien ha programado un videojuego sin una librería específica comprenderá lo difícil que es programar los diferentes apartados: animaciones, colisiones, controles, etc. Es obvio que un motor facilita enormemente la programación.

Para JavaScript existen muchísimas librerías para crear videojuegos, pero ninguno me convencía. Sin embargo, Phaser ofrece un motor completo y muy bien documentado, además con licencia de código abierto MIT, compatible con la GPL.

Phaser tiene todo lo necesario para que puedas terminar un videojuego simple en cuestion de minutos y, además, con una documentación excelente.

Y vosotros, ¿os convence alguno en especial?

Enlace página oficial: Phaser.

Detectar orientación del dispositivo en JavaScript

Cuando estás realizando aplicaciones para dispositivos móviles o tablets siempre es interesante conocer la orientación del dispositivo. Es decir, si el usuario tiene el dispositivo apaisado o no.

Aquí os dejo un pequeño script para poder conocer la orientación:

function orientacionCambiada()
{
    alert(window.orientation);
}

window.addEventListener("orientationchange", orientacionCambiada, false);

Si la orientación está en -90 ó 90 estará el dispositivo en modo horizontal, si está en 0 ó 180 estará en vertical.

Lo mejor de mi RSS del 8 al 14 de septiembre de 2014

Con septiembre acelera el movimiento en todo tipo de proyectos y parece que nuestros plugins liberados para WordPress siguen acelerando su número de descargas: Clean Login y Import users from CSV with meta. Mientras tanto, la blogosfera trae nuevas noticias y tutoriales y aquí hago un breve resumen de las mismas:

Lo mejor de mi RSS del 30 de junio al 6 de julio de 2014

Más de uno nos leerá ya desde la playa, estamos ya en julio y en este fresco verano andaluz (fresco lo digo sin ironía alguna, extrañamente fresco por ahora) os traigo lo mejor que he leído esta semana en mi lector de RSS favorito, Feedly:

Esta semana en Linux Hispano ha habido más contenido del que normalmente solemos generar, a ver si conseguimos sacar tiempo suficiente para seguir alimentando este portal, que tras 10 años en la red se lo merece.

Lo mejor de mi RSS del 16 al 22 de junio de 2014

Bienvenidos al verano. Hace sólo unas horas del solsticio y a partir de hoy, los días empezarán a ser más cortos en el hemisferio Norte y más largos en el hemisferio Sur. Demos un repaso a las noticias más interesantes de la semana:

Lo mejor de mi RSS del 2 al 8 de junio de 2014

Casi en el solsticio de verano podríamos decir que ha sido una semana bien provechosa, al menos para nosotros, en CODECTION hemos liberado nuestro primer plugin para WordPress que hemos subido al repositorio. Entre eso y otras cosas tenemos los siguientes enlaces:

Lo mejor de mi RSS del 19 al 25 de mayo de 2014

Estamos ya casi en junio y se nota porque en Córdoba ya hay Feria. Vayamos a los enlaces que me han resultado más interesantes de la semana:

Comprobar en PHP si una URL contiene una cadena

phpMuchas veces tenemos que tomar decisiones en función de lo que contenga la URL. No suele ser el método más elegante y en una buena arquitectura con un modelo vista controlador no es lo frecuente, sin embargo, sí es algo que pasa y es algo que nos puede sacar de más de un problema si sabemos cómo hacerlo.

La idea es la siguiente:

  • Si la URL contiene (por ejemplo) "/categoria/" sabemos que estamos tratando con una categoría (en WordPress podríamos hacer directamente is_category()).

 ¿Cómo hacerlo con PHP?

Muy simple, sólo tendremos que comparar las cadenas y previamente recuperar la URL. ¿Cómo?

La URL se recupera así:

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

Y la comparación la haremos como sigue:


if (false !== strpos($url,'/categoria/')) {
    echo 'La cadena /categoria/ aparece';
} else {
    echo 'La cadena /categoria/ no aparece';
}

Bonus track

¿Y por qué usamos el operador de comparación ' !=='  en lugar de simplemente '!='? Más de uno ya sabrá que en los lenguajes no tipados, como PHP o JavaScript, una variable puede tener diferentes tipos y podemos comparar entre diferentes tipos de variables.

Es decir podemos hacer cosas como:

  • 0 == False: comparar entero con booleano comparando sólo valores, en este caso daría Verdadero
  • 0 === False: además de comprobar valores también comprueba tipos, al ser diferentes devuelve Falso

Igual para el caso anterior, si ponemos:

  • false != strpos($url,'/categoria/'): si ponemos esto y la cadena está en la posición 0 daría una salida errónea, ya que estando dentro de la cadena aparecería como que no lo está. Para asegurarnos tenemos que hacer...
  • false !== strpos($url,'/categoria/'): que también comprueba tipo, así si está en la posición 0 da un valor correcto y si la cadena no se contiene y devuelve false, al comparar también tipos no tendremos problemas.