Soluciones eficientes combinando ArrayList HashSet y HashMap

Imaginaros que tenemos dos colecciones de objetos, la colección A y la colección B, donde B es un conjunto de objetos reducido de A. Si necesitáramos obtener, a partir de los datos anteriores, un contenedor C donde por cada elemento de A sepa si existe en el conjunto B o no, ¿como podríamos realizar esto de manera sencilla y sin necesidad de anidar bucles?

Hay varias formas de resolver el caso de uso anterior usando Java, en nuestro caso el objetivo es ilustrar el uso combinando de ArrayList, HashSet y HashMap, así que veremos una manera eficiente de implementar la solución.

Nos apoyaremos principalmente en la clase java.util.HashSet, que está pensada específicamente para trabajar con conjuntos y nos permite buscar de manera rápida elementos dentro de uno. Para modelar el ejemplo: A, será un HashList; B un HashSet; y el resultado del cruce, C, un HashMap...

Oficina, tecnología y humor

¿Eres "el experto" de tu departamento? ¿Te imaginas cómo sería la vida cotidiana en la oficina si nos comportásemos como lo hacemos por e-mail? En la era de la digitalización el papel a muerto!.. o no? ;)
A continuación os dejo tres vídeos desternillantes sobre estas cuestiones...

Pasos para importar a MiniKeePass un archivo .kdbx desde Dropbox

Sincronizando KeePass mas Dropbox mas MiniKeePass

Seguramente muchos de vosotros usáis la aplicación de escritorio KeePass para mantener las contraseñas agrupadas de manera segura. Los que habitualmente utilizáis varios equipos, probablemente sincronicéis las BDDs de claves usando un almacenamiento en la nube como Dropbox.

Si estas en ese punto y tienes un iPhone, puedes dar un paso más allá y tener tus claves siempre contigo de manera segura. Para ello, a continuación veremos como sincronizar de manera sencilla la BDD de claves de KeePass (Dropbox mediante) con la App MiniKeePass.

Haciendo GTD con la aplicación Wunderlist parte 1. Gestionando las listas

Hace ya algunos años que me viene interesando mucho todo lo relacionado con las diferentes estrategias y técnicas asociadas a la gestión del tiempo, orientadas a la mejora de la productividad personal. Desde entonces, he incorporado a mi rutina de trabajo una versión simplificada de la metodología GTD (Getting Things Done). La he adaptado un poco a mis características y hábitos personales pero en general, se respeta la esencia.

Aunque GTD se puede poner en práctica incluso con una libreta y un boli, en mi caso me apoyo en una aplicación para gestionar listas llamada Wunderlist que elegí por por su simplicidad y versatilidad. También la elegí porque tiene versiones estables para todos los dispositivos importantes (incluido ahora también el Apple Watch), con lo que dispongo de las listas sincronizadas en todo momento. De hecho uso la versión gratuita de la aplicación, que es totalmente funcional.

A continuación os comentaré mi experiencia personal trabajando con Wunderlist y la metodología GTD: Principalmente cómo organizo las diferentes listas de la aplicación y la nomenclatura específica que uso en el título de los ítems de éstas para que me brinden de manera rápida información relevante a la hora de acometer las acciones en cuestión.

Así que si estás buscando una aplicación informática de apoyo para llevar GTD a la práctica, este post te puede ser de utilidad ya que aunque la operativa que se describe está orientada a funcionar con Wunderlist, es fácilmente extrapolable a otras aplicaciones similares...

Implementando el controlador con Spring MVC. La clase GeneralController

Parte del Manual paso a paso para desarrollar una aplicación web con Spring Framework + Spring Security contra una base de datos MySQL.

Ya tenemos nuestra clase de acceso a datos con la consulta personalizada y la clase de usuario personalizado con los nuevos atributos, nos queda implementar las redirecciones en función de los roles de usuarios autenticados y los recursos (las páginas) a los que accederán en cada caso.