Introducción a Arquitectura de Microservicios
Introducción El paradigma de arquitectura monolítica puede plantear problemas en aplicaciones grandes donde resulte conveniente tener información compartimentada y distribuida ya sea por cuestiones de seguridad o por tratar de estructurar el código de forma modular con un alto nivel de independencia entre sus partes. La idea principal de la arquitectura de microservicios [1] consiste…
Fullstack REST API: Angular Frontend + Java (Spring) Backend
Introducción Uno de los perfiles más demandados en el ámbito de la programación en la actualidad es el de Desarrollador Full Stack. Este tipo de programadores deben tener conocimientos amplios de desarrollo web y sus dos pilares fundamentales: Backend y Frontend. El Backend está del lado del servidor y es el encargado de realizar las…
Objetos recursivamente compuestos. Estructuras recursivas y Fractalidad en programación orientada a objetos
Introducción Nuestra experiencia cotidiana nos llevaría a calificar como absurda la idea objetos constituidos por instancias arbitrariamente similares de sí mismos o, más específicamente, recursivamente construidos mediante objetos de la misma clase. Aceptar esta posibilidad implicaría aceptar como válidas construcciones tan extrañas como una Mesa compuesta de (Mesa compuesta de (Mesa compuesta de (Mesa …))).…
Plantilla MVC en java: spring + hibernate
Introducción El siguiente artículo detalla la implementación de un proyecto MVC que utiliza Maven para mantener actualizadas las dependencias de Spring e Hibernate. La idea es poder utilizar esta plantilla como punto de partida con todo lo necesario para construir un proyecto web MVC sin tener que comenzar desde cero cada vez. Para las pruebas…
Implementación DAO para clases genéricas mediante hibernate. uso de reflection y complejidad en JAVA.
Introducción En aplicaciones complejas donde se necesita almacenar y leer objetos de una base de datos es frecuente encontrar implementaciones del Patrón DAO. Aunque cada implementación puede ser distinta, la idea de fondo es la misma: desacoplar la lógica de negocio de la lógica de acceso a datos. Cada implementación del Patrón DAO se debe…
Generación Dinámica de Textos mediante cadenas de Markov
I. Redes neuronales y cadenas de Markov La generación de contenidos de forma procedural —generación por procedimientos o procedimental— se ha impuesto como uno de los paradigmas creativos de mayor relevancia en múltiples disciplinas relacionadas con la programación y el diseño. La generación procedural permite crear recursos de forma dinámica a partir de un algoritmo,…
Colecciones Bidimensionales Dispersas III
En esta última parte del grupo de artículos centrados en clases que pueden funcionar como colecciones alternativas a matrices convencionales vamos a examinar y comparar el rendimiento de NestedDictionary<T> con el de una matriz JaggedArray representada por T[][]. Para comparar el rendimiento de las dos estructuras se han realizado una serie de operaciones en distintos…
Colecciones Bidimensionales Dispersas II
En el artículo anterior se expuso una descripción breve de dos posibles implementaciones de clases que definen colecciones para indexar objetos mediante dos índices independientes. Las colecciones propuestas, NestedDictionary y CoordinatedDictionary2D, son especialmente útiles cuando la densidad de objetos es baja; es decir, situaciones donde la representación matricial T[][] daría lugar a una matriz bidimensional…
Colecciones Bidimensionales Dispersas I
Introducción Llamamos colecciones bidimensionales a aquellas que utilizan dos índices (i,j) para asociar a cada elemento una posición dentro de la colección. La mayoría de lenguajes de programación permite crear de forma nativa matrices bidimensionales ya sea como una única matriz de dos índices T[,] o como una superposición de matrices donde cada elemento de…
Object Pooling – C#
Introducción Como norma general la instanciación de objetos puede ser una operación costosa en situaciones donde se requiera instanciar un gran número de clases y destruirlas en momentos posteriores del ciclo de vida (o ser recogidos por el Garbage Collector en lenguajes donde esta tarea se lleva a cabo de forma autónoma), pudiendo llegar a…
Se ha producido un error. Actualiza la página y/o inténtalo de nuevo.
Sigue mi blog
Recibe nuevo contenido directamente en tu bandeja de entrada.