BUENAS PRÁCTICAS EN TYPESCRIPT
INGENIERÍA DE SISTEMAS VS SOFTWARE: ¿EL FRANKENSTEIN TECNOLÓGICO?
La carrera de Ingeniería de Sistemas suele abarcar diversas disciplinas, desde electrónica y redes hasta gestión de proyectos, lo que a menudo genera dudas sobre su profundidad frente a la Ingeniería de Software pura. Este artículo analiza las diferencias clave entre ambos perfiles y explica cómo esta formación generalista, lejos de ser una desventaja, proporciona una base estructural sólida para quienes buscan especializarse como arquitectos de soluciones o desarrolladores líderes en el mercado tecnológico actual.
[INGENIERÍA DE SOFTWARE] INGENIERÍA DE SISTEMAS VS SOFTWARE: ¿EL FRANKENSTEIN TECNOLÓGICO?
¿QUÉ ES KUBERNETES Y CÓMO FUNCIONA SU ARQUITECTURA?
Kubernetes es la plataforma líder para la orquestación de contenedores, diseñada para automatizar el despliegue, escalado y administración de aplicaciones modernas. En este artículo aprenderás qué es Kubernetes, para qué sirve y cómo funciona su arquitectura interna, incluyendo sus componentes principales y el flujo de comunicación dentro de un clúster. Ideal para quienes comienzan en DevOps o buscan entender cómo se despliegan sistemas a gran escala.
[SISTEMAS DEVOPS] ¿QUÉ ES KUBERNETES Y CÓMO FUNCIONA SU ARQUITECTURA?
WEBASSEMBLY: EL IMPULSO SILECIOSO DEL SOFTWARE ACTUAL
En los últimos años, la web ha evolucionado más rápido que nunca. Pasamos de sitios estáticos a aplicaciones complejas, videojuegos, editores, herramientas de IA y software que antes solo existía en escritorio pero para sostener esta evolución, hacía falta algo más rápido, seguro y flexible que JavaScript. Ahí es donde aparece WebAssembly, una de las tecnologías más revolucionarias del ecosistema moderno.
[INGENIERÍA DE SOFTWARE] WEBASSEMBLY: EL IMPULSO SILECIOSO DEL SOFTWARE ACTUAL
ACELERA TUS PROYECTOS WEB CON SUPABASE
[OTROS] ACELERA TUS PROYECTOS WEB CON SUPABASE
C++ EN 2025: ¿POR QUÉ SIGUE SIENDO UNO DE LOS LENGUAJES MÁS IMPORTANTES?
C++ continúa siendo esencial en 2025 debido a su rendimiento excepcional y control total sobre el hardware ya que es el núcleo de motores de videojuegos, sistemas embebidos, simulaciones físicas, robótica y frameworks de inteligencia artificial. A pesar de la aparición de lenguajes modernos, ninguno logra reemplazar su eficiencia y madurez, con estándares recientes como C++20 y C++23, el lenguaje sigue evolucionando y manteniéndose como uno de los más importantes del mundo tecnológico.
INTRODUCCIÓN A JENKINS: LA HERRAMIENTA ESENCIAL PARA CI/CD
Jenkins es una de las herramientas más utilizadas en el mundo DevOps para automatizar procesos de integración y despliegue continuo (CI/CD). En este artículo aprenderás qué es Jenkins, cómo funciona, qué problemas resuelve y por qué sigue siendo una tecnología fundamental en el desarrollo moderno. Además, conocerás las ventajas que ofrece para optimizar la entrega de software y mejorar la eficiencia de los equipos. Su flexibilidad, amplia comunidad y ecosistema de plugins lo mantienen como una de las soluciones más relevantes en entornos profesionales.
[SISTEMAS DEVOPS] INTRODUCCIÓN A JENKINS: LA HERRAMIENTA ESENCIAL PARA CI/CD
APACHE HADOOP: COMO FUNCIONAN HDFS, MAPREDUCE Y YARN
Apache Hadoop es un framework diseñado para almacenar y procesar grandes volúmenes de datos de forma distribuida. Su arquitectura se basa en tres componentes clave: HDFS, que permite guardar datos en bloques a través de varios nodos; MapReduce, que procesa la información en paralelo; y YARN, que gestiona los recursos del clúster. Gracias a estos elementos, Hadoop ofrece escalabilidad, tolerancia a fallos y eficiencia en el análisis de Big Data. Es una tecnología fundamental en entornos donde se manejan datos masivos.
[BIG DATA] APACHE HADOOP: COMO FUNCIONAN HDFS, MAPREDUCE Y YARN
BIOINFORMÁTICA: CUANDO LA BIOLOGÍA SE ENCUENTRA CON LA PROGRAMACIÓN
La bioinformática combina biología, programación y análisis de datos para resolver problemas complejos como el estudio del genoma, la predicción de proteínas y el desarrollo de medicina personalizada, este campo permite procesar enormes volúmenes de información biológica que antes eran imposibles de analizar manualmente, gracias a herramientas como Python, R y algoritmos de IA, se acelera la investigación científica y la creación de nuevas terapias.
[BIOTECNOLOGÍA] BIOINFORMÁTICA: CUANDO LA BIOLOGÍA SE ENCUENTRA CON LA PROGRAMACIÓN
TOON: EL FORMATO DE DATOS MÁS COMPACTO Y BARATO PARA LA COMUNICACIÓN CON LLMS
La comunicación eficiente de datos es crucial para las aplicaciones que interactúan con Modelos de Lenguaje Grandes (LLMs). TOON (Token-Oriented Object Notation) emerge como una solución que supera a JSON y XML en términos de compactación, lo que se traduce directamente en una reducción significativa de costes operativos. Al tokenizar las claves de los objetos, TOON minimiza la carga de datos enviada y recibida, haciendo que las interacciones con APIs de LLMs sean más rápidas y económicamente viables.
[INTELIGENCIA ARTIFICIAL] TOON: EL FORMATO DE DATOS MÁS COMPACTO Y BARATO PARA LA COMUNICACIÓN CON LLMS
MODELOS DE OUTSOURCING: STAFF AUGMENTATION VS PROYECTO CERRADO
El outsourcing en desarrollo de software permite a las organizaciones optimizar recursos y acelerar la entrega de soluciones tecnológicas. El modelo de Staff Augmentation brinda flexibilidad y control al integrar talento externo directamente al equipo interno. En contraste, el Proyecto Cerrado ofrece un alcance, costo y cronograma definidos desde el inicio. La elección entre ambos dependerá de la madurez operativa, la claridad del proyecto y las necesidades estratégicas de la empresa.
[GESTIÓN DE LAS TECNOLOGÍAS DE INFORMACIÓN] MODELOS DE OUTSOURCING: STAFF AUGMENTATION VS PROYECTO CERRADO
REDIS: LA BASE DE DATOS EN MEMORIA MÁS RÁPIDA
[BASE DE DATOS] REDIS: LA BASE DE DATOS EN MEMORIA MÁS RÁPIDA
QUÉ ES LA PROGRAMACIÓN ORIENTADA A OBJETOS EN C# Y POR QUÉ DEBERÍAS USARLA
La Programación Orientada a Objetos (POO) es uno de los paradigmas más importantes en el desarrollo moderno, y C# la implementa de forma potente y elegante. Su propósito es modelar el mundo real mediante objetos que tienen atributos (datos) y comportamientos (métodos). Gracias a este enfoque, el código se vuelve más modular, mantenible y reutilizable, lo que facilita la creación de aplicaciones escalables en distintos entornos.
[POO CON C#] QUÉ ES LA PROGRAMACIÓN ORIENTADA A OBJETOS EN C# Y PORQUÉ DEBERÍAS USARLA
QUÉ ES GRAPHQL Y POR QUÉ DEBERÍAS USARLO
GraphQL es una tecnología moderna que está transformando la manera en que desarrollamos y consumimos APIs. A diferencia de REST, permite solicitar exactamente los datos necesarios en una sola consulta, evitando peticiones redundantes y mejorando el rendimiento de las aplicaciones. Gracias a su flexibilidad, las interfaces se vuelven más rápidas, ligeras y fáciles de mantener. Cada vez más empresas la adoptan para optimizar la comunicación entre frontend y backend.
[OTROS] QUÉ ES GRAPHQL Y POR QUÉ DEBERÍAS USARLO
EL CEREBRO ANTES QUE EL METAL: AGENTES DE IA SIENDO LA REVOLUCIÓN DEL PROYECTO (SHAKEY)
La aspiración de la robótica por crear máquinas pensantes, iniciada en los 60 con Shakey, ha evolucionado. Ese primer intento de un robot que razonara sobre su entorno, se materializa hoy en los agentes de IA. Aunque estos agentes son cerebros digitales sin cuerpo, representan la misma búsqueda de autonomía para percibir, planificar y actuar. La revolución actual, por tanto, no es de metal, sino la culminación del "pensamiento" que Shakey comenzó.
[ROBÓTICA] EL CEREBRO ANTES QUE EL METAL: AGENTES DE IA SIENDO LA REVOLUCION DEL PROYECTO(SHAKEY)
UI LIMPIA Y MODERNA PARA APPS WEB CON TAILWINDCSS
[OTROS] UI LIMPIA Y MODERNA PARA APPS WEB CON TAILWINDCSS
PIPELINE EN BIG DATA
Un pipeline de Big Data es una cadena automatizada y escalable de procesos que permite la ingesta, procesamiento, almacenamiento y análisis de grandes volúmenes de datos en tiempo real o por lotes. Utiliza arquitecturas distribuidas y herramientas especializadas para manejar datos masivos con velocidad y resiliencia. Su correcta implementación mejora la eficiencia, reduce errores y facilita la toma de decisiones basada en datos.
[BIG DATA] PIPELINE EN BIG DATA
APACHE HADOOP VS APACHE SPARK
Apache Hadoop y Apache Spark son dos de las tecnologías más populares en el mundo de Big Data, pero tienen diferencias fundamentales. Mientras que Hadoop es conocido por su robustez en el procesamiento por lotes, Spark destaca por su velocidad y flexibilidad, al permitir tanto procesamiento en tiempo real como en lotes. La elección entre ambos depende de las necesidades específicas del proyecto, el tipo de datos y la naturaleza de las tareas a realizar.
[BIG DATA] APACHE HADOOP VS APACHE SPARK
UNDERFITTING VS OVERFITTING
El underfitting y el overfitting son problemas comunes en el aprendizaje automático que afectan la capacidad de un modelo para generalizar. El underfitting ocurre cuando el modelo es demasiado simple y no logra captar patrones importantes, mientras que el overfitting sucede cuando se ajusta en exceso a los datos de entrenamiento, incluyendo el ruido. El equilibrio entre ambos es esencial para obtener modelos precisos y robustos.
[INTELIGENCIA ARTIFICIAL] UNDERFITTING VS OVERFITTING
ESTRUCTURA DE DATOS: ÁRBOLES BINARIOS EN C++
Los árboles binarios son estructuras de datos jerárquicas muy utilizadas en algoritmos de búsqueda, clasificación y representación de relaciones. En C++, su implementación permite organizar datos de forma eficiente para realizar operaciones complejas, desde búsquedas hasta recorridos por profundidad. Cada nodo contiene un dato y hasta dos nodos hijos, uno izquierdo y uno derecho.
[ESTRUCTURA DE DATOS] ESTRUCTURAS DE DATOS: ÁRBOLES BINARIOS EN C++
ARQUITECTURA DE SOFTWARE: MULTICAPA (N-CAPAS)
[ARQUITECTURA DE SOFTWARE] ARQUITECTURA DE SOFTWARE: MULTICAPA (N-CAPAS)
ARQUITECTURA DE SOFTWARE: MICROSERVICIOS
[ARQUITECTURA DE SOFTWARE] ARQUITECTURA DE SOFTWARE: MICROSERVICIOS
APRENDIZAJE POR REFUERZO
El aprendizaje por refuerzo (Reinforcement Learning o RL) es una subdisciplina del aprendizaje automático donde un agente aprende a actuar en un entorno tomando decisiones que le permitan maximizar una recompensa acumulada. Este enfoque se basa en el principio de prueba y error y se inspira en cómo los humanos y animales aprenden de la experiencia.
[INTELIGENCIA ARTIFICIAL] APRENDIZAJE POR REFUERZO
TEXT-TO-SPEECH (TTS): CONVERSIÓN DE TEXTO EN VOZ HUMANA
El Text-to-Speech (TTS) es una tecnología que convierte texto en voz hablada, utilizada en asistentes virtuales, herramientas de accesibilidad y sistemas interactivos. Funciona a través del análisis lingüístico del texto y su posterior conversión en audio mediante técnicas tradicionales o inteligencia artificial. Hoy en día, existen múltiples librerías y APIs para integrarlo fácilmente en distintos lenguajes de programación como Python, JavaScript, C# y Java.
[PROSPECCIÓN DE TECNOLOGÍAS EMERGENTES] TEXT-TO-SPEECH (TTS): CONVERSIÓN DE TEXTO EN VOZ HUMANA
ARQUITECTURA DE SOFTWARE: MONOLITOS
[ARQUITECTURA DE SOFTWARE] ARQUITECTURA DE SOFTWARE: MONOLITOS
CNN VS RNN
[INTELIGENCIA ARTIFICIAL] CNN VS RNN
ESTRUCTURA DE DATOS: LISTAS SIMPLES, DOBLES Y CIRCULARES
Las listas enlazadas son estructuras de datos fundamentales en programación, especialmente en C++. Permiten almacenar colecciones de elementos de manera dinámica, adaptándose al crecimiento o reducción de datos durante la ejecución. A diferencia de los arreglos tradicionales, no requieren un tamaño fijo inicial, lo que las hace ideales para aplicaciones con necesidades de memoria flexibles.
[ESTRUCTURA DE DATOS] ESTRUCTURAS DE DATOS: LISTAS ENLAZADAS EN C++
MACHINE LEARNING VS DEEP LEARNING
[INTELIGENCIA ARTIFICIAL] MACHINE LEARNING VS DEEP LEARNING
ESTRUCTURA DE DATOS: PUNTEROS Y MEMORIA DINÁMICA EN C++
Los punteros son una de las herramientas más poderosas del lenguaje C++. Permiten manipular directamente direcciones de memoria y crear estructuras de datos flexibles, como arreglos dinámicos. En este artículo, aprenderás a usar punteros de forma segura, reservando y liberando memoria correctamente, y accediendo a los valores mediante aritmética de punteros.
[ESTRUCTURA DE DATOS] ESTRUCTURA DE DATOS: PUNTEROS Y MEMORIA DINÁMICA EN C++
TINYML: INTELIGENCIA ARTIFICIAL EN DISPOSITIVOS CON RECURSOS LIMITADOS
TinyML permite ejecutar inteligencia artificial en dispositivos muy pequeños, como sensores y microcontroladores, sin necesidad de conexión a internet. Esto mejora la privacidad, la velocidad y el consumo energético, haciéndolo ideal para salud, agricultura y hogares inteligentes. Solo se necesita hardware económico como Arduino o ESP32 y herramientas accesibles como Edge Impulse. Es una tecnología práctica, de bajo costo, y abierta a estudiantes, profesionales y emprendedores.
[INTELIGENCIA ARTIFICIAL] TINYML: INTELIGENCIA ARTIFICIAL EN DISPOSITIVOS CON RECURSOS LIMITADOS
ESTRUCTURA DE DATOS: PUNTEROS
Los punteros en un contexto de programación son variables que tienen un comportamiento especial, de tal manera que su objetivo es guardar posiciones de memoria para acceder al valor de estos, además, de esta manera se puede optimizar el consumo de recursos en un programa, evitando redundancia de declaración de datos, sin embargo, un mal manejo de esto podría implicar mayor consumo de memoria de forma innecesaria.
[ESTRUCTURA DE DATOS] ESTRUCTURA DE DATOS: PUNTEROS
IA DÉBIL VS IA FUERTE
La inteligencia artificial puede dividirse en dos tipos: la IA débil, que realiza tareas específicas y es la que usamos hoy en día, y la IA fuerte, una inteligencia similar a la humana que aún es teórica. Conocer estas diferencias nos permite entender mejor qué puede hacer la IA ahora y hacia dónde podría avanzar en el futuro.
[INTELIGENCIA ARTIFICIAL] IA DÉBIL VS IA FUERTE
FIGMA EN EL CICLO DE DESARROLLO
Figma se ha vuelto clave en el desarrollo de software por su enfoque colaborativo, que une a diseñadores, desarrolladores y equipos de producto en un mismo entorno. El uso de mockups permite alinear expectativas, validar ideas y evitar errores, mejorando la eficiencia y calidad del producto. Más allá del diseño visual, Figma facilita la comunicación entre áreas técnicas y no técnicas, optimizando tiempos y recursos a lo largo del proyecto, asimismo teniendo un enfoque práctico para el desarrollo de software.
[INGENIERÍA DE SOFTWARE] FIGMA EN EL CICLO DE DESARROLLO
¿TIENE FUTURO EL DESARROLLO DE ESCRITORIO?
Aunque el desarrollo web y móvil domina el mercado, el desarrollo de escritorio sigue siendo relevante en muchos sectores especializados. Su vigencia depende del tipo de aplicación, del usuario final y del entorno técnico. Hoy en día, con herramientas como Electron, Tauri o .NET MAUI, es posible crear aplicaciones modernas, potentes y multiplataforma para el escritorio sin quedarse atrás frente a las soluciones web.
[OTROS] ¿TIENE FUTURO EL DESARROLLO DE SOFTWARE DE ESCRITORIO?
INTELIGENCIA ARTIFICIAL DISTRIBUIDA
La IA distribuida permite entrenar modelos colaborativamente en múltiples dispositivos, preservando la privacidad y reduciendo costos de transferencia. Técnicas como el aprendizaje federado impulsan aplicaciones reales en móviles y salud, aunque enfrentan desafíos técnicos y de seguridad. Este enfoque está revolucionando el aprendizaje automático hacia un futuro más eficiente y seguro.
[INTELIGENCIA ARTIFICIAL] INTELIGENCIA ARTIFICIAL DISTRIBUIDA
APRENDIZAJE SUPERVISADO VS NO SUPERVISADO
El aprendizaje supervisado usa datos etiquetados para predecir o clasificar, mientras que el no supervisado descubre patrones sin etiquetas. Ambos tienen ventajas claras según el contexto y los datos disponibles. Supervisado es ideal para tareas concretas; no supervisado, para exploración y segmentación. Saber cuándo usar cada uno es clave en cualquier proyecto de inteligencia artificial.
[INTELIGENCIA ARTIFICIAL] APRENDIZAJE SUPERVISADO VS NO SUPERVISADO
MÁQUINAS VIRTUALES VS CONTENEDORES
[INGENIERÍA DE SOFTWARE] MÁQUINAS VIRTUALES VS CONTENEDORES
ACID VS BASE
ACID y BASE representan dos enfoques fundamentales para la gestión de datos. Mientras ACID garantiza integridad, aislamiento y confiabilidad en bases de datos relacionales, BASE prioriza disponibilidad y escalabilidad en entornos distribuidos, aceptando inconsistencia temporal. Cada modelo responde a necesidades distintas: precisión absoluta o flexibilidad operativa. Elegir entre ellos depende del contexto y los objetivos del sistema.
[BASE DE DATOS] ACID VS BASE
ESTRUCTURA DE DATOS: FUNCIONES PARA VECTORES
Cuando hablamos de estructuras de datos, es importante que conozcamos algunas funciones ya establecidas por librerías del mismo lenguaje de programación; en este caso enfocándonos a C++ ya que es el lenguaje que estamos usando para estos ejemplos. Estas funciones nos puedan facilitar el trabajo en la interacción con ciertas estructuras, como por ejemplo los vectores, donde veremos algunas funciones útiles para el manejo de estos. Si bien aquí no mostraremos la totalidad de funciones que puedan servirnos, al menos veremos las más comunmente usadas.
[ESTRUCTURA DE DATOS] ESTRUCTURA DE DATOS: FUNCIONES PARA VECTORES
NORMALIZACIÓN VS DESNORMALIZACIÓN
La normalización y la desnormalización son dos caras de la misma moneda en el diseño de bases de datos: mientras la normalización busca orden, precisión y mínima redundancia dividiendo los datos cuidadosamente, la desnormalización acelera las lecturas duplicando información para ganar velocidad. Lejos de ser opuestas, ambas técnicas pueden convivir en un sistema bien diseñado, donde se equilibra la integridad de los datos con el rendimiento según las necesidades del proyecto.
[BASE DE DATOS] NORMALIZACIÓN VS DESNORMALIZACIÓN
BUENAS PRÁCTICAS PARA REALIZAR COMMITS EN GIT
Git se ha consolidado como la herramienta de control de versiones por excelencia en el desarrollo de software. Sin embargo, su efectividad no depende únicamente del uso de comandos, sino también de las buenas prácticas asociadas a su uso, entre las cuales se encuentra la redacción de mensajes de commit. Un mensaje de commit bien redactado permite comprender con claridad qué cambios se han realizado, por qué se han hecho y cómo afectan al proyecto.
[SISTEMA DE CONTROL DE VERSIONES] BUENAS PRÁCTICAS PARA REALIZAR COMMITS EN GIT
ESTRUCTURA DE DATOS: MATRICES EN C++
Las matrices en C++, son vectores bidimensionales, aunque no necesariamente limitándose a esto, ya que pueden existir matrices de más dimensiones, sin embargo, no confundir con las reglas del álgebra linea donde las matrices solo pueden ser de 2 dimensiones, por tal motivo, entedamos que aquí estamos tratando el tema de las matrices desde un contexto de programación.
[ESTRUCTURA DE DATOS] ESTRUCTURA DE DATOS: MATRICES EN C++
SEGURIDAD EN BASES DE DATOS
La seguridad en bases de datos va más allá de los backups. Es clave controlar accesos, cifrar los datos y monitorear la actividad para prevenir robos o manipulaciones. También es necesario cumplir con normativas legales para evitar sanciones. Proteger la información es proteger la confianza y el futuro del sistema, evitando accesos no autorizados, mediante estrategias de seguridad y/o resguardo de la información.
[BASE DE DATOS] SEGURIDAD EN BASES DE DATOS
PRINCIPIOS DE DESARROLLO DE SOFTWARE SOLID
SOLID es un conjunto de cinco principios de diseño en programación orientada a objetos que mejoran la modularidad, escalabilidad y mantenimiento del código. Estos principios son, responsabilidad única, abierto/cerrado, sustitución de Liskov, segregación de interfaces e inversión de dependencias. Permitiendo crear software flexible, estructurado y preparado para cambios sin comprometer su estabilidad.
[INGENIERÍA DE SOFTWARE] PRINCIPIOS DE DESARROLLO DE SOFTWARE SOLID
DESARROLLO DE SOFTWARE I: PATRÓN DE DISEÑO MVC EN UNA APLICACIÓN DE JAVA SWING
Visto previamente los patrones de diseño y de arquitecturas de software, ahora veamos como debería estructurarse un proyecto de Java Swing, respetando el Modelo Vista Controlador (MVC). En este post se explicará brevemente la manera en que se debería estructurar un proyecto de Java haciendo uso de su librería de interfaces Swing, respetando 3 capas base, así como complementando con subcapas adicionales para el acceso a datos (DAO "Objeto de Acceso a Datos") y otros aspectos que puedan ser necesarios para este caso.
[DESARROLLO DE SOFTWARE I] DESARROLLO DE SOFTWARE I: PATRÓN DE DISEÑO MVC EN UNA APLICACIÓN DE JAVA SWING
BASE DE DATOS ORIENTADA A GRAFOS
Las bases de datos orientadas a grafos permiten representar y consultar datos con múltiples relaciones de forma natural y eficiente. Utilizan nodos y aristas para modelar conexiones complejas, lo que las hace ideales para aplicaciones como redes sociales, sistemas de recomendación o detección de fraudes. Destacan por su flexibilidad, buen rendimiento en consultas profundas y capacidad para escalar. Son una herramienta clave en un mundo donde entender las relaciones es tan importante como los datos en sí.
[BASE DE DATOS] BASE DE DATOS ORIENTADA A GRAFOS
ESTRUCTURA DE DATOS: MÉTODOS DE ORDENAMIENTO EN C++
Los métodos de ordenamiento en el contexto de programación, son algoritmos que permiten ordenar datos de acuerdo a la necesidad en la que se quiera mostrar dichos datos, sea de manera ascendente o descendente. En cada caso se pueden aplicar diferentes algoritmos como los de bubble sort, selection sort, insertion sort, shell sort, shake sort y qick sort; claro que pueden existir otro más, sin embargo, en este post veremos cada uno de los mencionados, de forma breve.
[ESTRUCTURA DE DATOS] ESTRUCTURA DE DATOS: MÉTODOS DE ORDENAMIENTO EN C++
DESARROLLO DE SOFTWARE I: ARQUITECTURAS SOA, MSA Y MICROFRONTEND
En este post trataremos brevemente varias arquitecturas de software, lo juntamos en un solo post, por tener muchas similitudes, y, a su vez, por inspirarse unas en otras; siendo que SOA es el predecesor de MSA y MSA es la inspiración para haber surgido los Microfrontend. Todas estas arquitecturas, aunque ya tienen tiempo, recientemente se van adoptando en las empresas, por tanto, veremos y entenderemos sus fundamentos conceptuales.
[DESARROLLO DE SOFTWARE I] DESARROLLO DE SOFTWARE I: ARQUITECTURAS SOA, MSA Y MICROFRONTEND
DESARROLLO DE SOFTWARE I: PATRÓN DE DISEÑO GUIADO POR EL DOMINIO (DDD)
El patron de Diseño Guiado por el Dominio (DDD), y, específicamente para esta publicación, considerando su implementación en N capas, es un patrón de desarrollo de software donde se tiene la filosofía de que toda la lógica de la aplicación recaiga en el negocio, en este sentido, se debe estructurar un proyecto, con una o un conjunto de clases que gestionen toda esta lógica, por lo tanto, hay que abstraer cuidadosamente la parte lógica, de la parte visual, así como los datos, el acceso a datos, el repositorio de datos y demás capas.
[DESARROLLO DE SOFTWARE I] DESARROLLO DE SOFTWARE I: PATRÓN DE DISEÑO GUIADO POR EL DOMINIO (DDD)
DESARROLLO DE SOFTWARE I: PATRÓN DE DISEÑO MODELO VISTA CONTROLADOR (MVC)

El patrón de diseño de software Modelo Vista Controlar o simplemente MVC, es un patrón que se divide como base en 3 capas, de tal manera que una se encarga de la exposición de datos a los clientes, una segunda capa se encargará de la parte lógica de la aplicación y la tercera tendrá el rol de reflejar los datos de la base de datos. Esto no quiere decir que se limite a una implementación de 3 capas en su totalidad, sino que puede extenderse a más sub capas, entonces, veamos de que puede tratar todo esto.






%20(1)%20(1)%20(1).png)
%20(1)%20(1)%20(1).png)
%20(1)%20(1).png)
%20(1)%20(1).png)


%20(1)%20(1).jpg)

%20(1)%20(1).jpg)


%20(1)%20(1).jpg)


%20(1)%20(1).jpg)
%20-%20Visual%20S.png)
.png)

