Patrón Puente: Cómo construir un sistema de notificación adaptable

Este artículo explora el patrón de diseño Puente (Bridge Pattern), una técnica estructural para desacoplar una abstracción de su implementación, permitiendo que ambas evolucionen independientemente. Análisis del Patrón Puente El patrón Puente, también conocido como patrón "Puente" o "Bridge", es uno de los patrones de diseño ...

Publicado el 6-29 22:11

Clase Utilitaria para Encapsular SharedPreferences en Android

SharedPreferences en Android es un mecanismo de almacenamiento diseñado para datos simples y de pequeño volumen, como configuraciones de la aplicación (por ejemplo, preferencias de sonido o vibración). Los datos se almacenan como pares clave-valor en formato XML deentro del directorio /data/data/<nombre del paquete>/shared_prefs, con un e ...

Publicado el 6-29 06:39

Fundamentos de Hilos en Java

La concurrencia en Java se maneja principalmente a través de su API de Hilos (Threads), que permite la ejecución simultánea de múltiples tareas. Esto optimiza el uso de la CPU y mejora el rendimiento general de las aplicaciones. Conceptos Clave Procesos vs. Hilos Proceso: Unidad de asignación de recursos del sistema operativo. Hilo: Unidad de ...

Publicado el 6-29 05:59

Carga de clases en Java y el mecanismo de delegación jerárquica

Ciclo completo de carga En la JVM una clase se carga solo cuando el programa realmente la necesita, por ejemplo al crear una instancia, invocar un método static o acceder a un campo. El proceso se divide en varias fases: Carga: se localiza el archivo .class en disco, se lee como secuencia de bytes y se crea un objeto java.lang.Class que actúa ...

Publicado el 6-29 01:49

Arquitectura y Componentes de una Plataforma de E-commerce para Libros de Estudio Universitario

Este documento detalla el diseño y la implementación de una plataforma de comercio electrónico dedicada a la venta de libros y materiales de estudio para la preparación de exámenes universitarios. La solución se concibe como una aplicación web robusta, que combina tecnologías modernas de backend y frontend para ofrecer una experiencia de usuari ...

Publicado el 6-29 01:47

Implementación de Autenticación OAuth 2.0 con QQ en Spring Boot

La integración de sistemas de autenticación de terceros permite a los usuarios acceder a aplicaciones utilizando sus cuentas existentes, mejorando la experiencia de usuario y facilitando la adquisición de clientes. Este proceso se basa fundamentalmente en el protocolo OAuth 2.0. Al implemenatr el inicio de sesión con QQ, el flujo estándar garan ...

Publicado el 6-29 00:36

Uso de scripts Lua en Redis para operaciones atómicas

Beneficios de emplear Lua en Redis La integración de scripts Lua en Redis ofrece ventajas significativas. Permite agrupar múltiples operaciones en un solo envío, reduciendo la latencia de red. Además, garantzia atomicidad: el servidor ejecuta el script completo sin interrupciones, eliminando condiciones de carrera sin necesidad de transacciones ...

Publicado el 6-28 22:42

Anotaciones Condicionales en Spring para Registro Dinámico de Beans

Las anotaciones condicionales en Spring permiten registrar beans de manera dinámica según el entorno actual. Cuando se satisface una condición específica, el bean correspondiente se incorpora al contetxo de la aplicación. Ejemplo práctico con código: 1. Interfaz CommandDisplay.java package com.example.springdemo; public interface CommandDispl ...

Publicado el 6-28 22:36

Configuración de Resultados y Vistas en Struts2

En el framework Struts2, la relación entre los resultados de una Acción y las vistas se establece mediante la etiqueta result en el archivo de configuración XML. Este mecanismo permite al framework determinar qué vista presentar al usuario basándose en la cadena de texto devuelta por la Acción. El proceso se divide en dos fases: la Acción gener ...

Publicado el 6-28 22:32

Gestión de múltiples versiones de JDK en macOS

Antes de profundizar en la configuración manual, conviene mencionar que SDKMAN es la herramienta más recomendada para administrar distintas versiones del JDK. Ofrece mayor estabilidad y automatiza gran parte del proceso. Si prefieres tener control total sin depender de gestores externos, la guía a continuación describe el procedimiento manual. ...

Publicado el 6-28 22:12