Expresiones regulares

Todos sabemos lo que son las expresiones regulares. Se trata de patrones de secuencias de caracteres que empleamos para comprobar si una cadena de texto se ajusta a un formato específico. Por ejemplo, puede que una cadena deba contener dígitos numéricos, pero no espacios en blanco, o letras o signos de puntuación. O podemos querer comprobar que una cadena contiene una dirección de correo electrónico correctamente escrita. En estos casos creamos un patrón que define el formato al que debe ajustarse una cadena y luego lo comparamos con la misma. La forma de hacer estas comparaciones depende de cada lenguaje específico. En esta serie de artículos conoceremos el modo de emplear las expresiones regulares en los dos lenguajes de script más extendidos en el desarrollo web: JavaScript y PHP. Sin embargo, los patrones que se emplean en las expresiones regulares para comprobar la coincidencia con tal o cual formato es siempre el mismo, con independencia de que se usen luego estas expresiones en Python, Java, PHP, C++, o cualquier otro lenguaje.

Expresiones regulares en JavaScript

El uso de expresiones regulares en JavaScript es una buena manera de prevalidar el formato de ciertos datos en el lado del cliente, sin necesidad de recurrir a llamadas al servidor. Sin embargo, la forma de hacerlo es adecuada, también, en entorno de API’s de Node JS (aunque el uso de Node JS no será objeto de estudio en este artículo, dado que es un tema tan amplio que requeriría su propia serie de artículos, que le dedicaremos en su momento). En este artículo vamos, pues, a mostrar como hacer uso de las RegExp en JavaScript. Veremos que podemos manejar los datos a evaluar por programación clásica o por jQuery. Finalizaremos con una breve reflexión acerca de la (limitada) programación orientada a objetos de JavaScript. Vamos a ello.

Expresiones regulares en PHP

PHP es, sin duda, el lenguaje de servidor por excelencia para desarrollos web. Por lo tanto, la cuestión de las expresiones regulares (o cualquier otro aspecto de programación, si a eso vamos) no estaría completa si no las vemos en este contexto. Aunque el tema de las expresiones regulares en PHP ya se ha tratado en otro artículo de este blog, aquí vamos a comentar las funciones de las que disponemos en PHP para conseguir aprovechar al máximo las posibilidades de este recurso. Si eres desarrollador habitual en PHP, este artículo te servirá a modo de “chuleta” o referencia sobre este tema.

Atajos de teclado en Windows

Todos sabemos que el teclado del ordenador no sólo sirve para escribir. Estamos acostumbrados a usar “atajos de teclado” (combinaciones de dos o tres teclas que se pulsan simultáneamente) para lograr ciertas funciones, como copiar un contenido al portapapeles, o pegarlo en otro sitio. Sin embargo, la mayoría de los usuarios se limitan a eso: cortar, copiar o pegar, y poco más. En entornos windows hay muchas otras combinaciones que resultan útiles, y que pueden permitirnos acceder a distintas funciones del sistema, facilitando así nuestro día a día delante del ordenador. En este artículo, las hemos recopilado para tí, junto con algunos conceptos aclaratorios, que pueden resultarte de utilidad.

Barras de scroll personalizadas

En el mundo del frontend hay que cuidar, cada día más, la apariencia de nuestros desarrollos web. Atrás quedaron ya los años en que bastaba con que una página funcionara correctamente, y que fuera “más o menos” bonita. En un mundo dominado, cada vez más, no sólo por la funcionalidad y facilidad de uso, sino también por la estética cuidada hasta el mínimo detalle, es muy importante “entrarle por los ojos” al visitante de nuestra web. Las barras de scroll son un elemento visualmente muy importante y, con gran frecuencia, descuidadas por los frontenders. Es cierto que depende del tipo de sitio. En una web como, por ejemplo, esta misma, es un detalle completamente irrelevante, ya que el interés del visitante se centra en los contenidos. Sin embargo, suponte que te toca realizar una página para un estudio de fotografía, o una revista de moda. Ahí si que no puedes permitirte que el navegador dibuje las barras de scroll clásicas. En este artículo vamos a ver como solucionar esto, para poder contar con unas barras de scroll adecuadas a cada caso.

