{"id":4082,"date":"2026-06-02T16:13:49","date_gmt":"2026-06-02T08:13:49","guid":{"rendered":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"modified":"2026-06-02T16:13:49","modified_gmt":"2026-06-02T08:13:49","slug":"mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams","status":"publish","type":"post","link":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","title":{"rendered":"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos"},"content":{"rendered":"<h2>Introducci\u00f3n: La Revoluci\u00f3n de la Documentaci\u00f3n Comienza Aqu\u00ed<\/h2>\n<p>En el mundo acelerado del desarrollo de software, existe una verdad inc\u00f3moda que todos enfrentamos: <strong>nuestra documentaci\u00f3n est\u00e1 casi siempre desactualizada<\/strong>. Hemos dedicado incontables horas a luchar con herramientas de diagramaci\u00f3n de arrastrar y soltar, alineando minuciosamente cajas y flechas, solo para ver c\u00f3mo nuestras im\u00e1genes cuidadosamente elaboradas se vuelven obsoletas en el momento en que el c\u00f3digo cambia.<br \/>\nPero, \u00bfy si la documentaci\u00f3n pudiera mantener el ritmo del desarrollo? \u00bfY si crear diagramas de arquitectura profesionales fuera tan simple como escribir una funci\u00f3n?<br \/>\nBienvenidos a la revoluci\u00f3n del Diagrama como C\u00f3digo. Este tutorial le guiar\u00e1 a trav\u00e9s de <strong>VPasCode<\/strong>, la plataforma basada en navegador de Visual Paradigm que transforma la forma en que los equipos crean, comparten y mantienen diagramas de arquitectura de sistemas. Al tratar los diagramas como c\u00f3digo, descubrir\u00e1 c\u00f3mo producir visuales de calidad de publicaci\u00f3n en minutos, no en horas, asegurando que su documentaci\u00f3n evolucione de manera fluida junto con sus sistemas.<br \/>\nYa sea que sea un desarrollador documentando microservicios, un arquitecto presentando a las partes interesadas o un ingeniero de DevOps mapeando infraestructura, esta gu\u00eda integral le dotar\u00e1 de las habilidades para dominar VPasCode y elevar el nivel de documentaci\u00f3n de su equipo.<\/p>\n<hr\/>\n<h2>1. Primeros Pasos: Su Primer Diagrama en 5 Minutos {#getting-started}<\/h2>\n<h3>Sin Instalaci\u00f3n, Sin Configuraci\u00f3n, Solo C\u00f3digo<\/h3>\n<p>Una de las caracter\u00edsticas m\u00e1s poderosas de VPasCode es su incorporaci\u00f3n sin fricci\u00f3n. No hay nada que instalar, no hay cuentas que crear y no hay configuraciones complejas. Creemos su primer diagrama ahora mismo.<br \/>\n<strong>Inicio R\u00e1pido Paso a Paso:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Navegue a VPasCode<\/strong>: Abra su navegador y visite <a href=\"https:\/\/www.vpascode.com\/editor\/\">https:\/\/www.vpascode.com\/editor\/<\/a><\/p>\n<\/li>\n<li>\n<p><strong>Elija su Motor<\/strong>: Seleccione del men\u00fa desplegable:<\/p>\n<ul>\n<li>\n<p><strong>Mermaid<\/strong> \u2013 La mejor para diagramas de flujo y documentaci\u00f3n moderna<\/p>\n<\/li>\n<li>\n<p><strong>PlantUML<\/strong> \u2013 Ideal para UML y arquitectura empresarial<\/p>\n<\/li>\n<li>\n<p><strong>Graphviz<\/strong> \u2013 Perfecto para topolog\u00edas de red complejas<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Cargar una Plantilla<\/strong>: Haga clic en &#8220;Ejemplos&#8221; y seleccione una plantilla de inicio<\/p>\n<\/li>\n<li>\n<p><strong>Editar y Previsualizar<\/strong>: Modifique el c\u00f3digo en el panel izquierdo; observe c\u00f3mo su diagrama se actualiza instant\u00e1neamente a la derecha<\/p>\n<\/li>\n<li>\n<p><strong>Exportar o Compartir<\/strong>: Descargue como SVG\/PNG o copie la URL compartible<\/p>\n<\/li>\n<\/ol>\n<p><img alt=\"VPasCode : System Architecture Documentation Through Diagram-as-Code\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\"\/><br \/>\n<em>Figura 1: VPasCode transforma el c\u00f3digo basado en texto en diagramas de arquitectura profesionales al instante<\/em><\/p>\n<hr\/>\n<h2>2. Comprensi\u00f3n de la interfaz de VPasCode {#interface}<\/h2>\n<p>Antes de profundizar en la sintaxis, familiaric\u00e9monos con el espacio de trabajo.<br \/>\n<img alt=\"The user interface of VPasCode - An All-in-One text-to-diagram (or diagram-as-code) editor\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a17bfb3eef7d.png\"\/><br \/>\n<em>Figura 2: La interfaz de VPasCode de doble panel: c\u00f3digo a la izquierda, vista previa en vivo a la derecha<\/em><\/p>\n<h3>Desglose de los componentes de la interfaz:<\/h3>\n<p><strong>Panel izquierdo (Editor de c\u00f3digo):<\/strong><\/p>\n<ul>\n<li>\n<p>Editor de texto con resaltado de sintaxis<\/p>\n<\/li>\n<li>\n<p>N\u00fameros de l\u00ednea para una f\u00e1cil referencia<\/p>\n<\/li>\n<li>\n<p>Soporte de autocompletado<\/p>\n<\/li>\n<li>\n<p>Resaltado de errores en tiempo real<\/p>\n<\/li>\n<\/ul>\n<p><strong>Panel derecho (Vista previa en vivo):<\/strong><\/p>\n<ul>\n<li>\n<p>Renderizado visual instant\u00e1neo<\/p>\n<\/li>\n<li>\n<p>Controles de desplazamiento y zoom<\/p>\n<\/li>\n<li>\n<p>Visualizaci\u00f3n basada en vectores (n\u00edtida en cualquier nivel de zoom)<\/p>\n<\/li>\n<li>\n<p>Haga clic para inspeccionar elementos<\/p>\n<\/li>\n<\/ul>\n<p><strong>Barra de herramientas superior:<\/strong><\/p>\n<ul>\n<li>\n<p>Selector de motor (Mermaid\/PlantUML\/Graphviz)<\/p>\n<\/li>\n<li>\n<p>Galer\u00eda de plantillas<\/p>\n<\/li>\n<li>\n<p>Opciones de exportaci\u00f3n (SVG, PNG, PDF)<\/p>\n<\/li>\n<li>\n<p>Bot\u00f3n de compartir (genera una URL permanente)<\/p>\n<\/li>\n<li>\n<p>Configuraci\u00f3n y preferencias<\/p>\n<\/li>\n<\/ul>\n<p><strong>Barra de estado inferior:<\/strong><\/p>\n<ul>\n<li>\n<p>Estado de validaci\u00f3n de sintaxis<\/p>\n<\/li>\n<li>\n<p>Contador de caracteres<\/p>\n<\/li>\n<li>\n<p>Marca de hora del \u00faltimo guardado<\/p>\n<\/li>\n<li>\n<p>Referencia de atajos de teclado<\/p>\n<\/li>\n<\/ul>\n<h3>Principio fundamental del flujo de trabajo:<\/h3>\n<pre><code>Escriba c\u00f3digo \u2192 Vea la vista previa instant\u00e1nea \u2192 Refine \u2192 Exportar\/Compartir\r\n<\/code><\/pre>\n<p>Este ciclo de retroalimentaci\u00f3n inmediata es lo que hace que VPasCode sea tan poderoso. No hay un bot\u00f3n de &#8220;renderizar&#8221; que presionar, ni espera por la compilaci\u00f3n; solo retroalimentaci\u00f3n visual pura e instant\u00e1nea mientras escribe.<\/p>\n<hr\/>\n<h2>3. Dominando Mermaid.js: Diagramas de flujo y m\u00e1s all\u00e1 {#mermaid-tutorial}<\/h2>\n<p>Mermaid.js se ha convertido en el est\u00e1ndar de facto para la creaci\u00f3n de diagramas amigable con desarrolladores. Su sintaxis es intuitiva, legible y perfecta para documentaci\u00f3n que vive junto al c\u00f3digo.<\/p>\n<h3>Tutorial 1: Creaci\u00f3n de un flujo de autenticaci\u00f3n de usuario<\/h3>\n<p>Construyamos un diagrama de flujo de autenticaci\u00f3n pr\u00e1ctico que podr\u00edas usar en tu pr\u00f3xima planificaci\u00f3n de sprint.<br \/>\n<strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8b6724da1.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpVkM9qAjEQh++FvsOA1wrarn\/w0KLurlqohVboYfEwJLM2GDOSjQu29mH6AD31AQr1xRrXrawhBAa+mfl+WVhcv8IsvLwAf\/pJpGGTbdAqBmUWljIEYUmSEQo1ZXOo129h8P77E7NdoWPI959aSb77OE4YHIDdlHcwTB44cxYtkLVsQRLk6FEUav9t5lX8ef+1gzCJTK48jhoysrkS3sE34caRcUqc9Q0Lj\/6xCIsi8lJDVl7U24LG7Ez83y86+cVJSDnrnCwEjSZM+bCJrXpDyfMqXNiNkhEZOqRxvPTz719mJTQqto+Tvl6hIHMi\/BXMS0Uwdm79aPS2bBgXDZPkiaSyaqGKxGs0pA9xBRtnWZdsXM15fDO31QR9SJXWvRo101aaXvmP9kt7tUaj3RaiCk5KUAYkJZ7A6y52glYVjEsw7cpOBZTiphW0\/gAog6s8\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph TD\r\n    A[El usuario ingresa credenciales] --&gt; B{\u00bfFormato v\u00e1lido?}\r\n    B --&gt;|No| C[Mostrar error de validaci\u00f3n]\r\n    B --&gt;|S\u00ed| D[Enviar al servicio de autenticaci\u00f3n]\r\n    C --&gt; A\r\n    D --&gt; E{\u00bfCoinciden las credenciales?}\r\n    E --&gt;|No| F[Devolver 401 No autorizado]\r\n    E --&gt;|S\u00ed| G[Generar token JWT]\r\n    G --&gt; H[Almacenar token en cookie HttpOnly]\r\n    H --&gt; I[Redirigir al panel de control]\r\n    F --&gt; A\r\n    \r\n    style A fill:#e1f5ff,stroke:#0066cc\r\n    style I fill:#d4edda,stroke:#28a745\r\n    style F fill:#f8d7da,stroke:#dc3545\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpVkM9qAjEQh++FvsOA1wrarn\/w0KLurlqohVboYfEwJLM2GDOSjQu29mH6AD31AQr1xRrXrawhBAa+mfl+WVhcv8IsvLwAf\/pJpGGTbdAqBmUWljIEYUmSEQo1ZXOo129h8P77E7NdoWPI959aSb77OE4YHIDdlHcwTB44cxYtkLVsQRLk6FEUav9t5lX8ef+1gzCJTK48jhoysrkS3sE34caRcUqc9Q0Lj\/6xCIsi8lJDVl7U24LG7Ez83y86+cVJSDnrnCwEjSZM+bCJrXpDyfMqXNiNkhEZOqRxvPTz719mJTQqto+Tvl6hIHMi\/BXMS0Uwdm79aPS2bBgXDZPkiaSyaqGKxGs0pA9xBRtnWZdsXM15fDO31QR9SJXWvRo101aaXvmP9kt7tUaj3RaiCk5KUAYkJZ7A6y52glYVjEsw7cpOBZTiphW0\/gAog6s8\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Lo que esto demuestra:<\/strong><\/p>\n<ul>\n<li>\n<p>Nodos de decisi\u00f3n (rombos con <code data-backticks=\"1\">{?}<\/code>)<\/p>\n<\/li>\n<li>\n<p>Flujo direccional (<code data-backticks=\"1\">TD<\/code> = De arriba a abajo)<\/p>\n<\/li>\n<li>\n<p>Estilo personalizado con colores<\/p>\n<\/li>\n<li>\n<p>Bucles de auto-referencia<\/p>\n<\/li>\n<li>\n<p>Etiquetado claro<\/p>\n<\/li>\n<\/ul>\n<h3>Tutorial 2: Diagrama de arquitectura de microservicios<\/h3>\n<p>Ahora creemos una arquitectura de sistema m\u00e1s compleja que muestre las relaciones entre servicios.<br \/>\n<strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8b8990079.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNkstq20AUhveFvsPgbGJIqAmpm5gS8IWWUoe6DqEL0cXR6EgeKnvEzCjGj9RFVnkEv1jnKo9kt40Wuvz6\/pnznzmFgGpF5su3b4i+ZJ0WVpiWDDcq6U2hApIhofYbez8dZ64fmCbjqmQUKNu\/bMgW04+peHe3RKAq4u55ykpsoev9yxMrLf2prJVC4XncZO6lU8548SXp6Rv5DAq3sIvr8FJCvvJNEb5IBIxrtUoeUDwxyrgJA7XSYUI1EbnU5mS+f14zhQZUIOE\/lbl1USa9sIMkuK4EShAMSpRxqY8SRauSWtYa4xHyTWQdpsKMZVxGzELwrKaqTTmtzcFubU6xxUHRMH\/LNAMFh6PPQK\/aTTGbJOcTkNgAURp7rgsuVSHw4fu830130utTWu+9Pkg+m\/SPI5+2huj\/2HgKdIXJuXnsf5Ol3kz2T3dBjzW5vLwLg+REN8PHepg288OM2bFqRsqp5s1Kpn8dyfalo\/nITjWexjybdESbzml2pcOaAT3Ifiic7PeI9wsOzx0v5YdF7XRDQtKcleXoLM+H6TC9kErwXzg6o7dXcAUXlJdcjLYrFhrhrC6Id14jzeh14xzcfMjfpzHtK3gt3mR5rcF2sImBw2HWwPnghg4GfwDmUIVX\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph LR\r\n    subgraph Client[\"Capa de cliente\"]\r\n        Web[Aplicaci\u00f3n web&lt;br\/&gt;React]\r\n        Mobile[Aplicaci\u00f3n m\u00f3vil&lt;br\/&gt;Flutter]\r\n    end\r\n    \r\n    subgraph API[\"API Gateway\"]\r\n        Gateway[ Kong Gateway ]\r\n        Auth[Servicio de autenticaci\u00f3n]\r\n        Rate[L\u00edmite de tasa]\r\n    end\r\n    \r\n    subgraph Services[\"Servicios empresariales\"]\r\n        User[Servicio de usuario]\r\n        Order[Servicio de pedidos]\r\n        Product[Servicio de productos]\r\n        Payment[Servicio de pagos]\r\n    end\r\n    \r\n    subgraph Data[\"Capa de datos\"]\r\n        UserDB[(Base de datos de usuario&lt;br\/&gt;PostgreSQL)]\r\n        OrderDB[(Base de datos de pedidos&lt;br\/&gt;MongoDB)]\r\n        ProductDB[(Base de datos de productos&lt;br\/&gt;PostgreSQL)]\r\n        Cache[(Cach\u00e9 Redis)]\r\n    end\r\n    \r\n    Web --&gt; Gateway\r\n    Mobile --&gt; Gateway\r\n    Gateway --&gt; Auth\r\n    Gateway --&gt; Rate\r\n    Rate --&gt; User\r\n    Rate --&gt; Order\r\n    Rate --&gt; Product\r\n    User --&gt; UserDB\r\n    User --&gt; Cache\r\n    Order --&gt; OrderDB\r\n    Order --&gt; Payment\r\n    Product --&gt; ProductDB\r\n    Payment --&gt; OrderDB\r\n    \r\n    style Gateway fill:#ff6b6b,stroke:#c92a2a,color:white\r\n    style UserDB fill:#4ecdc4,stroke:#087f5b\r\n    style OrderDB fill:#4ecdc4,stroke:#087f5b\r\n    style ProductDB fill:#4ecdc4,stroke:#087f5b\r\n    style Cache fill:#ffe66d,stroke:#f08c00\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNkstq20AUhveFvsPgbGJIqAmpm5gS8IWWUoe6DqEL0cXR6EgeKnvEzCjGj9RFVnkEv1jnKo9kt40Wuvz6\/pnznzmFgGpF5su3b4i+ZJ0WVpiWDDcq6U2hApIhofYbez8dZ64fmCbjqmQUKNu\/bMgW04+peHe3RKAq4u55ykpsoev9yxMrLf2prJVC4XncZO6lU8548SXp6Rv5DAq3sIvr8FJCvvJNEb5IBIxrtUoeUDwxyrgJA7XSYUI1EbnU5mS+f14zhQZUIOE\/lbl1USa9sIMkuK4EShAMSpRxqY8SRauSWtYa4xHyTWQdpsKMZVxGzELwrKaqTTmtzcFubU6xxUHRMH\/LNAMFh6PPQK\/aTTGbJOcTkNgAURp7rgsuVSHw4fu830130utTWu+9Pkg+m\/SPI5+2huj\/2HgKdIXJuXnsf5Ol3kz2T3dBjzW5vLwLg+REN8PHepg288OM2bFqRsqp5s1Kpn8dyfalo\/nITjWexjybdESbzml2pcOaAT3Ifiic7PeI9wsOzx0v5YdF7XRDQtKcleXoLM+H6TC9kErwXzg6o7dXcAUXlJdcjLYrFhrhrC6Id14jzeh14xzcfMjfpzHtK3gt3mR5rcF2sImBw2HWwPnghg4GfwDmUIVX\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Conceptos clave:<\/strong><\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">subgraph<\/code> para agrupaci\u00f3n l\u00f3gica<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">LR<\/code> para dise\u00f1o de izquierda a derecha<\/p>\n<\/li>\n<li>\n<p>Etiquetas de varias l\u00edneas con <code data-backticks=\"1\">&lt;br\/&gt;<\/code><\/p>\n<\/li>\n<li>\n<p>Notaci\u00f3n de cilindro de base de datos con <code data-backticks=\"1\">[( )]<\/code><\/p>\n<\/li>\n<li>\n<p>Enrutamiento complejo y relaciones<\/p>\n<\/li>\n<\/ul>\n<h3>Tutorial 3: Diagrama de secuencia para el procesamiento de pedidos<\/h3>\n<p>Los diagramas de secuencia son esenciales para comprender las interacciones temporales entre componentes.<br \/>\n<strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bb593914.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptksFq20AQhu+FvMOQUwpO4\/poiiEoLdGhlqgLPo9WE7FF3lFGaxEa8jA99uBTH0Ev1lmtYzVWhRBI880\/\/\/yrlh735AzdWawEdxfvQC\/ce3b7XUES3xsUb41t0HlIAFtIakvO07S6DdXbprYGje3\/ONhSMaWyQG1IOv3AUBLkVNqS2ymZT0is\/sel51zqOnWIYnkKr8\/hNXv7MFhmR0f1+EyuV6vtEm4roQoFVKQ\/mH3NLWANBkWs5zfkPRoSMBoAkIPLL9ZhbX9qq+FdI3gZ4a3C2RLybPMdbpq4PDyP6jNt7voDv0Q8Uzxdwjdq1bRq2bPl0uuodwR0lnuwssMSx\/5cxwkbarW\/0RBjJT92hliBnnSblsceLSRC2qDb29bLEFa0O0LrJXx2nR1WjGPjyZ+h6zApUcE3UMOhTYR0ek3Gi3605qQeM13MPw4+SoZnlpIkLV9ec4yiX1ndhcX6X5UmHmb3v59OZ3N0wJ6AOz2ebKZpbMhED0b6g\/4b+KmQm1VJBYGmCKrnWjThl8A6CogaBKkKvFrM5zMYHuH+sHgfgX+yTrgIhvSQfpDHsfwaeHoXTJ6GqI\/IkCv\/AsviHl0=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">sequenceDiagram\r\n    autonumber\r\n    participant C as Cliente\r\n    participant W as Aplicaci\u00f3n Web\r\n    participant O as Servicio de Pedidos\r\n    participant P as Servicio de Pagos\r\n    participant I as Servicio de Inventario\r\n    participant N as Servicio de Notificaciones\r\n    \r\n    C-&gt;&gt;W: Agregar art\u00edculos al carrito\r\n    C-&gt;&gt;W: Hacer clic en \"Finalizar compra\"\r\n    W-&gt;&gt;O: POST \/pedidos {art\u00edculos, env\u00edo}\r\n    O-&gt;&gt;I: Reservar inventario\r\n    I--&gt;&gt;O: Reserva confirmada\r\n    O-&gt;&gt;P: Procesar pago\r\n    P--&gt;&gt;O: Pago exitoso\r\n    O-&gt;&gt;O: Crear registro de pedido\r\n    O-&gt;&gt;N: Enviar confirmaci\u00f3n de pedido\r\n    N--&gt;&gt;C: Confirmaci\u00f3n por correo electr\u00f3nico\r\n    O--&gt;&gt;W: 201 Creado {orderId}\r\n    W--&gt;&gt;C: Mostrar p\u00e1gina de \u00e9xito\r\n    \r\n    Note over O,P: Secci\u00f3n cr\u00edtica&lt;br\/&gt;debe ser transaccional\r\n    rect rgba(200, 200, 0, 0.2)\r\n        O-&gt;&gt;P: Cobrar tarjeta\r\n        P--&gt;&gt;O: ID de transacci\u00f3n\r\n    end\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptksFq20AQhu+FvMOQUwpO4\/poiiEoLdGhlqgLPo9WE7FF3lFGaxEa8jA99uBTH0Ev1lmtYzVWhRBI880\/\/\/yrlh735AzdWawEdxfvQC\/ce3b7XUES3xsUb41t0HlIAFtIakvO07S6DdXbprYGje3\/ONhSMaWyQG1IOv3AUBLkVNqS2ymZT0is\/sel51zqOnWIYnkKr8\/hNXv7MFhmR0f1+EyuV6vtEm4roQoFVKQ\/mH3NLWANBkWs5zfkPRoSMBoAkIPLL9ZhbX9qq+FdI3gZ4a3C2RLybPMdbpq4PDyP6jNt7voDv0Q8Uzxdwjdq1bRq2bPl0uuodwR0lnuwssMSx\/5cxwkbarW\/0RBjJT92hliBnnSblsceLSRC2qDb29bLEFa0O0LrJXx2nR1WjGPjyZ+h6zApUcE3UMOhTYR0ek3Gi3605qQeM13MPw4+SoZnlpIkLV9ec4yiX1ndhcX6X5UmHmb3v59OZ3N0wJ6AOz2ebKZpbMhED0b6g\/4b+KmQm1VJBYGmCKrnWjThl8A6CogaBKkKvFrM5zMYHuH+sHgfgX+yTrgIhvSQfpDHsfwaeHoXTJ6GqI\/IkCv\/AsviHl0=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Caracter\u00edsticas del diagrama de secuencia:<\/strong><\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">autonumber<\/code> para la numeraci\u00f3n autom\u00e1tica de pasos<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">participant<\/code> declaraciones<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">-&gt;&gt;<\/code> para llamadas s\u00edncronas<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">--&gt;&gt;<\/code> para respuestas<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">Note over<\/code> para anotaciones<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">rect<\/code> para resaltar secciones<\/p>\n<\/li>\n<\/ul>\n<h3>Tutorial 4: Diagrama de Gantt para la planificaci\u00f3n de sprints<\/h3>\n<p>Mermaid tambi\u00e9n admite la visualizaci\u00f3n de cronogramas de proyectos.<br \/>\n<strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bd9463b2.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kr9OwzAQxnee4ha2RrRJxNCt0BYVKVIFSIjRxG4wNHZkn\/tODB1QHyEvxsVuQkuaGxzHf373fXcumEK8Agqs9+i2Gp4rIxVCnEIEWX3gzRoXMHMoFMqc5bI+KH9jo03JUC9F\/sEA3iiiLIvm89PNxacAuC5vrrlf9YMVuYfAHcu\/hAo7c2lF\/eNT5VqhobvW512vIMQUhSmlYlyPml8u7GQE8ThOo\/FtNG7mgbQqq60oSWyQSge3lNLsZC41PL6+HGksR7lrUASKT0DJCJIAymRhOga8MyuaL\/fK2ph2M8LQVRorV3976UdwgK2NE4QApyQyI9kfos9Je5yk45xXcGmoVm0J73VZaUXGvU6pvGGaWWH94UvZNg1gctH+g7DYmkdNjbKDgPhccAcNoCeHZLcyGkUhORvGJBcw8YDzFdls2xPafrJw\/nDOM0kv7V99016fFvFiqEOyZzgwj3WbOS5Rm3rPQvELZ8g1H0IlPZS3\/AsT+guh\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">gantt\n    t\u00edtulo Sprint 24 - M\u00f3dulo de Autenticaci\u00f3n\n    formatoFecha  YYYY-MM-DD\n    formatoEje  %m\/%d\n    \n    secci\u00f3n Backend\n    Dise\u00f1o de contratos de API       :terminado,    des1, 2024-06-01, 2d\n    Implementaci\u00f3n del servicio JWT      :activo,  des2, 2024-06-03, 3d\n    Migraci\u00f3n de base de datos         :         des3, despu\u00e9s de des2, 2d\n    Pruebas unitarias              :         des4, despu\u00e9s de des3, 2d\n    \n    secci\u00f3n Frontend\n    Componente de inicio de sesi\u00f3n           :         front1, 2024-06-03, 3d\n    Gesti\u00f3n de tokens          :         front2, despu\u00e9s de front1, 2d\n    Rutas protegidas          :         front3, despu\u00e9s de front2, 2d\n    \n    secci\u00f3n Integraci\u00f3n\n    Integraci\u00f3n de API           :         int1, despu\u00e9s de des4, 2d\n    Pruebas E2E              :         int2, despu\u00e9s de int1, 3d\n    Auditor\u00eda de seguridad           :         int3, despu\u00e9s de int2, 2d\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kr9OwzAQxnee4ha2RrRJxNCt0BYVKVIFSIjRxG4wNHZkn\/tODB1QHyEvxsVuQkuaGxzHf373fXcumEK8Agqs9+i2Gp4rIxVCnEIEWX3gzRoXMHMoFMqc5bI+KH9jo03JUC9F\/sEA3iiiLIvm89PNxacAuC5vrrlf9YMVuYfAHcu\/hAo7c2lF\/eNT5VqhobvW512vIMQUhSmlYlyPml8u7GQE8ThOo\/FtNG7mgbQqq60oSWyQSge3lNLsZC41PL6+HGksR7lrUASKT0DJCJIAymRhOga8MyuaL\/fK2ph2M8LQVRorV3976UdwgK2NE4QApyQyI9kfos9Je5yk45xXcGmoVm0J73VZaUXGvU6pvGGaWWH94UvZNg1gctH+g7DYmkdNjbKDgPhccAcNoCeHZLcyGkUhORvGJBcw8YDzFdls2xPafrJw\/nDOM0kv7V99016fFvFiqEOyZzgwj3WbOS5Rm3rPQvELZ8g1H0IlPZS3\/AsT+guh\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>4. Inmersi\u00f3n profunda en PlantUML: Arquitectura empresarial {#plantuml-tutorial}<\/h2>\n<p>PlantUML sobresale en diagramas UML formales y documentaci\u00f3n de arquitectura empresarial. Exploremos ejemplos pr\u00e1cticos.<\/p>\n<h3>Tutorial 1: Diagrama de componentes para plataforma de comercio electr\u00f3nico<\/h3>\n<p><strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bf0e526c.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLHBRjim4Dtp55DrxIowx2A8uo95WQPrQnHT55sCf4dCXY8PVXmOHG_J0sIL8_XY7V4ZsuY1HXk9Rzuy3j-CUE43kX079Lw5DGq4Lg7Kmjz9RT7X02rsTxVEHDqlZ38ENb-bvu3HcS4QJJgimbOHiDOR8SBkCKHbe5ag37XZt83GqyWbrqa3fAWBRlUaPMTW1dDt7sLWABhAovha6o4itaSA1Cq2RGfRHvw3s4bMQE2t07v-N3d32Rg71sf_ZX86lbEROtEhP9VvCEoUDb8LnhLffQ9CMg8cDUfZFqWjVN0ver3d8oh-dAXdllmmLR54ZuvKnKlkUmpqWDjIJEGoGwsdgiUmpk6FSf01UpQR9GBB5SPNraYnenfMv3QIBVL0m-WBEecARQlrr7Yo5SFkhpAtfYWkk3UyV4wqrClU-4Bxx7fo9qWu2IrnE_2HddD8RtQFbRLQIskbFh6VDa7U94EuwtNRJoEuFMbuZy5CHspHqmH2StcqJDDY-jYbX5mihzzTlYmr-z0S-F32pEWZTs9A_UQdpCxmS3GBaqU4RVFuYohl-ijuNXvRcCtEfwd9Gte4fM4yGaJvI62QfaDWFpo7Q1s0GontMwHN0cfpzyZKo3rKcYMAOaxCHkz9rS2nkWGKMqJP0ixEpja2U0isjkCFwu0sZ1ilwfPxYe--SxALZft7YPVh-1zBNF0zmJVLFm00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\n!theme plain\nskinparam backgroundColor #FFFFFF\nskinparam componentStyle uml2\n\nt\u00edtulo \"Plataforma de comercio electr\u00f3nico - Arquitectura de componentes\"\n\npaquete \"Capa de presentaci\u00f3n\" {\n    [Frontend web] como Web\n    [Aplicaci\u00f3n m\u00f3vil] como Mobile\n    [Panel de administraci\u00f3n] como Admin\n}\n\npaquete \"Capa de API\" {\n    [Pasarela de API] como Gateway\n    [Autenticaci\u00f3n] como Auth\n    [Limitador de tasa] como RateLimit\n}\n\npaquete \"Servicios empresariales\" {\n    [Servicio de cat\u00e1logo] como Catalog\n    [Servicio de pedidos] como Order\n    [Servicio de pago] como Payment\n    [Servicio de env\u00edo] como Shipping\n    [Servicio de notificaciones] como Notify\n}\n\npaquete \"Capa de datos\" {\n    base de datos \"Base de datos de productos\" como ProdDB\n    base de datos \"Base de datos de pedidos\" como OrderDB\n    base de datos \"Base de datos de usuarios\" como UserDB\n    cola \"Cola de mensajes\" como MQ\n}\n\nWeb --&gt; Gateway\nMobile --&gt; Gateway\nAdmin --&gt; Gateway\n\nGateway --&gt; Auth\nGateway --&gt; RateLimit\nGateway --&gt; Catalog\nGateway --&gt; Order\n\nOrder --&gt; Payment\nOrder --&gt; Shipping\nOrder --&gt; Notify\n\nCatalog --&gt; ProdDB\nOrder --&gt; OrderDB\nAuth --&gt; UserDB\n\nPayment ..&gt; MQ : publicar eventos\nShipping ..&gt; MQ : suscribirse a eventos\nNotify ..&gt; MQ : suscribirse a eventos\n\n@enduml\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLHBRjim4Dtp55DrxIowx2A8uo95WQPrQnHT55sCf4dCXY8PVXmOHG_J0sIL8_XY7V4ZsuY1HXk9Rzuy3j-CUE43kX079Lw5DGq4Lg7Kmjz9RT7X02rsTxVEHDqlZ38ENb-bvu3HcS4QJJgimbOHiDOR8SBkCKHbe5ag37XZt83GqyWbrqa3fAWBRlUaPMTW1dDt7sLWABhAovha6o4itaSA1Cq2RGfRHvw3s4bMQE2t07v-N3d32Rg71sf_ZX86lbEROtEhP9VvCEoUDb8LnhLffQ9CMg8cDUfZFqWjVN0ver3d8oh-dAXdllmmLR54ZuvKnKlkUmpqWDjIJEGoGwsdgiUmpk6FSf01UpQR9GBB5SPNraYnenfMv3QIBVL0m-WBEecARQlrr7Yo5SFkhpAtfYWkk3UyV4wqrClU-4Bxx7fo9qWu2IrnE_2HddD8RtQFbRLQIskbFh6VDa7U94EuwtNRJoEuFMbuZy5CHspHqmH2StcqJDDY-jYbX5mihzzTlYmr-z0S-F32pEWZTs9A_UQdpCxmS3GBaqU4RVFuYohl-ijuNXvRcCtEfwd9Gte4fM4yGaJvI62QfaDWFpo7Q1s0GontMwHN0cfpzyZKo3rKcYMAOaxCHkz9rS2nkWGKMqJP0ixEpja2U0isjkCFwu0sZ1ilwfPxYe--SxALZft7YPVh-1zBNF0zmJVLFm00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><img alt=\"PlantUML Component Diagram\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e8451e511f.png\"\/><br \/>\n<em>Figura 3: Diagrama de componentes de PlantUML que muestra una arquitectura en capas<\/em><\/p>\n<h3>Tutorial 2: Diagrama de implementaci\u00f3n para infraestructura en la nube<\/h3>\n<p><strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<h3>Tutorial 3: Modelo C4 \u2013 Diagrama de contenedores<\/h3>\n<p>El modelo C4 es excelente para comunicar la arquitectura de software en m\u00faltiples niveles de abstracci\u00f3n.<br \/>\n<strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8cec25f51.png\"\/><br \/>\n@startuml<br \/>\n!define AWS_COLOR FF9900<br \/>\n!define DOCKER_COLOR 0DB7ED<br \/>\nskinparam componentStyle uml2<br \/>\nskinparam backgroundColor #FAFAFA<br \/>\nt\u00edtulo &#8220;Arquitectura de implementaci\u00f3n en la nube&#8221;<br \/>\npaquete &#8220;Regi\u00f3n de AWS: us-east-1&#8221; {<br \/>\npaquete &#8220;Subred p\u00fablica&#8221; {<br \/>\n[CDN CloudFront] como CDN<br \/>\n[Balanceador de carga de aplicaciones] como ALB #AWS_COLOR<br \/>\n}<br \/>\npaquete &#8220;Subred privada 1&#8221; {<br \/>\n[Servidor web 1] como Web1 #DOCKER_COLOR<br \/>\n[Servidor web 2] como Web2 #DOCKER_COLOR<br \/>\n}<br \/>\npaquete \u201cSubred Privada 2\u201d {<br \/>\n[Servidor API 1] como API1 #DOCKER_COLOR<br \/>\n[Servidor API 2] como API2 #DOCKER_COLOR<br \/>\n}<br \/>\npaquete \u201cCapa de Datos\u201d {<br \/>\ndatabase \u201cRDS Principal\u201d como RDS1 #AWS_COLOR<br \/>\ndatabase \u201cRDS R\u00e9plica\u201d como RDS2 #AWS_COLOR<br \/>\n[ElastiCache Redis] como Cache #AWS_COLOR<br \/>\n}<br \/>\npaquete \u201cAlmacenamiento\u201d {<br \/>\n[B\u00f3veda S3] como S3 #AWS_COLOR<br \/>\n[Almacenamiento Compartido EFS] como EFS #AWS_COLOR<br \/>\n}<br \/>\n}<br \/>\nInternet \u2013&gt; CDN<br \/>\nCDN \u2013&gt; ALB<br \/>\nALB \u2013&gt; Web1<br \/>\nALB \u2013&gt; Web2<br \/>\nWeb1 \u2013&gt; API1<br \/>\nWeb1 \u2013&gt; API2<br \/>\nWeb2 \u2013&gt; API1<br \/>\nWeb2 \u2013&gt; API2<br \/>\nAPI1 \u2013&gt; RDS1<br \/>\nAPI2 \u2013&gt; RDS1<br \/>\nRDS1 -[dashed]&gt; RDS2<br \/>\nAPI1 \u2013&gt; Cache<br \/>\nAPI2 \u2013&gt; Cache<br \/>\nAPI1 \u2013&gt; S3<br \/>\nAPI2 \u2013&gt; S3<br \/>\nWeb1 \u2013&gt; EFS<br \/>\nWeb2 \u2013&gt; EFS<br \/>\n@enduml<\/p>\n<h3>Tutorial 4: Diagrama de actividad para flujo de trabajo<\/h3>\n<p><strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d19bd807.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLB1Jjn03Br7oZ-CE2s_40wmMbKL1n22gdSpuusCPkt8CuaGfH_4OGzLFw1IysFrJEYoI1muv91d-xtdvxb86JIFkzWspvj8o1cVsuQOF4dRTDSmOG_g1h5F9Om-Ipgpmdh-1O7KGNGUL2bBGMzKF0Qiy01zmOptZbB67HXlznqY1UCppNdlnoZ91Nn7iO5ekBLaoH0DIUHMV_-iZmOe3S9q7p6TdpfpBEmnkLMQzwTjurntYmbrCWhYoSgW99M7nQrObfuhILcBaTvaGgaxSvAHKTi6ET2sMd-BfBlaNZ7PYAsDtjFycst2zATvNvtVOIouiFNivfSiGKh3XpdKe0hPQtLPyiP-73vQ4aa-NcsZM8OmqAldxWjFP90NLQnwNdXBkeFgSEbP-pnQy4-VYmHLxTflpaimQIAkPpaAvx_qmSsn3gOIQptkeNx8jsq6Um2qP7ZoJU4U7komo2vXFxBD3H5OJjoFQknhcJBEBHY_mhBJjMJQaYydZBRi_59s_LcuByoXFUX_\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n|Cliente|\r\ninicio\r\n:Navegar por productos;\r\n:A\u00f1adir al carrito;\r\n:Proceder al pago;\r\n\r\n|Sistema|\r\n:Validar art\u00edculos del carrito;\r\n:Calcular total;\r\nsi (\u00bfArt\u00edculos disponibles?) entonces (s\u00ed)\r\n  :Reservar inventario;\r\nsino (no)\r\n  :Mostrar agotado;\r\n  detener\r\nendif\r\n\r\n|Cliente|\r\n:Ingresar direcci\u00f3n de env\u00edo;\r\n:Seleccionar m\u00e9todo de pago;\r\n\r\n|Sistema|\r\n:Procesar pago;\r\nsi (\u00bfPago exitoso?) entonces (s\u00ed)\r\n  :Crear pedido;\r\n  :Enviar correo de confirmaci\u00f3n;\r\n  :Actualizar inventario;\r\nsino (no)\r\n  :Mostrar error de pago;\r\n  desvincular\r\nendif\r\n\r\n:Enviar pedido;\r\n:Actualizar estado del pedido;\r\ndetener\r\n\r\npartici\u00f3n \"Trabajos en segundo plano\" {\r\n  :Generar factura;\r\n  :Notificar almac\u00e9n;\r\n}\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLB1Jjn03Br7oZ-CE2s_40wmMbKL1n22gdSpuusCPkt8CuaGfH_4OGzLFw1IysFrJEYoI1muv91d-xtdvxb86JIFkzWspvj8o1cVsuQOF4dRTDSmOG_g1h5F9Om-Ipgpmdh-1O7KGNGUL2bBGMzKF0Qiy01zmOptZbB67HXlznqY1UCppNdlnoZ91Nn7iO5ekBLaoH0DIUHMV_-iZmOe3S9q7p6TdpfpBEmnkLMQzwTjurntYmbrCWhYoSgW99M7nQrObfuhILcBaTvaGgaxSvAHKTi6ET2sMd-BfBlaNZ7PYAsDtjFycst2zATvNvtVOIouiFNivfSiGKh3XpdKe0hPQtLPyiP-73vQ4aa-NcsZM8OmqAldxWjFP90NLQnwNdXBkeFgSEbP-pnQy4-VYmHLxTflpaimQIAkPpaAvx_qmSsn3gOIQptkeNx8jsq6Um2qP7ZoJU4U7komo2vXFxBD3H5OJjoFQknhcJBEBHY_mhBJjMJQaYydZBRi_59s_LcuByoXFUX_\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>5. Fundamentos de Graphviz: Visualizaci\u00f3n de redes complejas {#tutorial-graphviz}<\/h2>\n<p>Graphviz (lenguaje DOT) sobresale en la visualizaci\u00f3n de relaciones complejas y topolog\u00edas de red donde los algoritmos de dise\u00f1o son importantes.<\/p>\n<h3>Tutorial 1: Diagrama de dependencias de microservicios<\/h3>\n<p><strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d4a5db75.png\"\/><br \/>\n<em>Figura 4: Visualizaci\u00f3n de Graphviz que muestra dependencias de microservicios y flujo de datos<\/em><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvVfiP1jmGlRoKaKqFqlREOohEBE4VTm49jhr4dgr21u6oPwqfgJ\/DGed\/bQ3QKTNYfw8fvPmjc3E1pAiR0tBjbZgHgUFu4ACFANFBVj089kZ8j9D1DcmTPZlfhMCSjNA9zYnBWQP+mmGrKskZNjo0u9lMy6kBIZniGvlFNn5pVsjiMSbYwJgW59gvBrwVvyA7NXLBhr+z8\/RArhQgorfvxTyx3sO2iKqlf+kNmD71A4E6nCGn8Mlv+CsPRrfru7QB+LgO6nwEMk5ZeyiQ66DJmgJNo+g\/Jq+xhHJsEV4ZoURXsSCyIYZ\/uo1PgIAt2xKl0fBT4YloCtS7UC5KH6nHn1Ymypa+aid4IISJ7xM0cmKyMoJascrbTFzYr0JvJ6MOG3j1tNKCt9v4\/vWk4a+hTf0ulOxLnsxHxXXC6yMZiV1\/VDHrQsmNIYnB0alqNWuHDTsEq74FW6tyojNO6duxho3Bmni73dEyEjC9XI9Kd5nkMSTVG37B7578W5kr7TnDrCkbWJY0kgxLG2tGDdlthg5ab+U7buK+t3uU08ihqx7hZzGTE9GAvzv4xXgsWvHGQZpx45Kzma9I+21aXzChYnhDiaZnKuUIukj78MEhQHanKz9PxJ0010++GeJH25QYggiW1MWpL71A+T4JjXvUmb9A3LTxZLjMnnT7vuH\/y1zcnRO3cynb+f92f4PEt4l5A==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph MicroservicesDependencies {\r\n    rankdir=TB;\r\n    node [shape=box, style=\"rounded,filled\", fontname=\"Arial\"];\r\n    edge [fontname=\"Arial\", fontsize=10];\r\n    \r\n    \/\/ Definici\u00f3n de nodos con colores\r\n    node [fillcolor=\"#e3f2fd\"];\r\n    \"API Gateway\" [fillcolor=\"#ffcdd2\"];\r\n    \"Service Mesh\" [fillcolor=\"#fff9c4\"];\r\n    \r\n    \/\/ Servicios principales\r\n    \"User Service\";\r\n    \"Auth Service\";\r\n    \"Order Service\";\r\n    \"Payment Service\";\r\n    \"Inventory Service\";\r\n    \"Notification Service\";\r\n    \"Analytics Service\";\r\n    \r\n    \/\/ Bases de datos\r\n    node [shape=cylinder, fillcolor=\"#c8e6c9\"];\r\n    \"User DB\";\r\n    \"Order DB\";\r\n    \"Product DB\";\r\n    \"Analytics DB\";\r\n    \r\n    \/\/ Servicios externos\r\n    node [shape=box, fillcolor=\"#f3e5f5\", style=\"dashed,filled\"];\r\n    \"Payment Gateway\";\r\n    \"Email Service\";\r\n    \"SMS Service\";\r\n    \r\n    \/\/ Relaciones\r\n    \"API Gateway\" -&gt; \"Service Mesh\";\r\n    \"Service Mesh\" -&gt; \"User Service\";\r\n    \"Service Mesh\" -&gt; \"Auth Service\";\r\n    \"Service Mesh\" -&gt; \"Order Service\";\r\n    \"Service Mesh\" -&gt; \"Payment Service\";\r\n    \"Service Mesh\" -&gt; \"Inventory Service\";\r\n    \r\n    \"User Service\" -&gt; \"User DB\";\r\n    \"Auth Service\" -&gt; \"User DB\";\r\n    \"Order Service\" -&gt; \"Order DB\";\r\n    \"Order Service\" -&gt; \"Inventory Service\";\r\n    \"Order Service\" -&gt; \"Payment Service\";\r\n    \"Inventory Service\" -&gt; \"Product DB\";\r\n    \"Payment Service\" -&gt; \"Payment Gateway\";\r\n    \"Notification Service\" -&gt; \"Email Service\";\r\n    \"Notification Service\" -&gt; \"SMS Service\";\r\n    \"Analytics Service\" -&gt; \"Analytics DB\";\r\n    \r\n    \"Order Service\" -&gt; \"Notification Service\" [style=dashed];\r\n    \"Payment Service\" -&gt; \"Notification Service\" [style=dashed];\r\n    \r\n    \/\/ Subgrafos para agrupaci\u00f3n\r\n    {\r\n        rank=same;\r\n        \"User Service\";\r\n        \"Auth Service\";\r\n    }\r\n    \r\n    {\r\n        rank=same;\r\n        \"Order Service\";\r\n        \"Payment Service\";\r\n        \"Inventory Service\";\r\n    }\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvVfiP1jmGlRoKaKqFqlREOohEBE4VTm49jhr4dgr21u6oPwqfgJ\/DGed\/bQ3QKTNYfw8fvPmjc3E1pAiR0tBjbZgHgUFu4ACFANFBVj089kZ8j9D1DcmTPZlfhMCSjNA9zYnBWQP+mmGrKskZNjo0u9lMy6kBIZniGvlFNn5pVsjiMSbYwJgW59gvBrwVvyA7NXLBhr+z8\/RArhQgorfvxTyx3sO2iKqlf+kNmD71A4E6nCGn8Mlv+CsPRrfru7QB+LgO6nwEMk5ZeyiQ66DJmgJNo+g\/Jq+xhHJsEV4ZoURXsSCyIYZ\/uo1PgIAt2xKl0fBT4YloCtS7UC5KH6nHn1Ymypa+aid4IISJ7xM0cmKyMoJascrbTFzYr0JvJ6MOG3j1tNKCt9v4\/vWk4a+hTf0ulOxLnsxHxXXC6yMZiV1\/VDHrQsmNIYnB0alqNWuHDTsEq74FW6tyojNO6duxho3Bmni73dEyEjC9XI9Kd5nkMSTVG37B7578W5kr7TnDrCkbWJY0kgxLG2tGDdlthg5ab+U7buK+t3uU08ihqx7hZzGTE9GAvzv4xXgsWvHGQZpx45Kzma9I+21aXzChYnhDiaZnKuUIukj78MEhQHanKz9PxJ0010++GeJH25QYggiW1MWpL71A+T4JjXvUmb9A3LTxZLjMnnT7vuH\/y1zcnRO3cynb+f92f4PEt4l5A==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Tutorial 2: Jerarqu\u00eda organizacional<\/h3>\n<p><strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d92f09cf.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVd1O2zAUvucprOymk7pRWtqCUCeV0u5HYwkDsQs0ISc+bjxcu9hpgU08Elc8Ql9sTvNTJw3QulJln\/h853znfLYJGys8DZGrxoMQqwj920FmKCxuCFO9i+Oj5VpIAuhKh3gKPV\/e15GOHjj0HCVnggCpU8Y5EKeOqBSRwBPz6QvwOUQswM7vBAPI2GBUbagjrJS80+wv9Bofu+n+5d\/uLvrB5sAR\/IFgFrG5XJoHQxddcewD7zlmLr7JUKDzCYvCOAeTTCC5VD3n3d5ht0OaaWKp8S5kETiVUQbLpZ75SVUCPtMRqGu4hyCtTDzSwMPbGZvKVWbOUb4jKQ\/BOgSysmZJHTYCTA+t7flkcGHxunDFOVY4RDE7LUWJ2n4Tt2k747H0HlneI1ecsiDEhtWxKe4G3q7l7bpiOGH8AZ3gOdNv+3qWr+eK2IugX4y\/lfZjoQlfxRgEA7V4wi80QozX+2B5rbUgEeZ6C6BFm5RUteDSux6aKBmbSw8Z6dshinQ6+36bduxarDKoyP46AjzRFoc1PWkrKUtKMopsHoVA8TjGwQ0IkuedijM1i9peE7GUhNTvSyR8nwD1bRLxGClzZiowM7uoHWyNeQJzd6rLiIlV1Npb4531y1hnfVHrbIXzWKFET0kyCyJZLcNp8nVdipnbxjqklLag8YIOU7SSFvMYRV6U+t19YvPyTvdy18+gwDTN9hcexxGmUk3wGlQQHDSKUM1XoU4Xz3PGN4BpvQrTF5gvntI34WWoYqt+AscBkwJ0\/jR8+BTfpEeF9ai0dktrz7UehPgeNsbkLkjs6b1grOmZKpuzY1G2J+IuW8\/6djgvC5eWIt+dScB8Ne2sNjerza3iA\/d98SQAazSdmSwxiWfmcYmFiH2pTAUXz2Ink82KpXn1rQuongu3245\/WUdifVgl2NSptVWgx\/89Sn3o\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph OrgChart {\n    rankdir=TB;\n    node [shape=box, style=\"rounded,filled\", fontname=\"Helvetica\"];\n    edge [fontname=\"Helvetica\", arrowsize=0.7];\n    \n    \/\/ Nivel ejecutivo\n    CEO [label=\"CEOnJohn Smith\", fillcolor=\"#1976d2\", fontcolor=\"white\"];\n    \n    \/\/ Nivel C\n    subgraph cluster_exec {\n        label=\"Equipo ejecutivo\";\n        style=dashed;\n        color=\"#90caf9\";\n        \n        CTO [label=\"CTOnSarah Johnson\", fillcolor=\"#42a5f5\"];\n        CFO [label=\"CFOnMichael Brown\", fillcolor=\"#42a5f5\"];\n        COO [label=\"COOnEmily Davis\", fillcolor=\"#42a5f5\"];\n        CPO [label=\"CPOnDavid Wilson\", fillcolor=\"#42a5f5\"];\n    }\n    \n    \/\/ Ingenier\u00eda\n    subgraph cluster_eng {\n        label=\"Ingenier\u00eda\";\n        style=filled;\n        color=\"#e3f2fd\";\n        \n        VP_Eng [label=\"VP de Ingenier\u00eda\", fillcolor=\"#64b5f6\"];\n        \n        subgraph cluster_eng_teams {\n            label=\"Equipos\";\n            style=dotted;\n            \n            Backend [label=\"Equipo Backendn(12 ingenieros)\", fillcolor=\"#bbdefb\"];\n            Frontend [label=\"Equipo Frontendn(8 ingenieros)\", fillcolor=\"#bbdefb\"];\n            DevOps [label=\"Equipo DevOpsn(5 ingenieros)\", fillcolor=\"#bbdefb\"];\n            QA [label=\"Equipo QAn(6 ingenieros)\", fillcolor=\"#bbdefb\"];\n        }\n    }\n    \n    \/\/ Producto\n    subgraph cluster_product {\n        label=\"Producto\";\n        style=filled;\n        color=\"#fff3e0\";\n        \n        VP_Product [label=\"VP de Producto\", fillcolor=\"#ffb74d\"];\n        PM1 [label=\"Gerente de ProductonPlataforma\", fillcolor=\"#ffcc80\"];\n        PM2 [label=\"Gerente de ProductonM\u00f3vil\", fillcolor=\"#ffcc80\"];\n        PM3 [label=\"Gerente de ProductonAnal\u00edtica\", fillcolor=\"#ffcc80\"];\n    }\n    \n    \/\/ Relaciones\n    CEO -&gt; CTO;\n    CEO -&gt; CFO;\n    CEO -&gt; COO;\n    CEO -&gt; CPO;\n    \n    CTO -&gt; VP_Eng;\n    VP_Eng -&gt; Backend;\n    VP_Eng -&gt; Frontend;\n    VP_Eng -&gt; DevOps;\n    VP_Eng -&gt; QA;\n    \n    CPO -&gt; VP_Product;\n    VP_Product -&gt; PM1;\n    VP_Product -&gt; PM2;\n    VP_Product -&gt; PM3;\n    \n    \/\/ L\u00edneas punteadas para colaboraci\u00f3n\n    PM1 -&gt; Backend [style=dotted, color=\"#757575\"];\n    PM2 -&gt; Frontend [style=dotted, color=\"#757575\"];\n    PM3 -&gt; Backend [style=dotted, color=\"#757575\"];\n}\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVd1O2zAUvucprOymk7pRWtqCUCeV0u5HYwkDsQs0ISc+bjxcu9hpgU08Elc8Ql9sTvNTJw3QulJln\/h853znfLYJGys8DZGrxoMQqwj920FmKCxuCFO9i+Oj5VpIAuhKh3gKPV\/e15GOHjj0HCVnggCpU8Y5EKeOqBSRwBPz6QvwOUQswM7vBAPI2GBUbagjrJS80+wv9Bofu+n+5d\/uLvrB5sAR\/IFgFrG5XJoHQxddcewD7zlmLr7JUKDzCYvCOAeTTCC5VD3n3d5ht0OaaWKp8S5kETiVUQbLpZ75SVUCPtMRqGu4hyCtTDzSwMPbGZvKVWbOUb4jKQ\/BOgSysmZJHTYCTA+t7flkcGHxunDFOVY4RDE7LUWJ2n4Tt2k747H0HlneI1ecsiDEhtWxKe4G3q7l7bpiOGH8AZ3gOdNv+3qWr+eK2IugX4y\/lfZjoQlfxRgEA7V4wi80QozX+2B5rbUgEeZ6C6BFm5RUteDSux6aKBmbSw8Z6dshinQ6+36bduxarDKoyP46AjzRFoc1PWkrKUtKMopsHoVA8TjGwQ0IkuedijM1i9peE7GUhNTvSyR8nwD1bRLxGClzZiowM7uoHWyNeQJzd6rLiIlV1Npb4531y1hnfVHrbIXzWKFET0kyCyJZLcNp8nVdipnbxjqklLag8YIOU7SSFvMYRV6U+t19YvPyTvdy18+gwDTN9hcexxGmUk3wGlQQHDSKUM1XoU4Xz3PGN4BpvQrTF5gvntI34WWoYqt+AscBkwJ0\/jR8+BTfpEeF9ai0dktrz7UehPgeNsbkLkjs6b1grOmZKpuzY1G2J+IuW8\/6djgvC5eWIt+dScB8Ne2sNjerza3iA\/d98SQAazSdmSwxiWfmcYmFiH2pTAUXz2Ink82KpXn1rQuongu3245\/WUdifVgl2NSptVWgx\/89Sn3o\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Tutorial 3: Diagrama de flujo de datos<\/h3>\n<p><strong>C\u00f3digo de ejemplo:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8da8555c4.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp1VU1PGzEQvfdXWNtjaSkEUFG1lYCFqhJSI5C4oB4m9myY4rW3tjeloP4kTv0J\/LHOfjsbkkOUrN88P79541W0dFDeiQwCXGj7Wzy9EfxxYO4VufTy6nPz31iFHst078PH8YG49XdQYopaU+lxR\/jwR2Oa5KQ1qmRH5NYEAwU\/OnEEOvnR1qJacu10sYV7esT0uAM2X7u74twEUsAKBD4EdAZ8pKHeTVptXZq8zXMpF5KpWmEL+9AxnVU+2AKduNWwQJ0mZ5rQBOwl3aBRdlydO7tC5Cf9+in7Maxekw9YgFiAkeDIJhO5XC3R220i5aEEPB5ESnJSY0cx3xt2uULQ9AhOlKhIDZvM92OVvE+NgOW4PhvWT2SoOg4yKz5uLHZ+MOC+okHHoBy4wMGAOBwQ52ZFm0qOpuvGBspJgqSXf2bqyokuQPJOXrAhCsJ2fz7hkTyOmzhTHVc22nMKHgem+kcrzvfbZvvboZtuZLPtaNlGZWQ+iHq05Cy4FtfZ56cHv9DVTzs59ZDH91\/inl9bTZJCpcYDJWMyGBsZ0Pm52ZYW+GoM5HrqW2iUqAwD8Oy2fkah6pPH6PVJWNMbFTSode4za3JyRRuOKb7ljrI750WedmLDJipmzfEizeQLMhU5vn6svI\/moGYcezVvXBKyk6EmtAcNbTQUFTj1ylA0uCj6WR+TCTAWcfi6YWhWL882GjfGTi6i80C\/Km7KNngk5JvJbWyvx2VFRd3vyUmP6sLNC3GjPY1f5p243kLE0b58eTYIXpQVpwpU\/Qsc1B77Sofums72JiZ8X4T6xuFNhrTpPsT9S4S57lCNs7w+JzfomouGOciX1tCCdP2G2FI+m5T3AmjdMj3MxwbN3\/8m0zO5\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph DataFlow {\n    rankdir=LR;\n    nodesep=1.0;\n    node [shape=ellipse, style=\"filled\", fontname=\"Arial\"];\n    edge [fontname=\"Arial\", fontsize=9];\n    \n    \/\/ Entidades externas\n    node [fillcolor=\"#ffccbc\", shape=box];\n    Customer [label=\"Cliente\"];\n    Vendor [label=\"Proveedor\"];\n    Bank [label=\"Sistema bancario\"];\n    \n    \/\/ Procesos\n    node [fillcolor=\"#c5cae9\", shape=circle];\n    P1 [label=\"Realizar pedido\"];\n    P2 [label=\"Procesar pago\"];\n    P3 [label=\"Actualizar inventario\"];\n    P4 [label=\"Generar factura\"];\n    P5 [label=\"Enviar pedido\"];\n    P6 [label=\"Enviar notificaci\u00f3n\"];\n    \n    \/\/ Almacenes de datos\n    node [fillcolor=\"#c8e6c9\", shape=box3d];\n    D1 [label=\"Base de datos de pedidos\"];\n    D2 [label=\"Base de datos de inventario\"];\n    D3 [label=\"Base de datos de clientes\"];\n    D4 [label=\"Registros de facturas\"];\n    \n    \/\/ Flujos de datos\n    Customer -&gt; P1 [label=\"Solicitud de pedido\"];\n    P1 -&gt; D1 [label=\"Almacenar pedido\"];\n    P1 -&gt; D3 [label=\"Actualizar cliente\"];\n    P1 -&gt; P2 [label=\"Detalles de pago\"];\n    \n    P2 -&gt; Bank [label=\"Solicitud de pago\"];\n    Bank -&gt; P2 [label=\"Confirmaci\u00f3n de pago\"];\n    P2 -&gt; P3 [label=\"Pago exitoso\"];\n    \n    P3 -&gt; D2 [label=\"Disminuir stock\"];\n    P3 -&gt; P4 [label=\"Pedido confirmado\"];\n    \n    P4 -&gt; D4 [label=\"Guardar factura\"];\n    P4 -&gt; P6 [label=\"Datos de factura\"];\n    \n    P3 -&gt; P5 [label=\"Solicitud de env\u00edo\"];\n    P5 -&gt; Vendor [label=\"Etiqueta de env\u00edo\"];\n    P5 -&gt; P6 [label=\"Informaci\u00f3n de seguimiento\"];\n    \n    P6 -&gt; Customer [label=\"Confirmaci\u00f3n de pedidon+ Seguimiento\"];\n    \n    \/\/ L\u00edneas punteadas para consultas\n    D1 -&gt; P5 [label=\"Obtener detalles del pedido\", style=dashed];\n    D2 -&gt; P1 [label=\"Verificar disponibilidad\", style=dashed];\n    D3 -&gt; P1 [label=\"Obtener informaci\u00f3n del cliente\", style=dashed];\n}\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp1VU1PGzEQvfdXWNtjaSkEUFG1lYCFqhJSI5C4oB4m9myY4rW3tjeloP4kTv0J\/LHOfjsbkkOUrN88P79541W0dFDeiQwCXGj7Wzy9EfxxYO4VufTy6nPz31iFHst078PH8YG49XdQYopaU+lxR\/jwR2Oa5KQ1qmRH5NYEAwU\/OnEEOvnR1qJacu10sYV7esT0uAM2X7u74twEUsAKBD4EdAZ8pKHeTVptXZq8zXMpF5KpWmEL+9AxnVU+2AKduNWwQJ0mZ5rQBOwl3aBRdlydO7tC5Cf9+in7Maxekw9YgFiAkeDIJhO5XC3R220i5aEEPB5ESnJSY0cx3xt2uULQ9AhOlKhIDZvM92OVvE+NgOW4PhvWT2SoOg4yKz5uLHZ+MOC+okHHoBy4wMGAOBwQ52ZFm0qOpuvGBspJgqSXf2bqyokuQPJOXrAhCsJ2fz7hkTyOmzhTHVc22nMKHgem+kcrzvfbZvvboZtuZLPtaNlGZWQ+iHq05Cy4FtfZ56cHv9DVTzs59ZDH91\/inl9bTZJCpcYDJWMyGBsZ0Pm52ZYW+GoM5HrqW2iUqAwD8Oy2fkah6pPH6PVJWNMbFTSode4za3JyRRuOKb7ljrI750WedmLDJipmzfEizeQLMhU5vn6svI\/moGYcezVvXBKyk6EmtAcNbTQUFTj1ylA0uCj6WR+TCTAWcfi6YWhWL882GjfGTi6i80C\/Km7KNngk5JvJbWyvx2VFRd3vyUmP6sLNC3GjPY1f5p243kLE0b58eTYIXpQVpwpU\/Qsc1B77Sofums72JiZ8X4T6xuFNhrTpPsT9S4S57lCNs7w+JzfomouGOciX1tCCdP2G2FI+m5T3AmjdMj3MxwbN3\/8m0zO5\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>6. Patrones de Implementaci\u00f3n en el Mundo Real {#patrones-de-implementacion}<\/h2>\n<h3>Patr\u00f3n 1: Documentaci\u00f3n del Pipeline de CI\/CD<\/h3>\n<p><strong>C\u00f3digo de ejemplo (Mermaid):<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8deb63fe2.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUs1qGzEQvhf6DsvmmkCJExJ8KLj20gZsanbbk+hBlsaqiCIZ\/ZT2cXrsOY\/gF+uMtDZaX1otmG8+f\/M\/yvPD92bdv33T4AtppzIxuOQFsHbpbPTONBKaz14rsO23oqT3UUfWw8EFHZ3XjuxPaVcJtj0bnNFCxyQpRPczei6EPr7aUQVWFnCRf\/nE2icbAa0sb6gQbROv86+1jWxhj7+NDjpQguXxVWrlKs0XCJFtfYIdD81XqyP3modK8CFpI9nCR9hzEV0J42yIPk0qpTcIblkX8Be4bwZQyWvJ5b96WbF2BeFgNDrAqRNXd7KCHyxLQGFgsEgE7nHwpu5liFzBVNdZHL11VPTYZKXvbrtz6+P04cU1\/ITqTXknp5GJSf+1q42zdACsHQFMWls7FdhCeYxbNomV9KA0DtjVxW4gei0C2+Jw871tjn+ImXS0MOBjYAN6wwsnVWbOmosS8SCbm5v3eIfF3vbZpLspBKFM0ZkUilCm8mEULsNM0gUUjlCmcHeFQVA0tKZRRDCTuItCISg14XzHqhCVunBUF9Q4lcKORv6jTGKyj\/jLQG55r42ZX+3f0XdNc36G+dVsNqt1OUMRyjuQkp+Ft4\/84e7+Wjjj\/HxnuHiu\/UreU4pH+VB5SjG7n3r+BUKOR0k=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph LR\r\n    subgraph Source[\"Control de Origen\"]\r\n        Git[Repositorio GitHub]\r\n        PR[Solicitud de Extracci\u00f3n]\r\n    end\r\n    \r\n    subgraph CI[\"Integraci\u00f3n Continua\"]\r\n        Lint[An\u00e1lisis de C\u00f3digo]\r\n        Test[Pruebas Unitarias]\r\n        Build[Artefactos de Construcci\u00f3n]\r\n        Scan[Escanear Seguridad]\r\n    end\r\n    \r\n    subgraph CD[\"Despliegue Continuo\"]\r\n        Dev[Desplegar en Desarrollo]\r\n        Stage[Desplegar en Entorno de Pruebas]\r\n        E2E[Pruebas de Extremo a Extremo]\r\n        Prod[Desplegar en Producci\u00f3n]\r\n    end\r\n    \r\n    subgraph Monitor[\"Monitoreo\"]\r\n        Logs[Agregaci\u00f3n de Registros]\r\n        Metrics[Panel de M\u00e9tricas]\r\n        Alerts[Sistema de Alertas]\r\n    end\r\n    \r\n    Git --&gt; PR\r\n    PR --&gt; Lint\r\n    Lint --&gt; Test\r\n    Test --&gt; Build\r\n    Build --&gt; Scan\r\n    Scan --&gt; Dev\r\n    Dev --&gt; Stage\r\n    Stage --&gt; E2E\r\n    E2E --&gt; Prod\r\n    Prod --&gt; Logs\r\n    Prod --&gt; Metrics\r\n    Metrics --&gt; Alerts\r\n    \r\n    style Git fill:#f0f0f0,stroke:#333\r\n    style Prod fill:#d4edda,stroke:#28a745,color:black\r\n    style Alerts fill:#f8d7da,stroke:#dc3545,color:black\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUs1qGzEQvhf6DsvmmkCJExJ8KLj20gZsanbbk+hBlsaqiCIZ\/ZT2cXrsOY\/gF+uMtDZaX1otmG8+f\/M\/yvPD92bdv33T4AtppzIxuOQFsHbpbPTONBKaz14rsO23oqT3UUfWw8EFHZ3XjuxPaVcJtj0bnNFCxyQpRPczei6EPr7aUQVWFnCRf\/nE2icbAa0sb6gQbROv86+1jWxhj7+NDjpQguXxVWrlKs0XCJFtfYIdD81XqyP3modK8CFpI9nCR9hzEV0J42yIPk0qpTcIblkX8Be4bwZQyWvJ5b96WbF2BeFgNDrAqRNXd7KCHyxLQGFgsEgE7nHwpu5liFzBVNdZHL11VPTYZKXvbrtz6+P04cU1\/ITqTXknp5GJSf+1q42zdACsHQFMWls7FdhCeYxbNomV9KA0DtjVxW4gei0C2+Jw871tjn+ImXS0MOBjYAN6wwsnVWbOmosS8SCbm5v3eIfF3vbZpLspBKFM0ZkUilCm8mEULsNM0gUUjlCmcHeFQVA0tKZRRDCTuItCISg14XzHqhCVunBUF9Q4lcKORv6jTGKyj\/jLQG55r42ZX+3f0XdNc36G+dVsNqt1OUMRyjuQkp+Ft4\/84e7+Wjjj\/HxnuHiu\/UreU4pH+VB5SjG7n3r+BUKOR0k=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Patr\u00f3n 2: Dise\u00f1o de Esquema de Base de Datos<\/h3>\n<p><strong>C\u00f3digo de ejemplo (PlantUML):<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e0682d4f.png\"\/><br \/>\n<em>Figura 5: Diagrama de Entidad-Relaci\u00f3n que muestra el esquema de base de datos de comercio electr\u00f3nico<\/em><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLN1Qjj04BqR_0zRUh4W1YVWImWXgcjJapYOr2czYM5tB2-HTjNTLHidpYVbr4_8ZtLMaXKfaGlHnUZDxCoRzsRb2-l0k3nD-hrF0jTI8Lk5Nwwc0mKf1WoLasxB_0ixEsE3rT7dsIoa9s3dvwz7bfU3-u3TKyhoiedFQdnMuFrUMVpMvc2ajW5xxFSOFLGWjsWYAG9sokRNgn8U3ijVJ44c5FWHtao-XJU3a_4uA2CPMFj76n5jm6uwCxX1S2WYS1HUpHVJxwjmiInZ2LWN9JgMwdsCX76v9NnwVRlezvvUsI-D5ZbtRVfP2HwQmDxb3NRZKKMk4BQBjK3BZSoSr0MrwS-gNcOazoU-JYVpHNWrE1uTdGHxmfhVHRzoA3rhaE0aGApDbiZjuSOuap8geJLFuqpdG6-O7uz6jIE6jgQxrHA556tToBl3li-wrw8y8uZXUzkSTf14aEfSkKCwjOmje8tCCgdY28GmQ6qjUOFxt65gom6Q_2N1_w7VETxiuBfqkPShwQ83lZUrXVZDHi8sBPtu4BdziHJTHekMJCw0ii3zKfR-lj_R3mfFCd3Ik-Dw5fFjlnDijniEzIEhzeSowL8dyW7wlJtqf8V3tIEhJvoo38r3XHoZHfelH6aDCocJQnATKlkz9bvKtB7wjXTTrqZRpQMlMEDLukizyYMhbmSGEaBL9k0dyMvvaX3xZ4mRFw_IjD96nXl7zBgUnKiL9YbmLC1uJkPG2u6C9qJQOH7VCheEke0XT_wppO7Bbx_K6PLWld3T8C5rKR-Yv8_VO2ojCzf_NsYy319VgVAxgiEyJWJJ_Kgmw8JgzykpRdUue1VwE_a7\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!define TABLE(name) entity name &lt;&lt; (T,#FFAAAA) &gt;&gt;\r\n!define PK(x) x &lt;&lt;PK&gt;&gt;\r\n!define FK(x) x &lt;&lt;FK&gt;&gt;\r\n\r\nTABLE(Usuarios) {\r\n    PK(user_id) : INT\r\n    --\r\n    email : VARCHAR(255)\r\n    password_hash : VARCHAR(255)\r\n    created_at : TIMESTAMP\r\n    last_login : TIMESTAMP\r\n    status : ENUM\r\n}\r\n\r\nTABLE(Productos) {\r\n    PK(product_id) : INT\r\n    --\r\n    sku : VARCHAR(50)\r\n    name : VARCHAR(255)\r\n    description : TEXT\r\n    price : DECIMAL(10,2)\r\n    stock_quantity : INT\r\n    category_id : INT\r\n}\r\n\r\nTABLE(Categorias) {\r\n    PK(category_id) : INT\r\n    --\r\n    name : VARCHAR(100)\r\n    parent_id : INT\r\n}\r\n\r\nTABLE(Pedidos) {\r\n    PK(order_id) : INT\r\n    --\r\n    FK(user_id) : INT\r\n    order_date : TIMESTAMP\r\n    total_amount : DECIMAL(10,2)\r\n    status : ENUM\r\n    shipping_address : TEXT\r\n}\r\n\r\nTABLE(ItemsPedido) {\r\n    PK(item_id) : INT\r\n    --\r\n    FK(order_id) : INT\r\n    FK(product_id) : INT\r\n    quantity : INT\r\n    unit_price : DECIMAL(10,2)\r\n}\r\n\r\nTABLE(Pagos) {\r\n    PK(payment_id) : INT\r\n    --\r\n    FK(order_id) : INT\r\n    payment_method : ENUM\r\n    transaction_id : VARCHAR(255)\r\n    amount : DECIMAL(10,2)\r\n    status : ENUM\r\n    processed_at : TIMESTAMP\r\n}\r\n\r\nUsuarios ||--o{ Pedidos : realiza\r\nPedidos }o--|{ Usuarios : pertenece_a\r\nPedidos ||--|{ ItemsPedido : contiene\r\nItemsPedido }o--|| Productos : referencia\r\nProductos }o--|| Categorias : categorizado_en\r\nPedidos ||--o{ Pagos : pagado_por\r\n\r\nnote right of Usuarios\r\n  Almacena cuentas de clientes\r\n  y datos de autenticaci\u00f3n\r\nend note\r\n\r\nnote left of Pedidos\r\n  Registro principal de transacci\u00f3n\r\n  con detalles de env\u00edo\r\nend note\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLN1Qjj04BqR_0zRUh4W1YVWImWXgcjJapYOr2czYM5tB2-HTjNTLHidpYVbr4_8ZtLMaXKfaGlHnUZDxCoRzsRb2-l0k3nD-hrF0jTI8Lk5Nwwc0mKf1WoLasxB_0ixEsE3rT7dsIoa9s3dvwz7bfU3-u3TKyhoiedFQdnMuFrUMVpMvc2ajW5xxFSOFLGWjsWYAG9sokRNgn8U3ijVJ44c5FWHtao-XJU3a_4uA2CPMFj76n5jm6uwCxX1S2WYS1HUpHVJxwjmiInZ2LWN9JgMwdsCX76v9NnwVRlezvvUsI-D5ZbtRVfP2HwQmDxb3NRZKKMk4BQBjK3BZSoSr0MrwS-gNcOazoU-JYVpHNWrE1uTdGHxmfhVHRzoA3rhaE0aGApDbiZjuSOuap8geJLFuqpdG6-O7uz6jIE6jgQxrHA556tToBl3li-wrw8y8uZXUzkSTf14aEfSkKCwjOmje8tCCgdY28GmQ6qjUOFxt65gom6Q_2N1_w7VETxiuBfqkPShwQ83lZUrXVZDHi8sBPtu4BdziHJTHekMJCw0ii3zKfR-lj_R3mfFCd3Ik-Dw5fFjlnDijniEzIEhzeSowL8dyW7wlJtqf8V3tIEhJvoo38r3XHoZHfelH6aDCocJQnATKlkz9bvKtB7wjXTTrqZRpQMlMEDLukizyYMhbmSGEaBL9k0dyMvvaX3xZ4mRFw_IjD96nXl7zBgUnKiL9YbmLC1uJkPG2u6C9qJQOH7VCheEke0XT_wppO7Bbx_K6PLWld3T8C5rKR-Yv8_VO2ojCzf_NsYy319VgVAxgiEyJWJJ_Kgmw8JgzykpRdUue1VwE_a7\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Patr\u00f3n 3: Visualizaci\u00f3n de Infraestructura como C\u00f3digo<\/h3>\n<p><strong>C\u00f3digo de ejemplo (Mermaid):<\/strong><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNVV1v2jAUfUfaf7Do61gLWVtAU6WQFobURoywpZrVh0tyCVbTOHKcMn7X3vbaPzY7pCEOZauj4HuP73HOvf4gEpCuyWL0oUVUy\/JlVAC279H2NFkJwEyKPJC5AIIJiYG4+RL1ePthx9EtZAIDyXiiZqrAyqhmdVFuuHhkSUTbcwwxaz9UQbr9mDlUvaR79ql4TrsXZsB04tMJSNzAloRIpolEkaA0g1x7UQUp2xw0nErYLF\/GLKBtL18KrYvMXv5oBJoKdbNvR3QEMSQBQsiFFuKAiEAbdqpZgaoEZofMEWS6SPQrz+TOefmdmGGYhO\/RK9izyrAuWCPhm3r3i5qmC4aCth1IDbVKxRs83W4cr0sXIBC0SbpHo3q1qN7RKKsWZR1GNZM\/KICRzjVIMPNRCM+OZDK\/9qh6yUzVPhLofbv9shSnV3d5LFnH\/nmEhCHL6E2sl8qBYI075P\/K637dPjwTnuQCIrWUdvwEASbwxDCRvJGFqtwoDx5RZsoshNvqvD3zjGyJw1MGmc7fwygXLITQJN+MPWrOrjhPKQjJQq5HH96rFQM1v9yqfff6pYZO3x7TOUaqYNps5DChE5Gn\/F9Sp\/YdnfNY9+8VdccTpmpYXCqljVyVRclg6u5qVtLxqRPzPPRBBmtz6H4OW6puNnLfUVZDvOtRl0u2qo63hg41vvbFz\/csB8E4LfuMjFkCsboZSKdzRQoZY8ETSfcmca7d3aw1TEercrbKChe+uoVa5W1U+PqkNoFeE7D22nR8AatD8Qr0moBlAA2ePgkNZh2yGpDJLqVU1L1v1X2TpLaqyaoBlgGYPMc3aXvfqvut8p6oY4X+gyDH34l0a1\/L5DZG\/RdGViyOhyergX4+6i34iMMTy7JKu7NhoVwPe+mvGk8vUslbDQZnZxUvCC5BuQGPuRhu1kxijaXF7lg9vLSW\/YrVhc9h\/xir3I4lc3AO53BRMS9X\/aAf\/gUy6wq+\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph TB\r\n    subgraph AWS[\"Infraestructura en la Nube AWS\"]\r\n        direction TB\n        \n        subgraph Networking[\"Redes\"]\n            VPC[VPC 10.0.0.0\/16]\n            IGW[Gateway de Internet]\n            NAT[Gateway NAT]\n            \n            subgraph Public[\"Subredes P\u00fablicas\"]\n                ALB[Balanceador de Carga de Aplicaciones]\n                Bastion[Host Basti\u00f3n]\n            end\n            \n            subgraph Private[\"Subredes Privadas\"]\n                subgraph AppTier[\"Capa de Aplicaci\u00f3n\"]\n                    ECS1[Tarea ECS 1]\n                    ECS2[Tarea ECS 2]\n                    ECS3[Tarea ECS 3]\n                end\n                \n                subgraph DataTier[\"Capa de Datos\"]\n                    RDS[RDS PostgreSQL&lt;br\/&gt;Multi-AZ]\n                    Redis[ElastiCache Redis]\n                end\n            end\n        end\n        \n        subgraph Storage[\"Almacenamiento\"]\n            S3[Buckets S3&lt;br\/&gt;Activos y Copias de Seguridad]\n            EFS[Almacenamiento Compartido EFS]\n        end\n        \n        subgraph Security[\"Seguridad\"]\n            WAF[Reglas WAF]\n            SG[Grupos de Seguridad]\n            IAM[Rol IAM]\n        end\n        \n        subgraph Monitoring[\"Monitoreo y Registro\"]\n            CW[CloudWatch]\n            XRay[AWS X-Ray]\n            SNS[Notificaciones SNS]\n        end\n    end\n    \n    Usuario[Usuarios Finales] --&gt; CloudFront[CloudFront CDN]\n    CloudFront --&gt; WAF\n    WAF --&gt; ALB\n    ALB --&gt; ECS1\n    ALB --&gt; ECS2\n    ALB --&gt; ECS3\n    \n    ECS1 --&gt; RDS\n    ECS2 --&gt; RDS\n    ECS3 --&gt; RDS\n    \n    ECS1 --&gt; Redis\n    ECS2 --&gt; Redis\n    ECS3 --&gt; Redis\n    \n    ECS1 --&gt; S3\n    ECS2 --&gt; S3\n    ECS3 --&gt; S3\n    \n    ECS1 --&gt; EFS\n    ECS2 --&gt; EFS\n    ECS3 --&gt; EFS\n    \n    ECS1 --&gt; CW\n    ECS2 --&gt; CW\n    ECS3 --&gt; CW\n    \n    RDS --&gt; CW\n    Redis --&gt; CW\n    \n    CW --&gt; SNS\n    \n    style VPC fill:#f9f9f9,stroke:#333,stroke-width:2px\n    style ALB fill:#ff9900,stroke:#cc7a00,color:white\n    style RDS fill:#2e73b8,stroke:#1a4d80,color:white\n    style Usuario fill:#95a5a6,stroke:#7f8c8d\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNVV1v2jAUfUfaf7Do61gLWVtAU6WQFobURoywpZrVh0tyCVbTOHKcMn7X3vbaPzY7pCEOZauj4HuP73HOvf4gEpCuyWL0oUVUy\/JlVAC279H2NFkJwEyKPJC5AIIJiYG4+RL1ePthx9EtZAIDyXiiZqrAyqhmdVFuuHhkSUTbcwwxaz9UQbr9mDlUvaR79ql4TrsXZsB04tMJSNzAloRIpolEkaA0g1x7UQUp2xw0nErYLF\/GLKBtL18KrYvMXv5oBJoKdbNvR3QEMSQBQsiFFuKAiEAbdqpZgaoEZofMEWS6SPQrz+TOefmdmGGYhO\/RK9izyrAuWCPhm3r3i5qmC4aCth1IDbVKxRs83W4cr0sXIBC0SbpHo3q1qN7RKKsWZR1GNZM\/KICRzjVIMPNRCM+OZDK\/9qh6yUzVPhLofbv9shSnV3d5LFnH\/nmEhCHL6E2sl8qBYI075P\/K637dPjwTnuQCIrWUdvwEASbwxDCRvJGFqtwoDx5RZsoshNvqvD3zjGyJw1MGmc7fwygXLITQJN+MPWrOrjhPKQjJQq5HH96rFQM1v9yqfff6pYZO3x7TOUaqYNps5DChE5Gn\/F9Sp\/YdnfNY9+8VdccTpmpYXCqljVyVRclg6u5qVtLxqRPzPPRBBmtz6H4OW6puNnLfUVZDvOtRl0u2qo63hg41vvbFz\/csB8E4LfuMjFkCsboZSKdzRQoZY8ETSfcmca7d3aw1TEercrbKChe+uoVa5W1U+PqkNoFeE7D22nR8AatD8Qr0moBlAA2ePgkNZh2yGpDJLqVU1L1v1X2TpLaqyaoBlgGYPMc3aXvfqvut8p6oY4X+gyDH34l0a1\/L5DZG\/RdGViyOhyergX4+6i34iMMTy7JKu7NhoVwPe+mvGk8vUslbDQZnZxUvCC5BuQGPuRhu1kxijaXF7lg9vLSW\/YrVhc9h\/xir3I4lc3AO53BRMS9X\/aAf\/gUy6wq+\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><img alt=\"Infrastructure Architecture\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e8538cd989.png\"\/><br \/>\n<em>Figura 6: Diagrama de arquitectura de infraestructura en la nube AWS<\/em><\/p>\n<hr\/>\n<h2>7. T\u00e9cnicas Avanzadas: Estilizado y Personalizaci\u00f3n {#tecnicas-avanzadas}<\/h2>\n<h3>Estilizado Avanzado de Mermaid<\/h3>\n<p><strong>Personalizaci\u00f3n del Tema:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e490dacf.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj91qgzAYhs8F7yEgkhMLrVptPRj408BOxmBlJ6UH1n6uH7OmJIGtVC9pR7uE3thqLf4sgcD3Ps8bEtO8YIkqIBeqDnAEGtBdKoFapJ3fU4HprgBJb4qukduiJ4HHVJxjXnBxi6nhxiGbT6k15mv4Vr2T5\/l\/IeJiD6JXnMVi5cSdVWAJPfTnze6ghIyX+9ErGItnU78zFAiFI6F5gq7VdW2auqZrHyI9Hcg6af1w81xihnxLJpMnEl0SyFDi9besWx41efV2\/alIvHkVPAPJSbgdwhdekaRj0YPF9wtXG4blI0napB3uh1TnAkhIciyKwLBnS485llSCf0JgzJa+l9hW1vwj+DqggkFn9egw13Ucr+skjs1sNuz8AXRciKE=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">%%{init: {'theme':'base', 'themeVariables': {\r\n    'primaryColor': '#4CAF50',\r\n    'primaryTextColor': '#fff',\r\n    'primaryBorderColor': '#388E3C',\r\n    'lineColor': '#757575',\r\n    'secondaryColor': '#FFC107',\r\n    'tertiaryColor': '#fff'\r\n}}}%%\r\n\r\ngraph TD\r\n    A[Inicio] --&gt; B{Decisi\u00f3n}\r\n    B --&gt;|S\u00ed| C[Proceso A]\r\n    B --&gt;|No| D[Proceso B]\r\n    C --&gt; E[Fin]\r\n    D --&gt; E\r\n    \n    style A fill:#2196F3,stroke:#1976D2,color:white\n    style E fill:#F44336,stroke:#D32F2F,color:white\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj91qgzAYhs8F7yEgkhMLrVptPRj408BOxmBlJ6UH1n6uH7OmJIGtVC9pR7uE3thqLf4sgcD3Ps8bEtO8YIkqIBeqDnAEGtBdKoFapJ3fU4HprgBJb4qukduiJ4HHVJxjXnBxi6nhxiGbT6k15mv4Vr2T5\/l\/IeJiD6JXnMVi5cSdVWAJPfTnze6ghIyX+9ErGItnU78zFAiFI6F5gq7VdW2auqZrHyI9Hcg6af1w81xihnxLJpMnEl0SyFDi9besWx41efV2\/alIvHkVPAPJSbgdwhdekaRj0YPF9wtXG4blI0napB3uh1TnAkhIciyKwLBnS485llSCf0JgzJa+l9hW1vwj+DqggkFn9egw13Ucr+skjs1sNuz8AXRciKE=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar Mermaid en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Par\u00e1metros de Estilo de PlantUML<\/h3>\n<p><strong>Estilizado Profesional:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e5b529f3.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Plantuml<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPCzKiCm48Lxds872YgO64D86eQVs0m530CbGx6n5aUWQ8say3iSY9eZv6B8ZWbsH5H9xwtrFMcj8-lGkDbKHLkGMYSLMoWKZr6HZUoZr2KQdC8OyyV2y4oBKrPiO3EhHwl2Jb3mYzG5tAEor7Bgpt8scWp4lPQXf2RtLXAmSHEEMWa4GSxJaZLfrycnLE4Z0ZzELdEbIRQRZHOU6q6cqUFXGN-qM-l7nl1BL_vSWPVuDACkkVGaB6WTrrz6alP2RhP_SDfRw1bhToFV2UAz0AZPOPlcr-jHSJP8Xo6gFnXcoM29QjGawG_Zj0B-dc0ZCzucBJOQmj-btXwNIkQOo_ctXcl2tDq55MgA-VohiiNizQwpSHLrpRvNvt39WdOURB3Z3PbdANpMzBKqP9i2WGx7Q0bkBrWNF3gfKVy4XEtjmp3Mgj1KjMDqLWi_Z19AYyfbgAXkbP75n07VXq40piZtkSgR--CQLF8T1VgcA_26VpI-f6ewEFQoGi2_8qR-Dkj_8OgE_DG_qny0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\n' Estilos globales\nskinparam backgroundColor #FFFFFF\nskinparam shadowing false\nskinparam roundcorner 10\nskinparam linetype ortho\n\n' Estilos de componentes\nskinparam component {\n    BackgroundColor #E3F2FD\n    BorderColor #1976D2\n    ArrowColor #1976D2\n}\n\n' Estilos de paquetes\nskinparam package {\n    BackgroundColor #FFF3E0\n    BorderColor #F57C00\n    FontSize 14\n}\n\n' Estilos de notas\nskinparam note {\n    BackgroundColor #F1F8E9\n    BorderColor #689F38\n    FontColor #33691E\n}\n\npackage \"Frontend\" {\n    component [Aplicaci\u00f3n React]\n    component [Almac\u00e9n Redux]\n}\n\npackage \"Backend\" {\n    component [API Node.js]\n    component [Servidor Express]\n    database [MongoDB]\n}\n\n[Aplicaci\u00f3n React] --&gt; [Almac\u00e9n Redux]\n[Almac\u00e9n Redux] --&gt; [API Node.js]\n[API Node.js] --&gt; [Servidor Express]\n[Servidor Express] --&gt; [MongoDB]\n\nnote right of [Almac\u00e9n Redux]\n  Gesti\u00f3n centralizada del estado\n  para toda la aplicaci\u00f3n\nend note\n\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPCzKiCm48Lxds872YgO64D86eQVs0m530CbGx6n5aUWQ8say3iSY9eZv6B8ZWbsH5H9xwtrFMcj8-lGkDbKHLkGMYSLMoWKZr6HZUoZr2KQdC8OyyV2y4oBKrPiO3EhHwl2Jb3mYzG5tAEor7Bgpt8scWp4lPQXf2RtLXAmSHEEMWa4GSxJaZLfrycnLE4Z0ZzELdEbIRQRZHOU6q6cqUFXGN-qM-l7nl1BL_vSWPVuDACkkVGaB6WTrrz6alP2RhP_SDfRw1bhToFV2UAz0AZPOPlcr-jHSJP8Xo6gFnXcoM29QjGawG_Zj0B-dc0ZCzucBJOQmj-btXwNIkQOo_ctXcl2tDq55MgA-VohiiNizQwpSHLrpRvNvt39WdOURB3Z3PbdANpMzBKqP9i2WGx7Q0bkBrWNF3gfKVy4XEtjmp3Mgj1KjMDqLWi_Z19AYyfbgAXkbP75n07VXq40piZtkSgR--CQLF8T1VgcA_26VpI-f6ewEFQoGi2_8qR-Dkj_8OgE_DG_qny0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Plantuml in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Atributos avanzados de Graphviz<\/h3>\n<p><strong>Diagrama de red profesional:<\/strong><\/p>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e7dbd492.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVk2P2zYQvedXEOp1u\/5a+QOpAmyDbVMgCdz1AjkEQTEiRzK7NKmS1C6SYn9MjznvrVf\/sQwlWZa93sYGah9MDen3Zt48ji1kbqFYsktxB5qjWPjPSuqc\/f2C0avXY5feyrT0xrFcmRQUOiZQsdyu\/8kkN9WxGuJjtQ6vNOdGGZtEP2TTbJZB1O5kRnsNK0yiN6ju0Eu+t+nkF0wG4zamIEWVRJf2r1J65L60QPzMSedxBQxXhUUHVoLSV9obq03YLqwRJedy\/aijXShleBL5bbAAkfTP4\/bZgr51WCSDTkwbgXWsX8U+vaw+nipEzHTWsMJYWmeUbq1PAOjIc6QIgzbmqCl0OpNKoTizptQCRacG1PdS+GUy\/G56pJTz8CRBFPnpCc6eJtBVDaw199XB\/vn0YGK5LQvg0mhspXOMG83QealIRrTOaFDyC4g6T1emtde4KskA9o\/QfdQePKE0nu245jUUUNuhPlUb4uWerrWs2+jGuzjKhpnoHA+VbzYH8Tjm\/c5mu\/iAKfu4sW2hSLuKlt1j+lNqe6+uEbhng2l0xgLzBnB8kcbZOAS3LPdL8nz0aUvyzqRS4UH41frxTqqK4RdVehLnVIKHbXee6JyWTlKb3PMaq\/VjTslUjcTcUFuPFjrLshH2nxEax\/Ggf1Doy\/lvWyVofX21uKnqf0\/X7fxPt1d\/lqWTC7Fbf6qA33YF\/jVU\/fvbFncONFxQwWbjVMz\/0lQA3cRn9aRd44736jSLcfaMhEOciNHwkIRzK1dgP7fl\/gwOW3K6NlJzWUDtqrlxPre4IHUGF1SyW0KBCQ8\/FwLtri4QizFMusJeY+XVholdr7\/Wz8E59Vg\/mYRPccxnXZLXwJfb2xGe1l+JWUhXgb8Ls5mr9b+uvh3Hgz\/sDq5qiH5nVIUx8OOrHZO+ubmZL3rBpkTeDpLZZCyGuxbaBBv25tb\/T2hNYvtOp\/DC8Fv0R6KdNY4U4JYouqM9JEkE+956W7e5d+W4lWHVIRpNpzjie0RNsIFuUA+1uAOUxRNO02IXqA0eyHgjA0HvWjSJFvT1jTlPy\/VF924dQG6e68GNmvKyCCv629WhmcThvU3a0EgPST98A1nE4P4=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph AdvancedStyling {\n    \/\/ Atributos globales del gr\u00e1fico\n    graph [\n        bgcolor=\"#f8f9fa\"\n        fontname=\"Helvetica\"\n        fontsize=16\n        label=\"Arquitectura de sistema empresarialnEntorno de producci\u00f3n\"\n        labelloc=\"t\"\n        pad=0.5\n        ranksep=1.5\n        nodesep=1.0\n    ];\n    \n    \/\/ Atributos de nodo por defecto\n    node [\n        fontname=\"Helvetica\"\n        fontsize=11\n        style=\"filled,rounded\"\n        penwidth=2\n    ];\n    \n    \/\/ Atributos de arista por defecto\n    edge [\n        fontname=\"Helvetica\"\n        fontsize=9\n        penwidth=1.5\n        arrowsize=0.8\n    ];\n    \n    \/\/ Agrupaciones de nodos con estilo personalizado\n    subgraph cluster_presentation {\n        label=\"Capa de presentaci\u00f3n\";\n        style=filled;\n        color=\"#e3f2fd\";\n        fontcolor=\"#1565c0\";\n        \n        Web [label=\"Aplicaci\u00f3n web&lt;br\/&gt;React 18\", fillcolor=\"#64b5f6\", fontcolor=\"white\"];\n        Mobile [label=\"Aplicaci\u00f3n m\u00f3vil&lt;br\/&gt;Flutter\", fillcolor=\"#64b5f6\", fontcolor=\"white\"];\n    }\n    \n    subgraph cluster_business {\n        label=\"Capa de l\u00f3gica de negocio\";\n        style=filled;\n        color=\"#fff3e0\";\n        fontcolor=\"#e65100\";\n        \n        API [label=\"API REST&lt;br\/&gt;Node.js\", fillcolor=\"#ffb74d\", fontcolor=\"black\"];\n        GraphQL [label=\"Pasarela GraphQL\", fillcolor=\"#ffb74d\", fontcolor=\"black\"];\n    }\n    \n    subgraph cluster_data {\n        label=\"Capa de datos\";\n        style=filled;\n        color=\"#e8f5e9\";\n        fontcolor=\"#2e7d32\";\n        \n        Primary [label=\"Base de datos principal&lt;br\/&gt;PostgreSQL 14\", shape=cylinder, fillcolor=\"#a5d6a7\"];\n        Replica [label R\u00e9plica de lectura&lt;br\/&gt;PostgreSQL 14\", shape=cylinder, fillcolor=\"#c8e6c9\"];\n        Cache [label=\"Cach\u00e9 Redis&lt;br\/&gt;Modo cl\u00faster\", shape=cylinder, fillcolor=\"#c8e6c9\"];\n    }\n    \n    \/\/ Aristas con estilo personalizado\n    Web -&gt; API [label=\"HTTPS\/REST\", color=\"#1976d2\", fontcolor=\"#1976d2\"];\n    Mobile -&gt; API [label=\"HTTPS\/REST\", color=\"#1976d2\", fontcolor=\"#1976d2\"];\n    Web -&gt; GraphQL [label=\"WebSocket\", color=\"#1976d2\", fontcolor=\"#1976d2\", style=dashed];\n    \n    API -&gt; Primary [label=\"Lectura\/Escritura\", color=\"#388e3c\", fontcolor=\"#388e3c\"];\n    API -&gt; Cache [label=\"Cach\u00e9\", color=\"#f57c00\", fontcolor=\"#f57c00\", style=dashed];\n    GraphQL -&gt; Replica [label=\"Solo lectura\", color=\"#388e3c\", fontcolor=\"#388e3c\"];\n    \n    Primary -&gt; Replica [label=\"Replicaci\u00f3n en streaming\", color=\"#757575\", style=dotted];\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVk2P2zYQvedXEOp1u\/5a+QOpAmyDbVMgCdz1AjkEQTEiRzK7NKmS1C6SYn9MjznvrVf\/sQwlWZa93sYGah9MDen3Zt48ji1kbqFYsktxB5qjWPjPSuqc\/f2C0avXY5feyrT0xrFcmRQUOiZQsdyu\/8kkN9WxGuJjtQ6vNOdGGZtEP2TTbJZB1O5kRnsNK0yiN6ju0Eu+t+nkF0wG4zamIEWVRJf2r1J65L60QPzMSedxBQxXhUUHVoLSV9obq03YLqwRJedy\/aijXShleBL5bbAAkfTP4\/bZgr51WCSDTkwbgXWsX8U+vaw+nipEzHTWsMJYWmeUbq1PAOjIc6QIgzbmqCl0OpNKoTizptQCRacG1PdS+GUy\/G56pJTz8CRBFPnpCc6eJtBVDaw199XB\/vn0YGK5LQvg0mhspXOMG83QealIRrTOaFDyC4g6T1emtde4KskA9o\/QfdQePKE0nu245jUUUNuhPlUb4uWerrWs2+jGuzjKhpnoHA+VbzYH8Tjm\/c5mu\/iAKfu4sW2hSLuKlt1j+lNqe6+uEbhng2l0xgLzBnB8kcbZOAS3LPdL8nz0aUvyzqRS4UH41frxTqqK4RdVehLnVIKHbXee6JyWTlKb3PMaq\/VjTslUjcTcUFuPFjrLshH2nxEax\/Ggf1Doy\/lvWyVofX21uKnqf0\/X7fxPt1d\/lqWTC7Fbf6qA33YF\/jVU\/fvbFncONFxQwWbjVMz\/0lQA3cRn9aRd44736jSLcfaMhEOciNHwkIRzK1dgP7fl\/gwOW3K6NlJzWUDtqrlxPre4IHUGF1SyW0KBCQ8\/FwLtri4QizFMusJeY+XVholdr7\/Wz8E59Vg\/mYRPccxnXZLXwJfb2xGe1l+JWUhXgb8Ls5mr9b+uvh3Hgz\/sDq5qiH5nVIUx8OOrHZO+ubmZL3rBpkTeDpLZZCyGuxbaBBv25tb\/T2hNYvtOp\/DC8Fv0R6KdNY4U4JYouqM9JEkE+956W7e5d+W4lWHVIRpNpzjie0RNsIFuUA+1uAOUxRNO02IXqA0eyHgjA0HvWjSJFvT1jTlPy\/VF924dQG6e68GNmvKyCCv629WhmcThvU3a0EgPST98A1nE4P4=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar DOT en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>8. Flujos de trabajo de colaboraci\u00f3n y compartici\u00f3n {#colaboracion}<\/h2>\n<h3>Creaci\u00f3n de diagramas compartibles<\/h3>\n<p><strong>Compartici\u00f3n paso a paso:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Generar enlace de compartici\u00f3n:<\/strong><\/p>\n<ul>\n<li>\n<p>Haga clic en el bot\u00f3n \u00abCompartir\u00bb en VPasCode<\/p>\n<\/li>\n<li>\n<p>Copie la URL generada<\/p>\n<\/li>\n<li>\n<p>Comparta por correo electr\u00f3nico, Slack o documentaci\u00f3n<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Incrustar en la documentaci\u00f3n:<\/strong><\/p>\n<pre class=\"lang-markdown\"><code data-language=\"markdown\">## Arquitectura del sistema\r\n\r\n![Diagrama de arquitectura](https:\/\/www.vpascode.com\/share\/abc123xyz.svg)\r\n\r\nO incruste la versi\u00f3n interactiva:\r\n&lt;iframe src=\"https:\/\/www.vpascode.com\/embed\/abc123xyz\" width=\"100%\" height=\"600\"&gt;&lt;\/iframe&gt;\r\n\r\n<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Exportar para presentaciones:<\/strong><\/p>\n<ul>\n<li>\n<p>SVG para gr\u00e1ficos web escalables<\/p>\n<\/li>\n<li>\n<p>PNG (300 DPI) para PowerPoint\/Keynote<\/p>\n<\/li>\n<li>\n<p>PDF para documentaci\u00f3n impresa<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Integraci\u00f3n con control de versiones<\/h3>\n<p><strong>Almacenar el c\u00f3digo del diagrama en Git:<\/strong><\/p>\n<pre><code>project-root\/\n\u251c\u2500\u2500 docs\/\n\u2502   \u251c\u2500\u2500 diagrams\/\n\u2502   \u2502   \u251c\u2500\u2500 architecture\/\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 system-overview.puml\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 deployment-view.puml\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 data-flow.mmd\n\u2502   \u2502   \u251c\u2500\u2500 processes\/\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 user-journey.mmd\n\u2502   \u2502   \u2514\u2500\u2500 infrastructure\/\n\u2502   \u2502       \u2514\u2500\u2500 aws-architecture.dot\n\u2502   \u2514\u2500\u2500 README.md\n\u2514\u2500\u2500 src\/\n<\/code><\/pre>\n<p><strong>Ejemplo de flujo de trabajo de Git:<\/strong><\/p>\n<pre class=\"lang-bash\"><code data-language=\"bash\"># Crear diagrama\necho '@startuml\ncomponent \"Pasarela API\"\n@enduml' &gt; docs\/diagrams\/architecture\/gateway.puml\n\n# Confirmar cambios\ngit add docs\/diagrams\/architecture\/gateway.puml\ngit commit -m \"A\u00f1adir diagrama de arquitectura de pasarela API\"\ngit push\n\n# Los miembros del equipo ahora pueden ver en VPasCode\n# pegando el c\u00f3digo o cargando desde la URL\n<\/code><\/pre>\n<h3>Patrones de colaboraci\u00f3n en equipo<\/h3>\n<p><strong>Patr\u00f3n 1: Registros de decisiones de arquitectura (ADRs)<\/strong><\/p>\n<pre class=\"lang-markdown\"><code data-language=\"markdown\"># ADR-007: Patr\u00f3n de Comunicaci\u00f3n de Microservicios\r\n\r\n## Contexto\r\nNecesitamos estandarizar c\u00f3mo se comunican los microservicios.\r\n\r\n## Decisi\u00f3n\r\nUtilizar mensajer\u00eda as\u00edncrona mediante RabbitMQ para la comunicaci\u00f3n entre servicios.\r\n\r\n## Diagrama de Arquitectura\r\n\r\n```mermaid\r\ngraph LR\r\n    A[Servicio A] --&gt;|Publicar| B[(RabbitMQ)]\r\n    B --&gt;|Suscribirse| C[Servicio B]\r\n    B --&gt;|Suscribirse| D[Servicio C]\r\n<\/code><\/pre>\n<h2>Consecuencias<\/h2>\n<ul>\n<li>\n<p>Desacoplamiento mejorado<\/p>\n<\/li>\n<li>\n<p>Mejor escalabilidad<\/p>\n<\/li>\n<li>\n<p>Complejidad a\u00f1adida en el manejo de mensajes<\/p>\n<\/li>\n<\/ul>\n<pre><code>\r\n**Patr\u00f3n 2: Documentaci\u00f3n de Planificaci\u00f3n de Sprint**\r\n\r\nCree diagramas vivos que evolucionen con su sprint:\r\n<\/code><\/pre>\n<p><img alt=\"\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8f5b49dbe.png\"\/><\/p>\n<pre><code><\/code><\/pre>\n<pre><code>graph TD\r\n    subgraph Sprint24[\"Sprint 24 - En Progreso\"]\r\n        Done[\u2705 Tareas Completadas]\r\n        InProgress[\ud83d\udd04 En Progreso]\r\n        ToDo[\ud83d\udccb Por Hacer]\r\n        Blocked[\u26d4 Bloqueado]\r\n    end\r\n    \r\n    Done --&gt; Task1[M\u00f3dulo de Autenticaci\u00f3n de Usuario]\r\n    Done --&gt; Task2[Migraci\u00f3n de Base de Datos]\r\n    \r\n    InProgress --&gt; Task3[Desarrollo de API]\r\n    InProgress --&gt; Task4[Integraci\u00f3n Frontend]\r\n    \r\n    ToDo --&gt; Task5[Pruebas Unitarias]\r\n    ToDo --&gt; Task6[Documentaci\u00f3n]\r\n    \r\n    Blocked --&gt; Task7[Integraci\u00f3n con Terceros]\r\n    \r\n    style Done fill:#d4edda,stroke:#28a745\r\n    style InProgress fill:#fff3cd,stroke:#ffc107\r\n    style ToDo fill:#e2e3e5,stroke:#6c757d\r\n    style Blocked fill:#f8d7da,stroke:#dc3545\r\n<\/code><\/pre>\n<hr\/>\n<h2>Conclusi\u00f3n: Su viaje hacia la excelencia en documentaci\u00f3n<\/h2>\n<p>\u00a1Felicidades! Ahora ha completado un viaje exhaustivo a trav\u00e9s de VPasCode y la metodolog\u00eda de Diagramas como C\u00f3digo. Reflexionemos sobre lo que ha aprendido y tracemos su camino hacia adelante.<\/p>\n<h3>Lo que ha dominado<\/h3>\n<p>A lo largo de este tutorial, ha descubierto:<\/p>\n<ol>\n<li>\n<p><strong>El poder de los diagramas basados en texto<\/strong>: Ha visto c\u00f3mo escribir c\u00f3digo para crear diagramas elimina la fricci\u00f3n del posicionamiento manual, asegura la consistencia y hace que la documentaci\u00f3n sea mantenible.<\/p>\n<\/li>\n<li>\n<p><strong>Tres motores est\u00e1ndar de la industria<\/strong>: Ahora tiene habilidades pr\u00e1cticas en:<\/p>\n<ul>\n<li>\n<p><strong>Mermaid.js<\/strong> para diagramas de flujo amigables para desarrolladores y documentaci\u00f3n moderna<\/p>\n<\/li>\n<li>\n<p><strong>PlantUML<\/strong> para diagramas UML y de arquitectura de nivel empresarial<\/p>\n<\/li>\n<li>\n<p><strong>Graphviz<\/strong> para topolog\u00edas de red complejas y visualizaciones de relaciones<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Patrones del mundo real<\/strong>: Desde la arquitectura de microservicios hasta esquemas de bases de datos, pipelines de CI\/CD hasta organigramas: ha aprendido a visualizar pr\u00e1cticamente cualquier sistema o proceso.<\/p>\n<\/li>\n<li>\n<p><strong>Flujos de trabajo de colaboraci\u00f3n<\/strong>: Entiende c\u00f3mo compartir diagramas mediante URLs, incrustarlos en la documentaci\u00f3n, integrarlos con el control de versiones y automatizar su generaci\u00f3n en pipelines de CI\/CD.<\/p>\n<\/li>\n<li>\n<p><strong>Estilo profesional<\/strong>: Puede crear visuales de calidad de publicaci\u00f3n con temas personalizados, marca consistente y niveles de detalle apropiados para diferentes audiencias.<\/p>\n<\/li>\n<\/ol>\n<h3>La imagen m\u00e1s amplia<\/h3>\n<p>Lo que hace que VPasCode sea verdaderamente transformador no es solo la herramienta en s\u00ed, sino el cambio de paradigma que representa. Al tratar los diagramas como c\u00f3digo, usted est\u00e1:<\/p>\n<ul>\n<li>\n<p><strong>Cerrando la brecha<\/strong> entre la implementaci\u00f3n y la documentaci\u00f3n<\/p>\n<\/li>\n<li>\n<p><strong> Democratizar la arquitectura<\/strong> haci\u00e9ndolo accesible para todos en el equipo<\/p>\n<\/li>\n<li>\n<p><strong> Garantizar la vigencia del conocimiento<\/strong> mediante artefactos basados en texto y controlados por versiones<\/p>\n<\/li>\n<li>\n<p><strong> Acelerar la incorporaci\u00f3n<\/strong> con documentaci\u00f3n clara y ejecutable<\/p>\n<\/li>\n<li>\n<p><strong> Reducir la deuda t\u00e9cnica<\/strong> haciendo que las actualizaciones sean tan simples como editar texto<\/p>\n<\/li>\n<\/ul>\n<h3> Tus pr\u00f3ximos pasos<\/h3>\n<p><strong> Semana 1: Comienza con algo peque\u00f1o<\/strong><\/p>\n<ul>\n<li>\n<p> Elige un diagrama existente en tu organizaci\u00f3n<\/p>\n<\/li>\n<li>\n<p> Recr\u00e9alo en VPasCode utilizando tu motor preferido<\/p>\n<\/li>\n<li>\n<p> Comp\u00e1rtelo con un colega y recopila comentarios<\/p>\n<\/li>\n<li>\n<p> Guarda el c\u00f3digo en tu repositorio de proyecto<\/p>\n<\/li>\n<\/ul>\n<p><strong> Semanas 2-3: Genera impulso<\/strong><\/p>\n<ul>\n<li>\n<p> Crea plantillas para los tipos de diagramas comunes de tu equipo<\/p>\n<\/li>\n<li>\n<p> Establece convenciones de nomenclatura y directrices de estilo<\/p>\n<\/li>\n<li>\n<p> Integra las revisiones de diagramas en tu proceso de revisi\u00f3n de c\u00f3digo<\/p>\n<\/li>\n<li>\n<p> Documenta tu flujo de trabajo de \u201cDiagrama como C\u00f3digo\u201d<\/p>\n<\/li>\n<\/ul>\n<p><strong> Mes 2: Escala y automatiza<\/strong><\/p>\n<ul>\n<li>\n<p> Configura la integraci\u00f3n de CI\/CD para la generaci\u00f3n autom\u00e1tica de diagramas<\/p>\n<\/li>\n<li>\n<p> Crea una biblioteca de diagramas para tu organizaci\u00f3n<\/p>\n<\/li>\n<li>\n<p> Capacita a los miembros del equipo en el flujo de trabajo<\/p>\n<\/li>\n<li>\n<p> Mide el tiempo ahorrado y las mejoras en la calidad de la documentaci\u00f3n<\/p>\n<\/li>\n<\/ul>\n<p><strong> Mes 3+: Hazlo cultural<\/strong><\/p>\n<ul>\n<li>\n<p> Defiende el diagrama como c\u00f3digo en las decisiones de arquitectura<\/p>\n<\/li>\n<li>\n<p> Comparte historias de \u00e9xito con el liderazgo<\/p>\n<\/li>\n<li>\n<p> Contribuye plantillas de vuelta a la comunidad<\/p>\n<\/li>\n<li>\n<p> Explora funciones avanzadas como la generaci\u00f3n de diagramas asistida por IA<\/p>\n<\/li>\n<\/ul>\n<h3>La Ventaja Competitiva<\/h3>\n<p>Las organizaciones que dominan el Diagrama como C\u00f3digo obtienen ventajas significativas:<br \/>\n\u2705\u00a0<strong>Toma de Decisiones M\u00e1s R\u00e1pida<\/strong>: Las visuales claras aceleran la comprensi\u00f3n y el alineamiento<br \/>\n\u2705\u00a0<strong>Tiempo de Incorporaci\u00f3n Reducido<\/strong>: Los nuevos ingenieros comprenden los sistemas m\u00e1s r\u00e1pido mediante documentaci\u00f3n ejecutable<br \/>\n\u2705\u00a0<strong>Mejor Comunicaci\u00f3n con las Partes Interesadas<\/strong>: Los diagramas profesionales conectan las perspectivas t\u00e9cnicas y empresariales<br \/>\n\u2705\u00a0<strong>Menor Carga de Mantenimiento<\/strong>: Actualizar texto es m\u00e1s r\u00e1pido que volver a dibujar visuales<br \/>\n\u2705\u00a0<strong>Calidad de C\u00f3digo Mejorada<\/strong>: El acto de diagramar revela problemas arquitect\u00f3nicos temprano<\/p>\n<h3>\u00danete al Movimiento<\/h3>\n<p>Ahora eres parte de una comunidad en crecimiento de desarrolladores, arquitectos y equipos que reconocen que la documentaci\u00f3n no tiene por qu\u00e9 ser una carga. Con VPasCode, tienes las herramientas para convertirla en un activo: una representaci\u00f3n viva y din\u00e1mica de tu sistema que evoluciona junto con tu c\u00f3digo.<\/p>\n<h3>Reflexi\u00f3n Final<\/h3>\n<p>El mejor momento para empezar a tratar los diagramas como c\u00f3digo fue ayer. El segundo mejor momento es ahora.<br \/>\nTu yo del futuro \u2014y tus futuros compa\u00f1eros de equipo\u2014 te agradecer\u00e1n la claridad, la consistencia y la confianza que proviene de una documentaci\u00f3n que siempre est\u00e1 actualizada, siempre accesible y siempre precisa.<br \/>\n<strong>\u00bfListo para comenzar?<\/strong> Visita <a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a> ahora mismo, pega tu primer c\u00f3digo de diagrama y observa c\u00f3mo el texto se transforma en claridad. En menos tiempo del que te tom\u00f3 leer esta conclusi\u00f3n, habr\u00e1s creado tu primer artefacto de Diagrama como C\u00f3digo.<br \/>\nEl futuro de la documentaci\u00f3n t\u00e9cnica est\u00e1 aqu\u00ed. Es impulsado por c\u00f3digo, basado en el navegador y completamente gratuito. Bienvenido a la revoluci\u00f3n.<\/p>\n<hr\/>\n<p><strong>Acerca de este Tutorial<\/strong><br \/>\n<em>Esta gu\u00eda integral fue creada para ayudar a los equipos de desarrollo a modernizar sus pr\u00e1cticas de documentaci\u00f3n mediante Diagrama como C\u00f3digo. Construida sobre la base de las dos d\u00e9cadas de experiencia de Visual Paradigm en arquitectura empresarial, VPasCode representa el futuro de la comunicaci\u00f3n t\u00e9cnica: accesible, mantenible y gratuita.<\/em><br \/>\n<em>\u00daltima actualizaci\u00f3n: junio de 2026<\/em><br \/>\n<em>P\u00fablico objetivo: Desarrolladores de software, arquitectos de sistemas, ingenieros de DevOps, redactores t\u00e9cnicos y equipos de desarrollo<\/em><br \/>\n<em>Requisitos previos: Comprensi\u00f3n b\u00e1sica de los conceptos de arquitectura de software<\/em><br \/>\n<em>Tiempo estimado de finalizaci\u00f3n: 2-3 horas para el tutorial completo, 15 minutos para el inicio r\u00e1pido<\/em><\/p>\n<hr\/>\n<p class=\"\"><strong>\u00a1Feliz creaci\u00f3n de diagramas! \ud83c\udfa8\ud83d\udcca<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n: La Revoluci\u00f3n de la Documentaci\u00f3n Comienza Aqu\u00ed En el mundo acelerado del desarrollo de software, existe una verdad inc\u00f3moda que todos enfrentamos: nuestra documentaci\u00f3n est\u00e1 casi siempre desactualizada. Hemos&hellip;<\/p>\n","protected":false},"author":2,"featured_media":4083,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","fifu_image_url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","fifu_image_alt":"","footnotes":""},"categories":[118],"tags":[],"class_list":["post-4082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vpascode"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos - Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos - Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends\" \/>\n<meta property=\"og:description\" content=\"Introducci\u00f3n: La Revoluci\u00f3n de la Documentaci\u00f3n Comienza Aqu\u00ed En el mundo acelerado del desarrollo de software, existe una verdad inc\u00f3moda que todos enfrentamos: nuestra documentaci\u00f3n est\u00e1 casi siempre desactualizada. Hemos&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\" \/>\n<meta property=\"og:site_name\" content=\"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-02T08:13:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/>\n\t<meta property=\"og:image:width\" content=\"909\" \/>\n\t<meta property=\"og:image:height\" content=\"504\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.go2posts.com\/es\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83\"},\"headline\":\"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos\",\"datePublished\":\"2026-06-02T08:13:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"},\"wordCount\":2501,\"publisher\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png\",\"articleSection\":[\"VPasCode\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\",\"url\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\",\"name\":\"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos - Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends\",\"isPartOf\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png\",\"datePublished\":\"2026-06-02T08:13:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\",\"url\":\"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png\",\"contentUrl\":\"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png\",\"width\":909,\"height\":504},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.go2posts.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.go2posts.com\/es\/#website\",\"url\":\"https:\/\/www.go2posts.com\/es\/\",\"name\":\"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.go2posts.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.go2posts.com\/es\/#organization\",\"name\":\"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends\",\"url\":\"https:\/\/www.go2posts.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.go2posts.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2025\/01\/logo.png\",\"contentUrl\":\"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2025\/01\/logo.png\",\"width\":341,\"height\":46,\"caption\":\"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/es\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.go2posts.com\/es\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.go2posts.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.go2posts.com\/es\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos - Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","og_locale":"es_ES","og_type":"article","og_title":"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos - Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends","og_description":"Introducci\u00f3n: La Revoluci\u00f3n de la Documentaci\u00f3n Comienza Aqu\u00ed En el mundo acelerado del desarrollo de software, existe una verdad inc\u00f3moda que todos enfrentamos: nuestra documentaci\u00f3n est\u00e1 casi siempre desactualizada. Hemos&hellip;","og_url":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","og_site_name":"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends","article_published_time":"2026-06-02T08:13:49+00:00","og_image":[{"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","type":"","width":"","height":""},{"width":909,"height":504,"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","twitter_misc":{"Escrito por":"curtis","Tiempo de lectura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#article","isPartOf":{"@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"author":{"name":"curtis","@id":"https:\/\/www.go2posts.com\/es\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83"},"headline":"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos","datePublished":"2026-06-02T08:13:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"wordCount":2501,"publisher":{"@id":"https:\/\/www.go2posts.com\/es\/#organization"},"image":{"@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png","articleSection":["VPasCode"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","url":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","name":"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos - Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends","isPartOf":{"@id":"https:\/\/www.go2posts.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"image":{"@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png","datePublished":"2026-06-02T08:13:49+00:00","breadcrumb":{"@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage","url":"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png","contentUrl":"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2026\/06\/img_6a1e86c394c18.png","width":909,"height":504},{"@type":"BreadcrumbList","@id":"https:\/\/www.go2posts.com\/es\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.go2posts.com\/es\/"},{"@type":"ListItem","position":2,"name":"Dominar el Diagrama como C\u00f3digo: Un Tutorial Completo de VPasCode para Equipos de Desarrollo Modernos"}]},{"@type":"WebSite","@id":"https:\/\/www.go2posts.com\/es\/#website","url":"https:\/\/www.go2posts.com\/es\/","name":"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends","description":"","publisher":{"@id":"https:\/\/www.go2posts.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.go2posts.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.go2posts.com\/es\/#organization","name":"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends","url":"https:\/\/www.go2posts.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.go2posts.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2025\/01\/logo.png","contentUrl":"https:\/\/www.go2posts.com\/es\/wp-content\/uploads\/sites\/17\/2025\/01\/logo.png","width":341,"height":46,"caption":"Go 2 Posts Spanish | Breaking Digital News &amp; Software Trends"},"image":{"@id":"https:\/\/www.go2posts.com\/es\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.go2posts.com\/es\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83","name":"curtis","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.go2posts.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.go2posts.com\/es\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/posts\/4082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/comments?post=4082"}],"version-history":[{"count":0,"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/posts\/4082\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/media\/4083"}],"wp:attachment":[{"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/media?parent=4082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/categories?post=4082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.go2posts.com\/es\/wp-json\/wp\/v2\/tags?post=4082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}