Recursos para testear nuestras webs en móviles

Es cierto que la web móvil aún está por explotar y que el acceso mediante esta tecnología es aún muy escaso. Pero tarde o temprano será una realidad y tendremos que tener en cuenta esta plataforma para hacer nuestros desarrollos.
En 3point7designs nos dan algunos recursos para hacerlo:
Deshabilita las hojas de estilo
Un primera aproximación sería deshabilitar las hojas de estilo en nuestro navegador. En Firefox podemos hacerlo fácilmente con la extensión Web Developer, en Internet Explorer mediante la Web Accesibility Toolbar
Adapta el tamaño de la ventana del navegador
Se puede hacer con las herramientas especificadas en el punto anterior y poner resoluciones como

  • 176 x 208
  • 240 x 160
  • 320 x 240

Usa Ópera
Este navegador tiene una versión para móviles y además en la normal puedes emular un móvil genérico pulsando Mayúsculas + F11
Utiliza emuladores
Hay muchos, algunos interesantes son:

Vía / 3point7designs

Dividir un texto mediante DOM en Javascript

Os voy a pasar un pequeño script que nos dividiría un elemento de texto HTML (TEXT_NODE) en distintas partes. Quizás os pueda resultar un script extraño, pero se puede usar poner en negrita palabras o alguna otra cosa, yo en mi caso ya le he encontrado utilidad un par de veces y ahora estoy usándolo otra vez en algo que os contaré más adelante (espero que dentro de poco tiempo).

Imaginaros que tenemos un elemento HTML que es realmente un nodo de texto (pensad en DOM, no en innerHTML), por ejemplo:

var elem = document.createTextNode('Esto es una prueba');
document.body.appendChild(elem);

Ahora queremos cambiar “es una” por “es una“. Lo que tendríamos que hacer es dividir en texto en tres partes “Esto “, “es una”, ” prueba”, crearemos tres objetos de texto, cada una con cada trozo de texto y luego un elemento STRONG en el que incluiremos el texto del medio. Por último incluimos los elementos nuevos y eliminamos el anterior.

// Obtenemos primera parte de texto
var parte = elem.nodeValue.substring(0,
elem.nodeValue.indexOf("es una"));
// Creamos elemento de texto con contenido "Esto "
var obj = document.createTextNode(parte);
// Insertamos nuevo elemento
elem.parentNode.insertBefore(obj, elem);
// Obtenemos segunda parte de texto
parte = elem.nodeValue.substring(elem.nodeValue.indexOf("es una"), elem.nodeValue.indexOf("es una")+6);
// Creamos elemento de texto con contenido "es una"
obj = document.createTextNode(parte);
// Lo añadimos a un objeto STRONG
var negrita = document.createElement("STRONG");
negrita.appendChild(obj);
// Insertamos nuevo elemento
elem.parentNode.insertBefore(negrita, elem);
// Obtenemos tercera parte de texto
parte = elem.nodeValue.substring(elem.nodeValue.indexOf("es una")+6);
// Creamos elemento de texto con contenido "es una"
obj = document.createTextNode(parte);
// Insertamos nuevo elemento
elem.parentNode.insertBefore(obj, elem);
// Eliminamos elemento anterior
elem.parentNode.removeChild(elem);

10 errores que suelen cometer los programadores de PHP

Algo que nos pasa a los que aprendemos PHP por nuestra cuenta es coger fallos por malas costumbres, otras veces la gente tiene fallos por falta de conocimiento. Aquí os paso resumida una lista de los errores más comunes que se comenten a la hora de programar en PHP.

  • No escapar lo que nos llegar por parámetro: para evitar el cross-site scripting es necesario escapar las posibles entradas HTML que nos lleguen por parámetro. Si al introducir el usuario nos metieran:
    <script>...$lt/script$gt;

    sería necesario escapar las entidades HTML para evitar ataques. Para ello se usaría el siguiente código:

    htmlspecialchars($_GET['username'], ENT_QUOTES)
  • No escapar las entradas de consultas SQL: para evitar SQL-injections es necesario escapar antes el contenido de las entradas que pasamos a nuestras consultas SQL. Por ejemplo, tendríamos que crearnos una función que escapara las comillas simples.
  • Uso incorrecto de las funciones para la cabecera HTTP (header(), session_start() y setcookie()): muchas veces cuando desarrollanos nos encontramos con un mensaje de error que dice que ya se ha mandado la cabecera y que no se puede añadir más información. Esto es debido a que las funciones de cabecera (header(), session_start(), setcookie()) se tienen que usar al principio del script, antes de mandar nada a la salida.
  • No controlar lo que añades mediante require o include: se trata de no comenter el error de incluir un fichero cuya ruta se pasa por parámetro, ya que aunque nosotros seamos quienes pongan ese valor en el parámetro, puede llegar alguien y cambiar la ruta y pasar otro fichero que no sea de fiar.
  • Errores de sintaxis: bueno, aquí el autor del artículo, se ha quedado un tanto agusto. Todo el mundo comete errores de sintaxis cuando programa, ya sea en PHP, C, .NET o cualquier otro lenguaje de programación. Yo si que comentaria un error que suelo cometer, que es el escribir mal una variable y que el script no falle (como ocurriría en Java), pero que se obtengan datos incorrectos.
  • No usar la orientación a objetos: desde la versión 4 los objetos se admiten en PHP, en PHP5 se mejoró su utilización. Debemos aprovecharnos de esas posibilidades.
  • No usar frameworks: no reinventemos la rueda, si ya hay un framework que nos gestiona la base de datos, los errores y otras cosas, no pierdas el tiempo en implementarlo tu mismo.
  • Desconocer funcionalidades: PHP dispone de muchas funcionalidades en su core o en su librerías, cuantas más funcionalidades conozcas, menos tiempo perderas en el desarrollo.
  • Usar versiones antiguas de PHP: tiene dos inconvenientes, que desaprovechas nuevas funcionalidades y corres el peligro de no tener todos los bugs parcheados.
  • Doble escapado de comillas: es posible encontrar en código PHP algo así: \’ o \”. Esto suele ocurrir cuando se desarrolla con magic_quotes off y se instala en un servidor con magic_quotes on.

The PHP coder’s top 10 mistakes and problems

Vía / dzone

|

Webéame: nuevo recurso para desarrollladores web

Imagen%202.pngAcaba de nacer Webéame, un clon de Digg en castellano dirigido a la comunidad de desarrolladores web. Va en la línea de Dzone aunque aún más especializado y dirigido al mundo web.
El diseño es agradable, aunque aún deben estar trabajando en el logotipo, y con interfaz habitual de este tipo de sitios. Creo que esta iniciativa es una gran noticia para la comunidad de desarrolladores hispanos. Enhorabuena a sus creadores.
Webéame
Vía / aNieto2K

links for 2007-01-09