About Cecilio Álvarez Caules

Cecilio Álvarez Caules Sun Certified Enterprise Architech (J2EE/JEE).

Author Archive | Cecilio Álvarez Caules

java8FactoryPatternLambda

Java 8 Factory Pattern y su implementación

El concepto de Java 8 Factory Pattern es cada día más utilizado ya que nos permite simplificar la implementación del clásico patrón factoría utilizando Java 8 y reduciendo el número de clases. Vamos a ver como implementarlo, para ello partiremos de un ejemplo clásico de gestión de Facturas y calculo de IVAs y lo evolucionaremos […]

javascriptdeferredresolve

JavaScript Deferred Objects y peticiones asíncronas

El concepto de JavaScript Deferred Objects siempre es difícil de entender en un primer momento. Sin embargo es algo que tenemos que conocer ya que sino nuestro código será mucho menos reutilizable. Vamos a explicar este concepto tan interesante a través de un grupo de ejemplos. Peticiones Ajax Supongamos que tenemos dos urls en nuestro […]

javastreamforeachoverload

Java Stream forEach y colecciones

El uso de Java Stream forEach poco a poco se va haciendo hueco entre los desarrolladores que utilizan programación funcional. El problema fundamentalmente que existe con el método forEach es que estamos muy acostumbrados a usar un bucle clásico forEach y nos funciona bastante bien .Así que da un poco de pereza cambiarlo . ¿ […]

HttpSessionInvalidateRedirect

HttpSession invalidate y sus problemas

Los problemas con HttpSession invalidate son muy comunes cuando trabajamos con Java web. Todo el mundo se maneja con el concepto de session , pero siempre quedan algunas dudas a la hora de manejarlo a detalle. Una de las situaciones problemáticas más habituales es que hacer cuando una session caduca. Vamos a crear un ejemplo […]

TomcatContextXML

Tomcat context xml y su configuración

El uso de Tomcat context xml como fichero para configurar funcionalidad de servidor es muy habitual.  Normalmente  la configuración de una aplicación web se realiza a través el web.xml . Pero hay algunas partes de la configuración que están más ligadas a las tareas de administración y no usan el web.xml ya que este es neutro y no […]

settimeoutvsintervalsegundos

JavaScript setTimeout vs setInterval

El uso de JavaScript setTimeout es muy habitual en la programación del día a día con JavaScript. Sin embargo muchas veces no se entiende bien como funciona . Vamos a explicar tanto el concepto de JavaScript setTimeout como el de setInterval que es el método complementario y ver su funcionamiento. JavaScript setTimeout y curiosidades La […]

jpagenerateschemadiagram

JPA Database Schema y automatización

El uso de un JPA Database schema es bastante habitual . Cuando trabajamos con JPA nos podemos encontrar con dos opciones principales. La primera que el schema de base de datos ya exista y que nosotros únicamente tengamos que adaptarnos a él. En segundo lugar una situación en la que no existe schema de base […]

javacommandPatternTareasvarias

Command Pattern en Java y la gestion de tareas

El concepto de Command Pattern o patron comando es uno de los más conocidos en el mundo de la programación. ¿Para qué sirve el patrón comando y que situaciones resuelve?. En programación nos podemos encontrar en muchas situaciones en las que tenemos que gestionar tareas que reciben algún tipo de objeto como parámetro. Una vez recibido […]

JavaScriptArrayPrototypeMetodos

JavaScript Array Prototype y extensibilidad

El uso de JavaScript Array Prototype es muy común y de hecho existen librerías como lodash y underscore que se apoyan intensamente en este concepto. Ahora bien ¿Cómo funciona?,¿Cómo podemos extender la funcionalidad de un Array?. Vamos a construir un ejemplo que nos aclare la situación partiendo de una lista de personas sencilla que construimos: […]

JavaMultipleInheritanceDefault

Java Multiple Inheritance con default methods

El soporte de Java Multiple Inheritance ha sido siempre una de las características que mas se echaban en falta en Java. La razón que siempre se ha esgrimido es que la herencia múltiple es algo que complica el código y la vida al desarrollador. Sin embargo hay que reconocer que en más de una ocasión […]