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 […]

JPALinQOk

Java LinQ con JinQ y Java Persistence API

Usar Java LinQ  nos puede parecer extraño ya que es una tecnología que nace con .NET framework . .NET  nos permite usar programación funcional con los frameworks y soluciones de persistencia realizando una validación de las consultas en tiempo de compilación. ¿Existe alguna solución similar en Java? . La respuesta a esta pregunta es peculiar. Java […]

javascriptjoinsdiagram

Javascript Joins ,SQL con datos JSON

La idea de JavaScript Joins parece un poco extraña al principio . Sin embargo cada día trabajamos más con el formato JSON y leemos grupos de datos muy diversos.   Más pronto que tarde nos encontraremos con una situación que requiere realizar un join clásico de SQL pero con los datos en JSON. ¿Cómo podemos realizar […]

yarnpackagemanagerParalelo

Yarn package manager y node.js

El uso de Yarn package manager se esta poniendo poco a poco de moda. Yarn es un gestor de packages  creado por Facebook similar a npm pero que aporta varias ventajas a la hora de instalar packages. ¿Qué es lo que hace diferente a Yarn package manager? . Hoy por hoy  en instalar algunas de […]

EclipsePullup

Eclipse Pull up , Pull down y refactorings

Eclipse pull up es uno de los refactorings más habituales de Eclipse cuando estamos trabajando con jerarquías de clases. ¿Para qué sirve este refactoring y su complementario pull down? . Sirven para  mover métodos entre diferentes niveles de una  jerarquía de clases . Supongamos que disponemos de tres clases (Persona , Empleado y Deportista) y […]

javalambdainferredtypes

Lambda inferred type y sus ventajas

El uso de Java lambda inferred type es muy común cuando trabajamos con expresiones lambda pero a veces es difícil entender como funcionan. Vamos a construir unos ejemplos que nos ayuden a clarificar el concepto. Para ello vamos a partir de un interface Calculadora que define el concepto de operación para luego apoyarnos en expresiones […]

JPACompositeKey

JPA Composite Key y business objects

El uso de JPA composite key es muy común cuando trabajamos con JPA , pronto aparecerán tablas en el modelo de datos que necesitan crear este tipo de claves. Vamos a construir un ejemplo  de como crear una clave compuesta utilizando JPA. Para ello vamos a partir del concepto de Curso que contiene los siguientes campos: […]

AtomTwitter

Atom SQL con el plugin de Quick Query

Usar Atom SQL es cada día más necesario. Atom se ha convertido en uno de los editores de referencia cuando programamos con aplicaciones web. Más pronto que tarde necesitaremos instalar un plugin que se encargue de trabajar con el lenguaje SQL de una forma rápida y directa para conectarse con una base de datos remota. […]

java8interfacestaticmethods

Java 8 interface static methods y reutilizacion

El uso de Java 8 interface static methods genera muchas dudas entre los desarrolladores. ¿Para qué podemos necesitar usar métodos estáticos a nivel de interfaces?. La respuesta tiene que ver con el concepto de reutilización de código y agrupamiento de responsabilidades . Vamos a construir como siempre un ejemplo que nos ayude a clarificar las […]