Plugin jQuery para recorte de imágenes

El recorte online de imágenes está presente, cada vez, en mayor número de sitios web cuya finalidad es formar comunidades virtuales (redes sociales, páginas de contactos, etc). Consiste en que el usuario sube una fotografía (bien sea suya personal o de un paisaje, u otro contexto) y recorta, en la propia página, una parte de esa foto, que es la que realmente quiere compartir con el resto de la comunidad. Esta técnica empezaron implementándola sitios tan relevantes en Internet como son Facebook y Google, aunque hoy en día se ha extendido como la pólvora. Imagina que tu tienes una fotografía en la que apareces con varios amigos. La subes a un sitio social como foto principal tuya, pero no quieres que aparezcan todos tus amigos, porque te diluyes en la multitud. Con el ratón, seleccionas la parte en la que estás tú, y decides que sólo esa parte es tu foto principal. La página web hace el recorte y te deja lo que tú has elegido. En este artículo veremos cómo hacer esto.

Intercambio de opciones entre selectores

Hace unos meses le di al mundillo de los desarrolladores el plugin SOS (Selectors Options Swapping). Desarrollado con técnicas que hoy consideramos obsoletas, y engorroso de configurar, ha sido sustituido por la versión 2, más ligera y funcional, y más cómoda de implementar en las páginas en las que sea necesario. Los que me conocéis sabéis que siempre me gusta buscar, y ofrecer cuando puedo, lo mejor de lo mejor. Me consta que los que hayáis probado la versión anterior encontraréis en esta una experiencia de desarrollador muy mejorada que, espero, os resultará satisfactoria.

Uniendo tablas MySQL (I). Introducción.

Iniciamos aquí una pequeña serie de artículos dedicados a las consultas MySQL que afectan a dos o más tablas. Cuando, en una consulta, necesitamos recurrir a dos tablas, significa que ambas están relacionadas entre sí, en una relación de 1-m o de m-1. Cuando se recurre a consultas que implican más de dos tablas, puede tratarse de que alguna de ellas esté relacionada con las demás en relaciones del tipo mencionado, o bien que dos tablas estén relacionadas entre sí, en una relación de tipo m-n, a través de una tercera tabla intermedia. Además, podemos encontrarnos con la necesidad de construir consultas que impliquen relaciones “especiales”, bajo determinadas circunstancias, como veremos en esta serie. Procuraremos analizar las sintaxis adecuadas en los casos que se nos presenten, de modo que, cuando tengas necesidad de consultas de este tipo, puedas hacerlas del modo más óptimo posible. En estos artículos presentaremos la sintaxis MySQL. Esto significa que podría haber algunas diferencias si tu motor de base de datos SQL es otro (SQL Server, SQLite, etc). Optar por MySQL ha sido una decisión lógica, teniendo en cuenta que es el motor de bases de datos relacionales más empleado en Internet, con mucha diferencia y, …

Seguir leyendo

Uniendo tablas MySQL (II). Uniones externas.

En el artículo anterior aprendimos a relacionar entre sí tablas a través de un campo que implicaba una relación lógica. De este modo, aquellos registros de la primera tabla que no tenían correspondencia con un registro de la segunda eran, automáticamente, omitidos. En la mayor parte de los casos esto será lo que necesitemos. Sin embargo, no siempre es así. Hay ocasiones en que necesitamos obtener TODOS los registros de una tabla que cumplan determinada condición, tengan o no correspondencia con algún registro de otra tabla. De esto nos vamos a ocupar en este artículo sobre uniones “externas” (OUTER JOIN).

Uniendo tablas MySQL (III). Autocombinaciones.

Siguiendo con el tema de uniones de tablas, en este artículo vamos a ver un tema que, en el día a día del desarrollo de aplicaciones, se da con más frecuencia de la que parece: las autocombinaciones. En los artículos anteriores hemos conocido distintas formas de combinar datos de dos tablas, para obtener el resultado deseado. Aquí vamos a aprender como combinar datos de una tabla con datos procedentes de la misma tabla, que mantienen una relación estructural. Cómo siempre, lo veremos desarrollando un ejemplo, que podremos extrapolar a cualquier otra necesidad que nos surja en este terreno.