Programando o Intentándolo

5 Jul 2017

Estructuras condicionales en Java

El flujo de ejecución en Java es lineal por lo que se va ejecutando línea a línea en el orden en el que se va leyendo por lo que las sentencias para controlar el flujo de ejecución son la base ya que permiten ejecutar partes del código en base a condiciones (if, if else, el operador ternario ?: y switch), que se ejecuten un número determinado de veces o hasta/mientras se cumpla una condición (for, while y do while), romper el flujo saliendo del código que se está ejecutando (break, continue y return) o si se produce alguna excepción (try catch finally y throw).

En esta ocasión nos vamos a centrar en las instrucciones condicionales que son las más básicas.

If en Java

La estructura condicional más simple es el if, se evalúa una condición y en caso de que se cumpla se ejecuta el contenido entre las ...

19 Jun 2017

Control de eventos con jQuery para elementos HTML generados dinámicamente

Cuando el contenido de la página es estático es muy sencillo capturar los eventos con jQuery, ya sea por su id, por clase o de cualquier otra forma que podamos identificar los elementos para los que se quieren añadir eventos pero cuando se crea un nuevo elemento dinámicamente llega el “problema” porque los handlers (controladores, manejadores o como los quieras llamar) de jQuery solo capturan los eventos de los elementos que se crearon antes de que se crease el handler y por este motivo se suelen declarar en el $(document).ready() justo después de que este cargado todo el contenido de la página.

[crayon-5977019e85aa2412400958/]

Desasociar y volver a asociar los eventos

La primera idea para solucionarlo puede ser crear un nuevo handler cada vez que se crea el nuevo elemento pero la vamos a descartar porque estar creando y eliminando handlers es ineficiente y no podemos olvidar que antes de crear ...

7 Jun 2017

Estilos CSS para imprimir @media print

¿Pero se imprimen las páginas web? Pues sí, aunque es un punto que se suele pasar por alto cuando se diseña una web, por ejemplo la plantilla que he utilizado de base para este blog no tenía definido ningún estilo especial para la impresión y cuando la adapte como a mí me pareció pues ni se me paso por la cabeza que debía de poner unos estilos para cuando alguien quiera imprimir algún artículo, y hace unos días recibí un comentario justo sobre el tema de la impresión, así que aprovecho para contar como se puede hacer y de paso dejo lista la web para poder imprimir sin gastar litros de tinta.

Al menos hay que tener en cuenta lo siguiente cuando se define un estilo para imprimir:

Eliminar todo el contenido irrelevante para lo que estas imprimiendo como menús, barras laterales, anuncios, artículos relacionados, comentarios, videos, … Evitar los ...
5 Jun 2017

Buscar registros repetidos en SQL

La necesidad de contar o buscar registros repetidos o duplicados en SQL es relativamente frecuente ya sea para eliminarlos o simplemente para conocer el número de veces que se repiten ciertos valores.

Para ver los distintos ejemplos sobre la búsqueda de elementos repetidos vamos a usar una tabla sencilla de usuarios.

[crayon-5977019e8683b317046138/]

Buscar repetidos en 1 columna en SQL

Para obtener los registros repetidos la consulta SQL que debemos a hacer es la siguiente:

[crayon-5977019e86847858441490/]

Es decir, lo que necesitamos es agrupar los registros por el valor para el que queremos buscar los repetidos y con HAVING COUNT(*)>1 obtendremos todos los valores que estén al menos repetidos una vez.

Para saber además de los registros repetidos la cantidad de veces que se repite cada uno simplemente hay que añadir el contador al resultado de la consulta

[crayon-5977019e8684d504497752/]

Y usando una subconsulta con los registros repetidos podemos saber el número ...

25 Mar 2017

Variables y nuevos tipos de objetos JavaScript 6

Como es un lenguaje no tipado en javaScript las variables pueden almacenar cualquier tipo de objeto y por este motivo todas las variables se declaraban de la misma forma, usando var o simplemente poniendo el nombre de la variable sin más, hasta la la versión 6 de javaScript (ECMAScript v6) en la que se han introducido las constantes y las variables de bloque.

También se han incluido nuevos tipos de objetos interesantes como mapas Map y conjuntos Set y la no menos interesante nueva forma para intercalar variables dentro de cadenas de texto.

“Tipos” de variables

En realidad más correcto que tipos de variables sería hablar de ámbito de las variables por que los tipos que hay lo que diferencian es el ámbito en el que serán visibles, con excepción de las constantes que en realidad sí que serían un tipo, o más bien lo contrario a una variable.

Variables ...