martes, 29 de abril de 2014

lunes, 14 de abril de 2014

ConcurrentModificationException

En Yoching me he tropezado con un problema de la implementación de Iterable<T>: mientras leo una lista otro hilo intenta modificarla y se produce una excepción de concurrencia.

Leyendo el estupendo artículo de Pankaj (http://www.javacodegeeks.com/2011/05/avoid-concurrentmodificationexception.html), la solución es fácil, pues si bien una parte del programa "lee" la lista para monitorizar el proceso, la otra está "modificando" los datos. Es decir, en la lectura sólo necesito la información para tomar una foto del momento, y la sincronización con la lista mutante no es crítica.

Me basta copiar los datos en un array, mostrar el array y destruirlo, mientras yoching sigue a lo suyo con la lista original.

Cabala, validar email y teléfono desde el cliente

Expresiones regulares: validación de entradas


Para validar textos en el lado del cliente, javascript tiene herramientas muy simples de usar. Sólo hace falta dedicarle unos minutos para entender su funcionamiento:

http://ismaelgsan.com/validar-un-email-con-javascript-de-forma-rapida-y-sencilla/

Extrapolando a un teléfono

Siguiendo el ejemplo el patrón para un teléfono con/sin prefijo de país, con/sin extensión

+349588777#555

/^([+])?([0-9])*(([#])?([0-9])*)*$/

Más información en
http://www.w3schools.com/jsref/jsref_obj_regexp.asp