{"id":12281,"date":"2026-10-13T15:47:48","date_gmt":"2026-10-13T07:47:48","guid":{"rendered":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/"},"modified":"2026-10-14T13:08:38","modified_gmt":"2026-10-14T05:08:38","slug":"diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/","title":{"rendered":"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode"},"content":{"rendered":"<p data-nodeid=\"16451\">M\u1ed9t <a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-uml\/\">UML<\/a> <a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-sequence-diagram\/\">bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1<\/a> cho th\u1ea5y c\u00e1ch c\u00e1c th\u00e0nh ph\u1ea7n t\u01b0\u01a1ng t\u00e1c theo th\u1eddi gian. N\u00f3 h\u1eefu \u00edch \u0111\u1ec3 t\u00e0i li\u1ec7u h\u00f3a m\u1ed9t <a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-use-case-diagram\/\">k\u1ecbch b\u1ea3n s\u1eed d\u1ee5ng<\/a>, lu\u1ed3ng API, quy tr\u00ecnh kinh doanh ho\u1eb7c k\u1ecbch b\u1ea3n h\u1ec7 th\u1ed1ng. Th\u1eddi gian th\u01b0\u1eddng di chuy\u1ec3n t\u1eeb tr\u00ean xu\u1ed1ng d\u01b0\u1edbi; v\u1ecb tr\u00ed ngang cho bi\u1ebft ai tham gia, ch\u1ee9 kh\u00f4ng ph\u1ea3i l\u00e0 ph\u00e9p \u0111o ch\u00ednh x\u00e1c v\u1ec1 th\u1eddi gian tr\u00f4i qua.<\/p>\n<p data-nodeid=\"16452\"><a href=\"https:\/\/guides.visual-paradigm.com\/vpascode-ai-assisted-diagram-as-code-with-plantuml\/\">PlantUML<\/a> cho ph\u00e9p b\u1ea1n m\u00f4 t\u1ea3 bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng v\u0103n b\u1ea3n. <a href=\"https:\/\/www.visual-paradigm.com\/features\/diagram-as-code-tool\/\">Tr\u00ecnh ch\u1ec9nh s\u1eeda VPasCode c\u1ee7a Visual Paradigm<\/a> k\u1ebft h\u1ee3p tr\u00ecnh ch\u1ec9nh m\u00e3 v\u1edbi b\u1ea3n xem tr\u01b0\u1edbc tr\u1ef1c ti\u1ebfp v\u00e0 h\u1ed7 tr\u1ee3 AI \u0111\u1ec3 t\u1ea1o, s\u1eeda \u0111\u1ed5i v\u00e0 s\u1eeda m\u00e3 bi\u1ec3u \u0111\u1ed3. M\u1ed9t quy tr\u00ecnh l\u00e0m vi\u1ec7c t\u1ed1t l\u00e0 s\u1eed d\u1ee5ng AI \u0111\u1ec3 c\u00f3 b\u1ea3n nh\u00e1p \u0111\u1ea7u ti\u00ean, sau \u0111\u00f3 t\u1ef1 ki\u1ec3m tra v\u00e0 tinh ch\u1ec9nh m\u00e3 PlantUML.<\/p>\n<p><img alt=\"S\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML minh h\u1ecda quy tr\u00ecnh l\u00e0m vi\u1ec7c VPasCode: Ng\u01b0\u1eddi d\u00f9ng m\u00f4 t\u1ea3 k\u1ecbch b\u1ea3n, VPasCode t\u1ea1o m\u00e3 PlantUML, v\u00e0 ng\u01b0\u1eddi d\u00f9ng ki\u1ec3m tra c\u0169ng nh\u01b0 tinh ch\u1ec9nh k\u1ebft qu\u1ea3.\" class=\"alignnone size-full wp-image-21931\" decoding=\"async\" height=\"1402\" loading=\"lazy\" sizes=\"auto, (max-width: 1122px) 100vw, 1122px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png 1122w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d-240x300.png 240w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d-819x1024.png 819w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d-768x960.png 768w\" width=\"1122\"\/><\/p>\n<h2 data-nodeid=\"16453\">1. C\u1ea5u tr\u00fac c\u01a1 b\u1ea3n<\/h2>\n<p data-nodeid=\"16454\">M\u1ed9t <a href=\"https:\/\/www.visual-paradigm.com\/features\/plantuml-sequence-diagram-builder\/\">bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 PlantUML<\/a> b\u1eaft \u0111\u1ea7u b\u1eb1ng <code data-backticks=\"1\" data-nodeid=\"16548\">@startuml<\/code> v\u00e0 k\u1ebft th\u00fac b\u1eb1ng <code data-backticks=\"1\" data-nodeid=\"16550\">@enduml<\/code>. C\u00e1c th\u00e0nh ph\u1ea7n th\u01b0\u1eddng \u0111\u01b0\u1ee3c li\u1ec7t k\u00ea tr\u01b0\u1edbc c\u00e1c th\u00f4ng \u0111i\u1ec7p \u0111\u1ec3 b\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m so\u00e1t t\u00ean v\u00e0 th\u1ee9 t\u1ef1 c\u1ee7a ch\u00fang.<\/p>\n<p id=\"larLZiI\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML b\u00ean c\u1ea1nh m\u1ed9t s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 minh h\u1ecda lu\u1ed3ng \u0111\u01a1n h\u00e0ng gi\u1eefa Kh\u00e1ch h\u00e0ng, Tr\u00ecnh duy\u1ec7t, API v\u00e0 C\u01a1 s\u1edf d\u1eef li\u1ec7u.\" class=\"alignnone size-full wp-image-21932\" decoding=\"async\" height=\"873\" loading=\"lazy\" sizes=\"auto, (max-width: 1915px) 100vw, 1915px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde04eea00d.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde04eea00d.png 1915w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde04eea00d-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde04eea00d-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde04eea00d-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde04eea00d-1536x700.png 1536w\" width=\"1915\"\/><\/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:NP3D2iCW48JlWk-mv1xwSyoXfDPBJWcaBx1LIuL4WvhczQjfBA6dXVbcPvQjVK0Nvd6W14Mm3cwp3tPKZf8f0YtqX2O0StRn_sBHEgaSNBkc0FHfKY8nu0Ezof2pbN562IKv6yfBJgoW6r0eiCbDoQOcGuoBiEtlS5YXfoHAYN1MGO_ltn9dKEQ5Rsl3D_E-w7mymSqf34hkYg8ZdnLJNtO1OSrJkn63jeQIMXaPt_C1\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:NP3D2iCW48JlWk-mv1xwSyoXfDPBJWcaBx1LIuL4WvhczQjfBA6dXVbcPvQjVK0Nvd6W14Mm3cwp3tPKZf8f0YtqX2O0StRn_sBHEgaSNBkc0FHfKY8nu0Ezof2pbN562IKv6yfBJgoW6r0eiCbDoQOcGuoBiEtlS5YXfoHAYN1MGO_ltn9dKEQ5Rsl3D_E-w7mymSqf34hkYg8ZdnLJNtO1OSrJkn63jeQIMXaPt_C1\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:NP3D2iCW48JlWk-mv1xwSyoXfDPBJWcaBx1LIuL4WvhczQjfBA6dXVbcPvQjVK0Nvd6W14Mm3cwp3tPKZf8f0YtqX2O0StRn_sBHEgaSNBkc0FHfKY8nu0Ezof2pbN562IKv6yfBJgoW6r0eiCbDoQOcGuoBiEtlS5YXfoHAYN1MGO_ltn9dKEQ5Rsl3D_E-w7mymSqf34hkYg8ZdnLJNtO1OSrJkn63jeQIMXaPt_C1\" \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\" data-nodeid=\"16455\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nactor Customer\r\nparticipant Browser\r\nparticipant \"Order API\" as API\r\ndatabase \"Order DB\" as DB\r\n\r\nCustomer -&gt; Browser: Place order\r\nBrowser -&gt; API: POST \/orders\r\nAPI -&gt; DB: Save order\r\nDB --&gt; API: Order ID\r\nAPI --&gt; Browser: 201 Created\r\nBrowser --&gt; Customer: Show confirmation\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NP3D2iCW48JlWk-mv1xwSyoXfDPBJWcaBx1LIuL4WvhczQjfBA6dXVbcPvQjVK0Nvd6W14Mm3cwp3tPKZf8f0YtqX2O0StRn_sBHEgaSNBkc0FHfKY8nu0Ezof2pbN562IKv6yfBJgoW6r0eiCbDoQOcGuoBiEtlS5YXfoHAYN1MGO_ltn9dKEQ5Rsl3D_E-w7mymSqf34hkYg8ZdnLJNtO1OSrJkn63jeQIMXaPt_C1\" \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:NP3D2iCW48JlWk-mv1xwSyoXfDPBJWcaBx1LIuL4WvhczQjfBA6dXVbcPvQjVK0Nvd6W14Mm3cwp3tPKZf8f0YtqX2O0StRn_sBHEgaSNBkc0FHfKY8nu0Ezof2pbN562IKv6yfBJgoW6r0eiCbDoQOcGuoBiEtlS5YXfoHAYN1MGO_ltn9dKEQ5Rsl3D_E-w7mymSqf34hkYg8ZdnLJNtO1OSrJkn63jeQIMXaPt_C1\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NP3D2iCW48JlWk-mv1xwSyoXfDPBJWcaBx1LIuL4WvhczQjfBA6dXVbcPvQjVK0Nvd6W14Mm3cwp3tPKZf8f0YtqX2O0StRn_sBHEgaSNBkc0FHfKY8nu0Ezof2pbN562IKv6yfBJgoW6r0eiCbDoQOcGuoBiEtlS5YXfoHAYN1MGO_ltn9dKEQ5Rsl3D_E-w7mymSqf34hkYg8ZdnLJNtO1OSrJkn63jeQIMXaPt_C1\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"16456\">Nh\u00e3n hi\u1ec3n th\u1ecb c\u1ee7a ng\u01b0\u1eddi tham gia c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c \u0111\u1eb7t trong d\u1ea5u ngo\u1eb7c k\u00e9p, v\u1edbi <code data-backticks=\"1\" data-nodeid=\"16553\">as<\/code> \u0111\u1ec3 cung c\u1ea5p m\u1ed9t bi\u1ec7t danh ng\u1eafn g\u1ecdn h\u01a1n \u0111\u1ec3 s\u1eed d\u1ee5ng trong c\u00e1c th\u00f4ng b\u00e1o. C\u00e1c t\u1eeb kh\u00f3a ng\u01b0\u1eddi tham gia ph\u1ed5 bi\u1ebfn bao g\u1ed3m <code data-backticks=\"1\" data-nodeid=\"16555\">actor<\/code>, <code data-backticks=\"1\" data-nodeid=\"16557\">participant<\/code>, <code data-backticks=\"1\" data-nodeid=\"16559\">boundary<\/code>, <code data-backticks=\"1\" data-nodeid=\"16561\">control<\/code>, <code data-backticks=\"1\" data-nodeid=\"16563\">entity<\/code>, <code data-backticks=\"1\" data-nodeid=\"16565\">database<\/code>, v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16567\">t\u1eadp h\u1ee3p<\/code>. H\u00e3y s\u1eed d\u1ee5ng t\u1eeb kh\u00f3a truy\u1ec1n \u0111\u1ea1t t\u1ed1t nh\u1ea5t vai tr\u00f2 c\u1ee7a ng\u01b0\u1eddi tham gia; n\u00f3 kh\u00f4ng \u00e9p bu\u1ed9c m\u1ed9t ki\u1ebfn tr\u00fac c\u1ee5 th\u1ec3 n\u00e0o.<\/p>\n<h2 data-nodeid=\"16457\">2. \u0110\u1ecdc tin nh\u1eafn v\u00e0 th\u1eddi gian<\/h2>\n<p data-nodeid=\"16458\">M\u1ed7i tin nh\u1eafn \u0111\u01b0\u1ee3c vi\u1ebft d\u01b0\u1edbi d\u1ea1ng ng\u01b0\u1eddi g\u1eedi, m\u1ed9t m\u0169i t\u00ean, ng\u01b0\u1eddi nh\u1eadn v\u00e0 m\u1ed9t nh\u00e3n. Th\u1ee9 t\u1ef1 c\u1ee7a c\u00e1c d\u00f2ng tin nh\u1eafn x\u00e1c \u0111\u1ecbnh th\u1ee9 t\u1ef1 d\u1ecdc c\u1ee7a ch\u00fang trong s\u01a1 \u0111\u1ed3.<\/p>\n<p><img alt=\"S\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 PlantUML minh h\u1ecda c\u00fa ph\u00e1p th\u00f4ng b\u00e1o cho c\u00e1c y\u00eau c\u1ea7u, ph\u1ea3n h\u1ed3i v\u00e0 c\u00e1c m\u0169i t\u00ean m\u1edf gi\u1eefa c\u00e1c \u0111\u01b0\u1eddng \u0111\u1eddi Client v\u00e0 Service.\" class=\"alignnone size-full wp-image-21933\" decoding=\"async\" height=\"1402\" loading=\"lazy\" sizes=\"auto, (max-width: 1122px) 100vw, 1122px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde096a5121.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde096a5121.png 1122w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde096a5121-240x300.png 240w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde096a5121-819x1024.png 819w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde096a5121-768x960.png 768w\" width=\"1122\"\/><\/p>\n<ul data-nodeid=\"16459\">\n<li data-nodeid=\"16460\">\n<p data-nodeid=\"16461\"><code data-backticks=\"1\" data-nodeid=\"16571\">-&gt;<\/code> l\u00e0 m\u0169i t\u00ean tin nh\u1eafn li\u1ec1n n\u00e9t, th\u01b0\u1eddng \u0111\u01b0\u1ee3c d\u00f9ng cho y\u00eau c\u1ea7u ho\u1eb7c l\u1eddi g\u1ecdi.<\/p>\n<\/li>\n<li data-nodeid=\"16462\">\n<p data-nodeid=\"16463\"><code data-backticks=\"1\" data-nodeid=\"16573\">--&gt;<\/code> l\u00e0 m\u0169i t\u00ean n\u00e9t \u0111\u1ee9t, th\u01b0\u1eddng \u0111\u01b0\u1ee3c d\u00f9ng cho ph\u1ea3n h\u1ed3i ho\u1eb7c tr\u1ea3 v\u1ec1.<\/p>\n<\/li>\n<li data-nodeid=\"16464\">\n<p data-nodeid=\"16465\"><code data-backticks=\"1\" data-nodeid=\"16575\">-&gt;&gt;<\/code> v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16577\">--&gt;&gt;<\/code> s\u1eed d\u1ee5ng \u0111\u1ea7u m\u0169i t\u00ean m\u1edf trong c\u00e1c ki\u1ec3u PlantUML ph\u1ed5 bi\u1ebfn.<\/p>\n<\/li>\n<li data-nodeid=\"16466\">\n<p data-nodeid=\"16467\"><code data-backticks=\"1\" data-nodeid=\"16579\">: v\u0103n b\u1ea3n<\/code> th\u00eam nh\u00e3n tin nh\u1eafn.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"16468\">H\u00e3y ch\u1ecdn m\u1ed9t quy \u01b0\u1edbc th\u1ed1ng nh\u1ea5t cho c\u00e1c l\u1eddi g\u1ecdi v\u00e0 ph\u1ea3n h\u1ed3i. C\u00e1c s\u01a1 \u0111\u1ed3 UML truy\u1ec1n \u0111\u1ea1t m\u1ed9t t\u01b0\u01a1ng t\u00e1c; ch\u00fang kh\u00f4ng t\u1ef1 \u0111\u1ed9ng \u0111\u1ea3m b\u1ea3o r\u1eb1ng vi\u1ec7c tri\u1ec3n khai tu\u00e2n theo giao th\u1ee9c \u0111\u01b0\u1ee3c m\u00f4 t\u1ea3.<\/p>\n<h2 data-nodeid=\"16469\">3. K\u00edch ho\u1ea1t v\u00e0 th\u1eddi gian s\u1ed1ng c\u1ee7a ng\u01b0\u1eddi tham gia<\/h2>\n<p data-nodeid=\"16470\">C\u00e1c k\u00edch ho\u1ea1t c\u00f3 th\u1ec3 hi\u1ec3n th\u1ecb khi n\u00e0o m\u1ed9t ng\u01b0\u1eddi tham gia \u0111ang th\u1ef1c hi\u1ec7n c\u00f4ng vi\u1ec7c. H\u00e3y s\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"16584\">k\u00edch ho\u1ea1t<\/code> v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16586\">h\u1ee7y k\u00edch ho\u1ea1t<\/code>, ho\u1eb7c k\u00fd hi\u1ec7u t\u1eaft <code data-backticks=\"1\" data-nodeid=\"16588\">++<\/code> v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16590\">--<\/code> tr\u00ean c\u00e1c m\u0169i t\u00ean tin nh\u1eafn.<\/p>\n<p id=\"yxmoCKX\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u1ed9t s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi c\u00e1c thanh k\u00edch ho\u1ea1t d\u1ecdc minh h\u1ecda c\u00e1c cu\u1ed9c g\u1ecdi API l\u1ed3ng nhau gi\u1eefa Ng\u01b0\u1eddi d\u00f9ng, API \u0110\u0103ng nh\u1eadp v\u00e0 C\u01a1 s\u1edf d\u1eef li\u1ec7u Ng\u01b0\u1eddi d\u00f9ng.\" class=\"alignnone size-full wp-image-21935\" decoding=\"async\" height=\"874\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0cc030f9.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0cc030f9.png 1918w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0cc030f9-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0cc030f9-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0cc030f9-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0cc030f9-1536x700.png 1536w\" width=\"1918\"\/><\/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:NO_12i8m38RlXRv3s7qli8Di5q7m88WFaBL10bixcjJdj-qcg9Saf5y-_ewYc3IlYpNeD2Pu22Lhjh9anni6XUuQdnnWkbqwGAdT6e-ACmerNAonfWxGd-hp0FSyhwpW4daAohX8q_CBbNP1APLkvmESENX0vs8E-aKUyjQW_yYddOD4BYPVij3_GPCVzW7s-8aaB_f3jo0Z1L--_mO0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:NO_12i8m38RlXRv3s7qli8Di5q7m88WFaBL10bixcjJdj-qcg9Saf5y-_ewYc3IlYpNeD2Pu22Lhjh9anni6XUuQdnnWkbqwGAdT6e-ACmerNAonfWxGd-hp0FSyhwpW4daAohX8q_CBbNP1APLkvmESENX0vs8E-aKUyjQW_yYddOD4BYPVij3_GPCVzW7s-8aaB_f3jo0Z1L--_mO0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:RP2n3S8m44LxIzxXYvu5Kg10Wn0K53202L5i0Kw8ZuAQ2TW0H453EgfGK8H5l0csWIQYkJlv_ll_vDYGA6ctMNCc4ifBp4rQSbQuHvMeGcX2Pv9dIgC_7NKWZE-SBGM9XJ1fa1lEEFC3kZs_ZZ2qZqg1P7FN6SZ1h-Fhu4OjRLqLdAsQAf6GkQtFz35qnTF1BiAikMr0pKbXvKKNtKA-gQ6X-qiTU2KogLgej8_h7lyCGketDiBOra_2TkUezi5_BCBPSQgNxlFU\" \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\" data-nodeid=\"16471\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nactor User\r\nparticipant \"Login API\" as API\r\ndatabase Users\r\n\r\nUser -&gt; API: G\u1eedi th\u00f4ng tin \u0111\u0103ng nh\u1eadp\r\nk\u00edch ho\u1ea1t API\r\nAPI -&gt; Users: T\u00ecm t\u00e0i kho\u1ea3n\r\nk\u00edch ho\u1ea1t Users\r\nUsers --&gt; API: B\u1ea3n ghi t\u00e0i kho\u1ea3n\r\nh\u1ee7y k\u00edch ho\u1ea1t Users\r\nAPI --&gt; User: K\u1ebft qu\u1ea3 \u0111\u0103ng nh\u1eadp\r\nh\u1ee7y k\u00edch ho\u1ea1t API\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:RP2n3S8m44LxIzxXYvu5Kg10Wn0K53202L5i0Kw8ZuAQ2TW0H453EgfGK8H5l0csWIQYkJlv_ll_vDYGA6ctMNCc4ifBp4rQSbQuHvMeGcX2Pv9dIgC_7NKWZE-SBGM9XJ1fa1lEEFC3kZs_ZZ2qZqg1P7FN6SZ1h-Fhu4OjRLqLdAsQAf6GkQtFz35qnTF1BiAikMr0pKbXvKKNtKA-gQ6X-qiTU2KogLgej8_h7lyCGketDiBOra_2TkUezi5_BCBPSQgNxlFU\" \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:NO_12i8m38RlXRv3s7qli8Di5q7m88WFaBL10bixcjJdj-qcg9Saf5y-_ewYc3IlYpNeD2Pu22Lhjh9anni6XUuQdnnWkbqwGAdT6e-ACmerNAonfWxGd-hp0FSyhwpW4daAohX8q_CBbNP1APLkvmESENX0vs8E-aKUyjQW_yYddOD4BYPVij3_GPCVzW7s-8aaB_f3jo0Z1L--_mO0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NO_12i8m38RlXRv3s7qli8Di5q7m88WFaBL10bixcjJdj-qcg9Saf5y-_ewYc3IlYpNeD2Pu22Lhjh9anni6XUuQdnnWkbqwGAdT6e-ACmerNAonfWxGd-hp0FSyhwpW4daAohX8q_CBbNP1APLkvmESENX0vs8E-aKUyjQW_yYddOD4BYPVij3_GPCVzW7s-8aaB_f3jo0Z1L--_mO0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"16472\">C\u00e1c l\u1ec7nh k\u00edch ho\u1ea1t h\u1eefu \u00edch nh\u1ea5t khi ch\u00fang l\u00e0m r\u00f5 c\u00e1c l\u1eddi g\u1ecdi l\u1ed3ng nhau ho\u1eb7c tr\u00e1ch nhi\u1ec7m. Tr\u00e1nh th\u00eam ch\u00fang m\u1ed9t c\u00e1ch m\u00e1y m\u00f3c v\u00e0o m\u1ecdi tin nh\u1eafn n\u1ebfu \u0111i\u1ec1u \u0111\u00f3 khi\u1ebfn bi\u1ec3u \u0111\u1ed3 kh\u00f3 \u0111\u1ecdc h\u01a1n.<\/p>\n<h2 data-nodeid=\"16473\">4. \u0110i\u1ec1u ki\u1ec7n, l\u1ef1a ch\u1ecdn thay th\u1ebf v\u00e0 l\u1eb7p l\u1ea1i<\/h2>\n<p data-nodeid=\"16474\">S\u1eed d\u1ee5ng c\u00e1c kh\u1ed1i k\u1ebft h\u1ee3p \u0111\u1ec3 th\u1ec3 hi\u1ec7n lu\u1ed3ng \u0111i\u1ec1u khi\u1ec3n. T\u1eeb kh\u00f3a fragment b\u1eaft \u0111\u1ea7u kh\u1ed1i, <code data-backticks=\"1\" data-nodeid=\"16595\">else<\/code> ph\u00e2n t\u00e1ch c\u00e1c l\u1ef1a ch\u1ecdn thay th\u1ebf khi ph\u00f9 h\u1ee3p, v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16597\">end<\/code> \u0111\u00f3ng kh\u1ed1i l\u1ea1i. C\u00e1c \u0111i\u1ec1u ki\u1ec7n b\u1ea3o v\u1ec7 \u0111\u01b0\u1ee3c \u0111\u1eb7t trong d\u1ea5u ngo\u1eb7c vu\u00f4ng.<\/p>\n<h3 data-nodeid=\"16475\">C\u00e1c \u0111\u01b0\u1eddng d\u1eabn thay th\u1ebf: <code data-backticks=\"1\" data-nodeid=\"16600\">alt<\/code> v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16602\">else<\/code><\/h3>\n<p id=\"EwsWTYK\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML v\u00e0 s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 k\u1ebft qu\u1ea3 minh h\u1ecda c\u00e1c kh\u1ed1i alt v\u00e0 else cho th\u00f4ng tin \u0111\u0103ng nh\u1eadp h\u1ee3p l\u1ec7 so v\u1edbi kh\u00f4ng h\u1ee3p l\u1ec7.\" class=\"alignnone size-full wp-image-21936\" decoding=\"async\" height=\"870\" loading=\"lazy\" sizes=\"auto, (max-width: 1914px) 100vw, 1914px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0f00ce40.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0f00ce40.png 1914w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0f00ce40-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0f00ce40-1024x465.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0f00ce40-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde0f00ce40-1536x698.png 1536w\" width=\"1914\"\/><\/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:XP11ImGn38NlXVw7nzxt3yn1LlOaA8ZYQV6GRODJjfCEJRh-VTjP1JrvISFhUr_Q7DIeMbkoTnIiLBmfL-_MBgQGLXB3xh5y9C7zyyCEfEFqBfBHcPGtkthdtMYmlnlN4rxRUKc6rZMXXK4IiPBgPwdHksuPpYqwuJXpk21KZYoMAEkDfTZ_q9x8mepAshADKPGDfry1N2cd-EuTiA6_sHDUs5eLAAkc8h1oOV6ESt_tdtoIVmZKR1xcG3P0N6lfIsBfdpdqsjVt1G00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:XP11ImGn38NlXVw7nzxt3yn1LlOaA8ZYQV6GRODJjfCEJRh-VTjP1JrvISFhUr_Q7DIeMbkoTnIiLBmfL-_MBgQGLXB3xh5y9C7zyyCEfEFqBfBHcPGtkthdtMYmlnlN4rxRUKc6rZMXXK4IiPBgPwdHksuPpYqwuJXpk21KZYoMAEkDfTZ_q9x8mepAshADKPGDfry1N2cd-EuTiA6_sHDUs5eLAAkc8h1oOV6ESt_tdtoIVmZKR1xcG3P0N6lfIsBfdpdqsjVt1G00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:ZL6_IiGm6Dy3UOSVjzyBT91p4Za71vt48TUMDboRvfglXwiu-0WE8dXqKZXGSB4P70A-Hzx4fESDWeBBbtnVljy_CZCaMkhgYZEHKjFYtEGjPpeCPIgrK8J9ILD8XSFJumc4YITdcI2n42OVrmrddCKBfWVnES6Hjri9SiyAglXyyVP18dFlgi3QFQBsmvQmBFtmr74M014t4YMOIszlQb0hGALx2mWAsbTkauRUszTqfsGmtMlD_V11M7L-w2EdlTVHZgW85xyp8DHUe_Bszf8pO3JmxI31MHk9rjvUetRztiJ2RHheKeP4dELL2FuN-N8t_gz6sBYJF_FbAkDi5chubIy0\" \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\" data-nodeid=\"16476\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nactor User\r\nparticipant \"Login API\" as API\r\ndatabase Users\r\n\r\nUser -&gt; API: G\u1eedi t\u00ean ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1eadt kh\u1ea9u\r\nAPI -&gt; Users: Ki\u1ec3m tra th\u00f4ng tin x\u00e1c th\u1ef1c\r\nUsers --&gt; API: K\u1ebft qu\u1ea3 kh\u1edbp\r\n\r\nalt [th\u00f4ng tin x\u00e1c th\u1ef1c h\u1ee3p l\u1ec7]\r\n  API --&gt; User: Tr\u1ea3 v\u1ec1 m\u00e3 th\u00f4ng b\u00e1o phi\u00ean\r\nelse [th\u00f4ng tin x\u00e1c th\u1ef1c kh\u00f4ng h\u1ee3p l\u1ec7]\r\n  API --&gt; User: Tr\u1ea3 v\u1ec1 l\u1ed7i x\u00e1c th\u1ef1c\r\nend\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZL6_IiGm6Dy3UOSVjzyBT91p4Za71vt48TUMDboRvfglXwiu-0WE8dXqKZXGSB4P70A-Hzx4fESDWeBBbtnVljy_CZCaMkhgYZEHKjFYtEGjPpeCPIgrK8J9ILD8XSFJumc4YITdcI2n42OVrmrddCKBfWVnES6Hjri9SiyAglXyyVP18dFlgi3QFQBsmvQmBFtmr74M014t4YMOIszlQb0hGALx2mWAsbTkauRUszTqfsGmtMlD_V11M7L-w2EdlTVHZgW85xyp8DHUe_Bszf8pO3JmxI31MHk9rjvUetRztiJ2RHheKeP4dELL2FuN-N8t_gz6sBYJF_FbAkDi5chubIy0\" \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:XP11ImGn38NlXVw7nzxt3yn1LlOaA8ZYQV6GRODJjfCEJRh-VTjP1JrvISFhUr_Q7DIeMbkoTnIiLBmfL-_MBgQGLXB3xh5y9C7zyyCEfEFqBfBHcPGtkthdtMYmlnlN4rxRUKc6rZMXXK4IiPBgPwdHksuPpYqwuJXpk21KZYoMAEkDfTZ_q9x8mepAshADKPGDfry1N2cd-EuTiA6_sHDUs5eLAAkc8h1oOV6ESt_tdtoIVmZKR1xcG3P0N6lfIsBfdpdqsjVt1G00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XP11ImGn38NlXVw7nzxt3yn1LlOaA8ZYQV6GRODJjfCEJRh-VTjP1JrvISFhUr_Q7DIeMbkoTnIiLBmfL-_MBgQGLXB3xh5y9C7zyyCEfEFqBfBHcPGtkthdtMYmlnlN4rxRUKc6rZMXXK4IiPBgPwdHksuPpYqwuJXpk21KZYoMAEkDfTZ_q9x8mepAshADKPGDfry1N2cd-EuTiA6_sHDUs5eLAAkc8h1oOV6ESt_tdtoIVmZKR1xcG3P0N6lfIsBfdpdqsjVt1G00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"16477\"><code data-backticks=\"1\" data-nodeid=\"16603\">alt<\/code> l\u00e0 ph\u00f9 h\u1ee3p khi c\u00e1c \u0111\u01b0\u1eddng d\u1eabn lo\u1ea1i tr\u1eeb l\u1eabn nhau. H\u00e3y s\u1eed d\u1ee5ng nh\u00e3n l\u00e0m r\u00f5 c\u00e1c \u0111i\u1ec1u ki\u1ec7n.<\/p>\n<h3 data-nodeid=\"16478\">H\u00e0nh vi t\u00f9y ch\u1ecdn: <code data-backticks=\"1\" data-nodeid=\"16606\">opt<\/code><\/h3>\n<p id=\"ydwFxXp\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML v\u00e0 s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 \u0111\u00e3 \u0111\u01b0\u1ee3c render v\u1edbi kh\u1ed1i opt cho h\u00e0nh vi nh\u1eadn email t\u00f9y ch\u1ecdn.\" class=\"alignnone size-full wp-image-21937\" decoding=\"async\" height=\"869\" loading=\"lazy\" sizes=\"auto, (max-width: 1916px) 100vw, 1916px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde11f21597.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde11f21597.png 1916w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde11f21597-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde11f21597-1024x464.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde11f21597-768x348.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde11f21597-1536x697.png 1536w\" width=\"1916\"\/><\/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:LP2z2iCm38HtWz_Xo9uNo11IGkSE7Ki7ewZKDFx1aVlyjPka9Oj0qjsdGyCY9absirQ692ICUP7WE6aLoyAIZSOBnYVJAsGvJfkpCtR6bTFR4ZSm2xuJhRJQEMZxdxl365oSMHWn9tgQXOjmMwAjoitLuPAcOgRW7pOv8pRuIWrHSACTNJgUO3qaWElXkrR07zYlSRgIq4z8J6oZLCcQkpr4En5nvMbLn5eDfPQtV000\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:LP2z2iCm38HtWz_Xo9uNo11IGkSE7Ki7ewZKDFx1aVlyjPka9Oj0qjsdGyCY9absirQ692ICUP7WE6aLoyAIZSOBnYVJAsGvJfkpCtR6bTFR4ZSm2xuJhRJQEMZxdxl365oSMHWn9tgQXOjmMwAjoitLuPAcOgRW7pOv8pRuIWrHSACTNJgUO3qaWElXkrR07zYlSRgIq4z8J6oZLCcQkpr4En5nvMbLn5eDfPQtV000\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:LP11QiCm54Jt0jrXoDuNy284GcdttHHA5ueYAc5RClPtBv0B93T82Da4Se64h6Hw3z-atxNTair76hqPZRIeILNK5BaKIbEei6ng2eMff2Zvm6bNAazOMgEpqD2ZEdigbClnQgelfyqCgiQl8eKKKmwI-PyxnKk8Um_ghYT2qIXOtduoF098UdfqfdYB1mrlk-l5ezrz7_p4In5Amdjc6R23o40yycWtlCxYVVAPlj275C3_9VEXPehdxdPnMBbuziYLwwdXISb3wtRBqPhpJkKOAuNnQoaMFFdlVW00\" \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\" data-nodeid=\"16479\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nactor Customer\r\nparticipant Checkout\r\nparticipant \"Email Service\" as Email\r\n\r\nCustomer -&gt; Checkout: Ho\u00e0n t\u1ea5t mua h\u00e0ng\r\nCheckout --&gt; Customer: X\u00e1c nh\u1eadn \u0111\u01a1n h\u00e0ng\r\n\r\nopt [kh\u00e1ch h\u00e0ng \u0111\u00e3 \u0111\u0103ng k\u00fd nh\u1eadn email]\r\n  Checkout -&gt; Email: G\u1eedi bi\u00ean lai\r\n  Email --&gt; Checkout: \u0110\u00e3 ch\u1ea5p nh\u1eadn\r\nend\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP11QiCm54Jt0jrXoDuNy284GcdttHHA5ueYAc5RClPtBv0B93T82Da4Se64h6Hw3z-atxNTair76hqPZRIeILNK5BaKIbEei6ng2eMff2Zvm6bNAazOMgEpqD2ZEdigbClnQgelfyqCgiQl8eKKKmwI-PyxnKk8Um_ghYT2qIXOtduoF098UdfqfdYB1mrlk-l5ezrz7_p4In5Amdjc6R23o40yycWtlCxYVVAPlj275C3_9VEXPehdxdPnMBbuziYLwwdXISb3wtRBqPhpJkKOAuNnQoaMFFdlVW00\" \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:LP2z2iCm38HtWz_Xo9uNo11IGkSE7Ki7ewZKDFx1aVlyjPka9Oj0qjsdGyCY9absirQ692ICUP7WE6aLoyAIZSOBnYVJAsGvJfkpCtR6bTFR4ZSm2xuJhRJQEMZxdxl365oSMHWn9tgQXOjmMwAjoitLuPAcOgRW7pOv8pRuIWrHSACTNJgUO3qaWElXkrR07zYlSRgIq4z8J6oZLCcQkpr4En5nvMbLn5eDfPQtV000\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LP2z2iCm38HtWz_Xo9uNo11IGkSE7Ki7ewZKDFx1aVlyjPka9Oj0qjsdGyCY9absirQ692ICUP7WE6aLoyAIZSOBnYVJAsGvJfkpCtR6bTFR4ZSm2xuJhRJQEMZxdxl365oSMHWn9tgQXOjmMwAjoitLuPAcOgRW7pOv8pRuIWrHSACTNJgUO3qaWElXkrR07zYlSRgIq4z8J6oZLCcQkpr4En5nvMbLn5eDfPQtV000\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"16480\">L\u1eb7p l\u1ea1i: <code data-backticks=\"1\" data-nodeid=\"16608\">v\u00f2ng l\u1eb7p<\/code><\/h3>\n<p id=\"rKWQgIP\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb m\u00e3 PlantUML v\u00e0 s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 k\u1ebft qu\u1ea3 minh h\u1ecda m\u1ed9t \u0111o\u1ea1n l\u1eb7p cho m\u1ed7i kho\u1ea3n thanh to\u00e1n \u0111ang ch\u1edd gi\u1eefa T\u00e1c v\u1ee5 theo l\u00f4 v\u00e0 API Thanh to\u00e1n.\" class=\"alignnone size-full wp-image-21938\" decoding=\"async\" height=\"870\" loading=\"lazy\" sizes=\"auto, (max-width: 1915px) 100vw, 1915px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde13dd156f.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde13dd156f.png 1915w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde13dd156f-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde13dd156f-1024x465.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde13dd156f-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde13dd156f-1536x698.png 1536w\" width=\"1915\"\/><\/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:NOwz3i8m38JtI7c7K_U-G0TKs62gn8Wwk2L0fFofIGRUdWke2ujzydTdUyn5jbAzqofHsDKc2GNTIShwmYKk7IIt_iSdUNj3SPpENmUxLbgv61DkZxZ12FF9XBiDJwIVUzOARHVwGmiCkDR5sxBZHZb6JqpNWFt8Pd9rnDocrSZAVpy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:NOwz3i8m38JtI7c7K_U-G0TKs62gn8Wwk2L0fFofIGRUdWke2ujzydTdUyn5jbAzqofHsDKc2GNTIShwmYKk7IIt_iSdUNj3SPpENmUxLbgv61DkZxZ12FF9XBiDJwIVUzOARHVwGmiCkDR5sxBZHZb6JqpNWFt8Pd9rnDocrSZAVpy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:SoWkIImgAStDuUKg038oapCB4lDA59IS4akICnIyyfEK51ABGJIQV41YPMugaE4Ou0bM0QHvkNYvSlBp2nIYapFo5N8VxfwUgL2IaPYNeL2IVtXXdiAHYObvwGh96GztputbvL806QgWQmVIQQNW_d3tMXJL80L06GLTe0gWGYi5xuUxzfSe59O-tBKOLLrgNWelbmEG17e20000\" \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\" data-nodeid=\"16481\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nparticipant \"Batch Job\" as Job\r\nparticipant \"Payment API\" as API\r\n\r\nloop [cho m\u1ed7i thanh to\u00e1n \u0111ang ch\u1edd]\r\n  Job -&gt; API: G\u1eedi thanh to\u00e1n\r\n  API --&gt; Job: K\u1ebft qu\u1ea3 thanh to\u00e1n\r\nend\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuUKg038oapCB4lDA59IS4akICnIyyfEK51ABGJIQV41YPMugaE4Ou0bM0QHvkNYvSlBp2nIYapFo5N8VxfwUgL2IaPYNeL2IVtXXdiAHYObvwGh96GztputbvL806QgWQmVIQQNW_d3tMXJL80L06GLTe0gWGYi5xuUxzfSe59O-tBKOLLrgNWelbmEG17e20000\" \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:NOwz3i8m38JtI7c7K_U-G0TKs62gn8Wwk2L0fFofIGRUdWke2ujzydTdUyn5jbAzqofHsDKc2GNTIShwmYKk7IIt_iSdUNj3SPpENmUxLbgv61DkZxZ12FF9XBiDJwIVUzOARHVwGmiCkDR5sxBZHZb6JqpNWFt8Pd9rnDocrSZAVpy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NOwz3i8m38JtI7c7K_U-G0TKs62gn8Wwk2L0fFofIGRUdWke2ujzydTdUyn5jbAzqofHsDKc2GNTIShwmYKk7IIt_iSdUNj3SPpENmUxLbgv61DkZxZ12FF9XBiDJwIVUzOARHVwGmiCkDR5sxBZHZb6JqpNWFt8Pd9rnDocrSZAVpy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"16482\">\u0110\u1eb7t h\u00e0nh \u0111\u1ed9ng l\u1eb7p l\u1ea1i b\u00ean trong kh\u1ed1i v\u00e0 n\u00eau r\u00f5 \u0111i\u1ec1u ki\u1ec7n ho\u1eb7c ph\u1ea1m vi c\u1ee7a v\u00f2ng l\u1eb7p.<\/p>\n<h2 data-nodeid=\"16483\">5. T\u01b0\u01a1ng t\u00e1c song song v\u00e0 nh\u00f3m<\/h2>\n<p data-nodeid=\"16484\">S\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"16612\">par<\/code> khi c\u00e1c t\u01b0\u01a1ng t\u00e1c x\u1ea3y ra \u0111\u1ed3ng th\u1eddi ho\u1eb7c th\u1ee9 t\u1ef1 c\u1ee7a ch\u00fang kh\u00f4ng quan tr\u1ecdng. S\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"16614\">group<\/code> \u0111\u1ec3 g\u1eafn nh\u00e3n cho m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c th\u00f4ng b\u00e1o m\u00e0 kh\u00f4ng ng\u1ee5 \u00fd m\u1ed9t c\u1ea5u tr\u00fac lu\u1ed3ng \u0111i\u1ec1u khi\u1ec3n c\u1ee5 th\u1ec3.<\/p>\n<p id=\"dtkIZbf\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 PlantUML v\u1edbi c\u00e1c t\u01b0\u01a1ng t\u00e1c song song \u0111\u1ec3 \u0111\u1eb7t ch\u1ed7 h\u00e0ng t\u1ed3n kho v\u00e0 th\u00f4ng b\u00e1o cho kh\u00e1ch h\u00e0ng.\" class=\"alignnone size-full wp-image-21939\" decoding=\"async\" height=\"876\" loading=\"lazy\" sizes=\"auto, (max-width: 1917px) 100vw, 1917px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde15b725e7.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde15b725e7.png 1917w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde15b725e7-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde15b725e7-1024x468.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde15b725e7-768x351.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde15b725e7-1536x702.png 1536w\" width=\"1917\"\/><\/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:NP0z3iCW38Lt9EvWPSy5CbJfsAMLsXCWS2NK111sAlNsTK94VXP0zlVydkc9JUPf7BHAyl3M9nCOcaTscE65-UijDc08bWgTi5luOk2OVmUqLa_qFR9_UslOnt0GB0sXjIekq5vMlwxSOAp5nEXcHcR24qdq2CJHVhG2s8JLlQkKPnnffhQyxSwYO2LMHfe6rWe7mZKNs4biHin7dzBiP97W82uff-GCuuojohtBjQuW0grwEUNV_m00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:NP0z3iCW38Lt9EvWPSy5CbJfsAMLsXCWS2NK111sAlNsTK94VXP0zlVydkc9JUPf7BHAyl3M9nCOcaTscE65-UijDc08bWgTi5luOk2OVmUqLa_qFR9_UslOnt0GB0sXjIekq5vMlwxSOAp5nEXcHcR24qdq2CJHVhG2s8JLlQkKPnnffhQyxSwYO2LMHfe6rWe7mZKNs4biHin7dzBiP97W82uff-GCuuojohtBjQuW0grwEUNV_m00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:VP51IWCn68Nt0xd3e_jUO1RIXI1Iq4qlCAQn6QoPCPCMF8ERkdBhC7HP51I4oS95XjuZD_6FQUieqisVmFzUllV8g3APDelREKjAkkGyBpDbC3Zrze5BBBrTerjjQmNfdjLiWAp2fPuANHqnZ6NnBJnNIw5CeU-FQ2VIlQiPhbmTFHU5oQ_9m9A8mV1a1qpxGT0zRb-zRJYuzEswXA9ZeuAFK9XeRr-YaYN0prE7I6bVG_Cj2yB36iCUT-pRJuExXMyRulhsmmIgVMA9c5UYNm4tqjLKxHzoB9RYpDjD3avfTw5DwBBl5JnH-Ij1jtBDtwP2JLaoeac_zmK0\" \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\" data-nodeid=\"16485\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nparticipant \"D\u1ecbch v\u1ee5 \u0110\u01a1n h\u00e0ng\" as Orders\r\nparticipant \"D\u1ecbch v\u1ee5 Kho\" as Inventory\r\nparticipant \"D\u1ecbch v\u1ee5 Th\u00f4ng b\u00e1o\" as Notify\r\n\r\nOrders -&gt; Orders: \u0110\u01a1n h\u00e0ng \u0111\u01b0\u1ee3c ch\u1ea5p nh\u1eadn\r\n\r\npar Tr\u1eef h\u00e0ng\r\n  Orders -&gt; Inventory: Tr\u1eef h\u00e0ng h\u00f3a\r\n  Inventory --&gt; Orders: K\u1ebft qu\u1ea3 \u0111\u1eb7t ch\u1ed7\r\nelse Th\u00f4ng b\u00e1o kh\u00e1ch h\u00e0ng\r\n  Orders -&gt; Notify: G\u1eedi c\u1eadp nh\u1eadt \u0111\u01a1n h\u00e0ng\r\n  Notify --&gt; Orders: \u0110\u00e3 ch\u1ea5p nh\u1eadn\r\nend\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VP51IWCn68Nt0xd3e_jUO1RIXI1Iq4qlCAQn6QoPCPCMF8ERkdBhC7HP51I4oS95XjuZD_6FQUieqisVmFzUllV8g3APDelREKjAkkGyBpDbC3Zrze5BBBrTerjjQmNfdjLiWAp2fPuANHqnZ6NnBJnNIw5CeU-FQ2VIlQiPhbmTFHU5oQ_9m9A8mV1a1qpxGT0zRb-zRJYuzEswXA9ZeuAFK9XeRr-YaYN0prE7I6bVG_Cj2yB36iCUT-pRJuExXMyRulhsmmIgVMA9c5UYNm4tqjLKxHzoB9RYpDjD3avfTw5DwBBl5JnH-Ij1jtBDtwP2JLaoeac_zmK0\" \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:NP0z3iCW38Lt9EvWPSy5CbJfsAMLsXCWS2NK111sAlNsTK94VXP0zlVydkc9JUPf7BHAyl3M9nCOcaTscE65-UijDc08bWgTi5luOk2OVmUqLa_qFR9_UslOnt0GB0sXjIekq5vMlwxSOAp5nEXcHcR24qdq2CJHVhG2s8JLlQkKPnnffhQyxSwYO2LMHfe6rWe7mZKNs4biHin7dzBiP97W82uff-GCuuojohtBjQuW0grwEUNV_m00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NP0z3iCW38Lt9EvWPSy5CbJfsAMLsXCWS2NK111sAlNsTK94VXP0zlVydkc9JUPf7BHAyl3M9nCOcaTscE65-UijDc08bWgTi5luOk2OVmUqLa_qFR9_UslOnt0GB0sXjIekq5vMlwxSOAp5nEXcHcR24qdq2CJHVhG2s8JLlQkKPnnffhQyxSwYO2LMHfe6rWe7mZKNs4biHin7dzBiP97W82uff-GCuuojohtBjQuW0grwEUNV_m00\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"16486\">S\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"16617\">par<\/code>ch\u1ec9 khi t\u00ednh \u0111\u1ed3ng th\u1eddi c\u00f3 \u00fd ngh\u0129a. N\u1ebfu m\u1ed9t h\u00e0nh \u0111\u1ed9ng ph\u1ea3i ho\u00e0n t\u1ea5t tr\u01b0\u1edbc khi h\u00e0nh \u0111\u1ed9ng kh\u00e1c b\u1eaft \u0111\u1ea7u, h\u00e3y hi\u1ec3n th\u1ecb c\u00e1c th\u00f4ng b\u00e1o theo tr\u00ecnh t\u1ef1 thay v\u00ec.<\/p>\n<h2 data-nodeid=\"16487\">6. Ghi ch\u00fa, tham chi\u1ebfu v\u00e0 nh\u00f3m tr\u1ef1c quan<\/h2>\n<p data-nodeid=\"16488\">Ghi ch\u00fa c\u00f3 th\u1ec3 l\u00e0m r\u00f5 c\u00e1c gi\u1ea3 \u0111\u1ecbnh, r\u00e0ng bu\u1ed9c ho\u1eb7c quy\u1ebft \u0111\u1ecbnh. M\u1ed9t <code data-backticks=\"1\" data-nodeid=\"16621\">ref<\/code> \u0111o\u1ea1n m\u00e3 c\u00f3 th\u1ec3 h\u01b0\u1edbng ng\u01b0\u1eddi \u0111\u1ecdc \u0111\u1ebfn m\u1ed9t bi\u1ec3u \u0111\u1ed3 kh\u00e1c ho\u1eb7c m\u1ed9t t\u01b0\u01a1ng t\u00e1c \u0111\u01b0\u1ee3c t\u00e0i li\u1ec7u h\u00f3a ri\u00eang bi\u1ec7t.<\/p>\n<p id=\"YypuYOk\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 PlantUML v\u1edbi m\u1ed9t ghi ch\u00fa m\u00e0u v\u00e0ng l\u00e0m r\u00f5 r\u1eb1ng c\u00e1c quy t\u1eafc r\u1ee7i ro \u0111\u01b0\u1ee3c duy tr\u00ec b\u00ean ngo\u00e0i t\u01b0\u01a1ng t\u00e1c.\" class=\"alignnone size-full wp-image-21940\" decoding=\"async\" height=\"865\" loading=\"lazy\" sizes=\"auto, (max-width: 1912px) 100vw, 1912px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde17676aec.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde17676aec.png 1912w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde17676aec-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde17676aec-1024x463.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde17676aec-768x347.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde17676aec-1536x695.png 1536w\" width=\"1912\"\/><\/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:NL5BQiCm4DqBT8SX-_G0NeIKG26xqf033FQa4h4bCpDgQK_VaLnbaONGvpszZtGKHTQopDxXg9dXL4JpGkpTQa0Suuf9ONSADDvpKRYUTu1YqnFX7NyMiiM5-2kEr4XsziHwOomJDB76Q7lllEksi3-Ozb2lmitYP9vgbkkv0dOum6lHa3d-4goRfNULR70JCu88YO0o9h5ECQTgaB8ISFmC2ldMVG4-ejo1oqm2o0GBngGsg87ML-94e24A642ywRruHsc2AbcbjrBx7d2J92bpZ_RVgIV7gl5Wr6f6w0ymm2NaxmTwD2FxdJy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:NL5BQiCm4DqBT8SX-_G0NeIKG26xqf033FQa4h4bCpDgQK_VaLnbaONGvpszZtGKHTQopDxXg9dXL4JpGkpTQa0Suuf9ONSADDvpKRYUTu1YqnFX7NyMiiM5-2kEr4XsziHwOomJDB76Q7lllEksi3-Ozb2lmitYP9vgbkkv0dOum6lHa3d-4goRfNULR70JCu88YO0o9h5ECQTgaB8ISFmC2ldMVG4-ejo1oqm2o0GBngGsg87ML-94e24A642ywRruHsc2AbcbjrBx7d2J92bpZ_RVgIV7gl5Wr6f6w0ymm2NaxmTwD2FxdJy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:PLBBIWCn5DqFv1yEtTSFc8KKAcgf2nSMtCQPCWdQfAOPiMiNBhhHFsWf8gXWtNOMBbBw7_cJtiI-g9l9a7FkULpI65XkRDcxOmdFh3Pe2pV918GRgu8bVG9b9ljSMTJE9DV8fQ-U5Qu4Lm9MkucgWG_GQHsGJtmr8fq7Nxtz8r_ouG6xJQfFFLZ3SU6hJux5gvzFTMIV6bxcB659innOtUiQr8_9BzsNHIOqpIpfRvsyqmeqSafnJOrWXQz-mh6TOGcXWHGDKYnUw5AWa6v2dr0rLWZEIjikRjo7GbzGBedCL-zyamne1eVxSWZhvzyP3A4I9YQQ-MgQ8G-OSL-177LKeTrOmYvdbBc03GBAZOT7BEcg7C4m64S7r3TDsdx-Qyc8CcnDrZNMEzbdFEvw_-s3E9iTfZWFArSH7-5sDyQI1YMW5x42\" \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\" data-nodeid=\"16489\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nactor Kh\u00e1ch h\u00e0ng\r\nparticipant \"Giao di\u1ec7n Thanh to\u00e1n\" as UI\r\nparticipant \"D\u1ecbch v\u1ee5 Thanh to\u00e1n\" as Pay\r\nparticipant \"Ki\u1ec3m tra L\u1eeba \u0111\u1ea3o\" as Fraud\r\n\r\nCustomer -&gt; UI: Thanh to\u00e1n cho \u0111\u01a1n h\u00e0ng\r\nUI -&gt; Pay: X\u00e1c th\u1ef1c thanh to\u00e1n\r\nPay -&gt; Fraud: \u0110\u00e1nh gi\u00e1 giao d\u1ecbch\r\n\r\nnote b\u00ean ph\u1ea3i c\u1ee7a Fraud\r\n  C\u00e1c quy t\u1eafc r\u1ee7i ro \u0111\u01b0\u1ee3c duy tr\u00ec\r\n  b\u00ean ngo\u00e0i t\u01b0\u01a1ng t\u00e1c n\u00e0y.\r\nend note\r\n\r\nFraud --&gt; Pay: K\u1ebft qu\u1ea3 r\u1ee7i ro\r\nPay --&gt; UI: K\u1ebft qu\u1ea3 x\u00e1c th\u1ef1c\r\nUI --&gt; Customer: Hi\u1ec3n th\u1ecb k\u1ebft qu\u1ea3\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:PLBBIWCn5DqFv1yEtTSFc8KKAcgf2nSMtCQPCWdQfAOPiMiNBhhHFsWf8gXWtNOMBbBw7_cJtiI-g9l9a7FkULpI65XkRDcxOmdFh3Pe2pV918GRgu8bVG9b9ljSMTJE9DV8fQ-U5Qu4Lm9MkucgWG_GQHsGJtmr8fq7Nxtz8r_ouG6xJQfFFLZ3SU6hJux5gvzFTMIV6bxcB659innOtUiQr8_9BzsNHIOqpIpfRvsyqmeqSafnJOrWXQz-mh6TOGcXWHGDKYnUw5AWa6v2dr0rLWZEIjikRjo7GbzGBedCL-zyamne1eVxSWZhvzyP3A4I9YQQ-MgQ8G-OSL-177LKeTrOmYvdbBc03GBAZOT7BEcg7C4m64S7r3TDsdx-Qyc8CcnDrZNMEzbdFEvw_-s3E9iTfZWFArSH7-5sDyQI1YMW5x42\" \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:NL5BQiCm4DqBT8SX-_G0NeIKG26xqf033FQa4h4bCpDgQK_VaLnbaONGvpszZtGKHTQopDxXg9dXL4JpGkpTQa0Suuf9ONSADDvpKRYUTu1YqnFX7NyMiiM5-2kEr4XsziHwOomJDB76Q7lllEksi3-Ozb2lmitYP9vgbkkv0dOum6lHa3d-4goRfNULR70JCu88YO0o9h5ECQTgaB8ISFmC2ldMVG4-ejo1oqm2o0GBngGsg87ML-94e24A642ywRruHsc2AbcbjrBx7d2J92bpZ_RVgIV7gl5Wr6f6w0ymm2NaxmTwD2FxdJy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NL5BQiCm4DqBT8SX-_G0NeIKG26xqf033FQa4h4bCpDgQK_VaLnbaONGvpszZtGKHTQopDxXg9dXL4JpGkpTQa0Suuf9ONSADDvpKRYUTu1YqnFX7NyMiiM5-2kEr4XsziHwOomJDB76Q7lllEksi3-Ozb2lmitYP9vgbkkv0dOum6lHa3d-4goRfNULR70JCu88YO0o9h5ECQTgaB8ISFmC2ldMVG4-ejo1oqm2o0GBngGsg87ML-94e24A642ywRruHsc2AbcbjrBx7d2J92bpZ_RVgIV7gl5Wr6f6w0ymm2NaxmTwD2FxdJy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"16490\">Ghi ch\u00fa n\u00ean b\u1ed5 sung ng\u1eef c\u1ea3nh thay v\u00ec l\u1eb7p l\u1ea1i nh\u00e3n th\u00f4ng b\u00e1o. N\u1ebfu bi\u1ec3u \u0111\u1ed3 tr\u1edf n\u00ean qu\u00e1 t\u1ea3i, h\u00e3y chia n\u00f3 th\u00e0nh c\u00e1c k\u1ecbch b\u1ea3n t\u1eadp trung v\u00e0 s\u1eed d\u1ee5ng c\u00e1c tham chi\u1ebfu ho\u1eb7c li\u00ean k\u1ebft t\u00e0i li\u1ec7u \u0111\u1ec3 k\u1ebft n\u1ed1i ch\u00fang.<\/p>\n<h2 data-nodeid=\"16491\">7. T\u1ea1o v\u00e0 tinh ch\u1ec9nh bi\u1ec3u \u0111\u1ed3 trong VPasCode<\/h2>\n<p data-nodeid=\"16492\"><a href=\"https:\/\/blog.visual-paradigm.com\/comprehensive-guide-to-the-benefits-of-vpascode-editor-in-visual-paradigms-ecosystem\/\">VPasCode<\/a> h\u1ed7 tr\u1ee3 ch\u1ec9nh s\u1eeda PlantUML v\u1edbi hi\u1ec3n th\u1ecb tr\u1ef1c ti\u1ebfp, c\u0169ng nh\u01b0 <a href=\"https:\/\/www.visual-paradigm.com\/guide\/mastering-vpascode-the-ultimate-guide-to-ai-powered-diagram-as-code-with-multi-engine-support\/\">t\u1ea1o bi\u1ec3u \u0111\u1ed3 h\u1ed7 tr\u1ee3 b\u1edfi AI<\/a>, ch\u1ec9nh s\u1eeda m\u00e3 v\u00e0 s\u1eeda l\u1ed7i c\u00fa ph\u00e1p. Giao di\u1ec7n ch\u00ednh x\u00e1c v\u00e0 t\u00ednh kh\u1ea3 d\u1ee5ng c\u1ee7a c\u00e1c t\u00ednh n\u0103ng c\u00f3 th\u1ec3 thay \u0111\u1ed5i, nh\u01b0ng quy tr\u00ecnh chung l\u00e0:<\/p>\n<p><img alt=\"M\u00e0n h\u00ecnh laptop hi\u1ec3n th\u1ecb giao di\u1ec7n VPasCode v\u1edbi m\u00e3 ngu\u1ed3n PlantUML v\u00e0 b\u1ea3n xem tr\u01b0\u1edbc s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 th\u1eddi gian th\u1ef1c, k\u00e8m theo h\u01b0\u1edbng d\u1eabn quy tr\u00ecnh l\u00e0m vi\u1ec7c g\u1ed3m s\u00e1u b\u01b0\u1edbc.\" class=\"alignnone size-full wp-image-21945\" decoding=\"async\" height=\"1402\" loading=\"lazy\" sizes=\"auto, (max-width: 1122px) 100vw, 1122px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde211a7899.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde211a7899.png 1122w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde211a7899-240x300.png 240w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde211a7899-819x1024.png 819w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde211a7899-768x960.png 768w\" width=\"1122\"\/><\/p>\n<ol data-nodeid=\"16493\">\n<li data-nodeid=\"16494\">\n<p data-nodeid=\"16495\">M\u1edf VPasCode v\u00e0 ch\u1ecdn ho\u1eb7c nh\u1eadp PlantUML.<\/p>\n<\/li>\n<li data-nodeid=\"16496\">\n<p data-nodeid=\"16497\">M\u00f4 t\u1ea3 t\u01b0\u01a1ng t\u00e1c, ho\u1eb7c d\u00e1n b\u1ea3n nh\u00e1p PlantUML v\u00e0o tr\u00ecnh so\u1ea1n th\u1ea3o.<\/p>\n<\/li>\n<li data-nodeid=\"16498\">\n<p data-nodeid=\"16499\">Ki\u1ec3m tra b\u1ea3n xem tr\u01b0\u1edbc \u0111\u00e3 \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb khi b\u1ea1n tinh ch\u1ec9nh m\u00e3 ngu\u1ed3n.<\/p>\n<\/li>\n<li data-nodeid=\"16500\">\n<p data-nodeid=\"16501\">Y\u00eau c\u1ea7u AI th\u1ef1c hi\u1ec7n m\u1ed9t thay \u0111\u1ed5i c\u1ee5 th\u1ec3, ch\u1eb3ng h\u1ea1n nh\u01b0 &#8220;th\u00eam m\u1ed9t \u0111\u01b0\u1eddng d\u1eabn s\u1eed d\u1ee5ng th\u00f4ng tin \u0111\u0103ng nh\u1eadp kh\u00f4ng h\u1ee3p l\u1ec7 b\u1eb1ng &#8220;<code data-backticks=\"1\" data-nodeid=\"16630\">alt<\/code>.\u201d<\/p>\n<\/li>\n<li data-nodeid=\"16502\">\n<p data-nodeid=\"16503\">Xem l\u1ea1i m\u00e3 v\u00e0 bi\u1ec3u \u0111\u1ed3 k\u1ebft qu\u1ea3 \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o c\u1ea3 v\u1ec1 c\u00fa ph\u00e1p v\u00e0 t\u00ednh \u0111\u00fang \u0111\u1eafn c\u1ee7a h\u1ec7 th\u1ed1ng.<\/p>\n<\/li>\n<li data-nodeid=\"16504\">\n<p data-nodeid=\"16505\">Xu\u1ea5t ho\u1eb7c chia s\u1ebb bi\u1ec3u \u0111\u1ed3 ho\u00e0n ch\u1ec9nh b\u1eb1ng c\u00e1c t\u00f9y ch\u1ecdn c\u00f3 s\u1eb5n trong tr\u00ecnh so\u1ea1n th\u1ea3o.<\/p>\n<\/li>\n<\/ol>\n<p data-nodeid=\"16506\">M\u1ed9t c\u00e2u l\u1ec7nh h\u1eefu \u00edch cung c\u1ea5p cho AI lo\u1ea1i bi\u1ec3u \u0111\u1ed3, c\u00e1c vai tr\u00f2, ranh gi\u1edbi h\u1ec7 th\u1ed1ng, \u0111\u01b0\u1eddng d\u1eabn th\u00e0nh c\u00f4ng ch\u00ednh, c\u00e1c \u0111\u01b0\u1eddng d\u1eabn thay th\u1ebf quan tr\u1ecdng v\u00e0 m\u1ee9c \u0111\u1ed9 chi ti\u1ebft. V\u00ed d\u1ee5:<\/p>\n<blockquote data-nodeid=\"16507\">\n<p data-nodeid=\"16508\">T\u1ea1o bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 PlantUML cho vi\u1ec7c kh\u00e1ch h\u00e0ng \u0111\u0103ng nh\u1eadp v\u00e0o \u1ee9ng d\u1ee5ng web. Bao g\u1ed3m Tr\u00ecnh duy\u1ec7t, API \u0110\u0103ng nh\u1eadp, Nh\u00e0 cung c\u1ea5p Danh t\u00ednh v\u00e0 C\u01a1 s\u1edf d\u1eef li\u1ec7u Ng\u01b0\u1eddi d\u00f9ng. Hi\u1ec3n th\u1ecb \u0111\u01b0\u1eddng d\u1eabn \u0111\u0103ng nh\u1eadp th\u00e0nh c\u00f4ng v\u00e0 m\u1ed9t ph\u01b0\u01a1ng \u00e1n thay th\u1ebf cho m\u1eadt kh\u1ea9u kh\u00f4ng h\u1ee3p l\u1ec7. S\u1eed d\u1ee5ng nh\u00e3n ng\u1eafn g\u1ecdn v\u00e0 kh\u00f4ng t\u1ef1 t\u1ea1o c\u00e1c d\u1ecbch v\u1ee5 ngo\u00e0i nh\u1eefng d\u1ecbch v\u1ee5 n\u00e0y.<\/p>\n<\/blockquote>\n<p data-nodeid=\"16509\">Xem m\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o ra nh\u01b0 m\u1ed9t b\u1ea3n nh\u00e1p. Ki\u1ec3m tra xem c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng tham gia, m\u0169i t\u00ean, \u0111i\u1ec1u ki\u1ec7n v\u00e0 \u0111\u01b0\u1eddng d\u1eabn l\u1ed7i c\u00f3 ph\u1ea3n \u00e1nh \u0111\u00fang h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf hay kh\u00f4ng\u2014ch\u1ee9 kh\u00f4ng ch\u1ec9 l\u00e0 m\u1ed9t lu\u1ed3ng c\u00f3 v\u1ebb h\u1ee3p l\u00fd.<\/p>\n<h2 data-nodeid=\"16510\">8. M\u1ed9t v\u00ed d\u1ee5 chi ti\u1ebft h\u01a1n: thanh to\u00e1n v\u1edbi l\u1ed7i thanh to\u00e1n<\/h2>\n<p data-nodeid=\"16511\">V\u00ed d\u1ee5 n\u00e0y k\u1ebft h\u1ee3p c\u00e1c bi\u1ec7t danh \u0111\u1ed1i t\u01b0\u1ee3ng tham gia, c\u00e1c k\u00edch ho\u1ea1t v\u00e0 m\u1ed9t \u0111\u01b0\u1eddng d\u1eabn thay th\u1ebf.<\/p>\n<p id=\"RMRSHSw\"><img alt=\"Giao di\u1ec7n VPasCode hi\u1ec3n th\u1ecb s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML cho quy tr\u00ecnh thanh to\u00e1n v\u00e0 \u1ee7y quy\u1ec1n thanh to\u00e1n, th\u1ec3 hi\u1ec7n c\u00e1c \u0111\u01b0\u1eddng d\u1eabn thay th\u1ebf cho c\u00e1c giao d\u1ecbch \u0111\u01b0\u1ee3c ph\u00ea duy\u1ec7t v\u00e0 b\u1ecb t\u1eeb ch\u1ed1i.\" class=\"alignnone size-full wp-image-21954\" decoding=\"async\" height=\"874\" loading=\"lazy\" sizes=\"auto, (max-width: 1916px) 100vw, 1916px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acded606038c.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acded606038c.png 1916w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acded606038c-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acded606038c-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acded606038c-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acded606038c-1536x701.png 1536w\" width=\"1916\"\/><\/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:bLDDRy8m3Br7od-mUkSFS9XOgJHnc412dAOTJ6D6j3QfKhU8_VevROFu40TERVtyxFTiTz4o1kxgIYksN14iZrJ--eu1dO4Ddcjo3EyT7tsmVyZMEwsqmf9zW6NNigyfQBNtdJCOpf1T-BjL1jZAGwlIEmw-WcmT30NOKkXjIGCyH5gj6b5XIzkWTCjIsmzaEk5vI9IOLWOPzzXIgbJa0rRaKLDI0xCtwJg7RRUlBKCv2T9gjuhGs74Eoq1I7XfonheVy34y6BDzZ2TXMerlaLhaKXNx1rAHm-ogygXjLToInS3yCaWfCNgywZWubE-AuMj20Pic-9xCjrOG4sxwt6m5IcyePXcwhmXmQ-4Jm-yeNKZkO4DD9cRTsTWrCkuHIVnfikj7Rfoje6a7CgUZFwMKwMoeairTh1agA-kUM2j646H7RQI-QEk0jdhHq-PErdDJWLWEtJUJAMUYc2jvwN8M0icFzGy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\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:bLDDRy8m3Br7od-mUkSFS9XOgJHnc412dAOTJ6D6j3QfKhU8_VevROFu40TERVtyxFTiTz4o1kxgIYksN14iZrJ--eu1dO4Ddcjo3EyT7tsmVyZMEwsqmf9zW6NNigyfQBNtdJCOpf1T-BjL1jZAGwlIEmw-WcmT30NOKkXjIGCyH5gj6b5XIzkWTCjIsmzaEk5vI9IOLWOPzzXIgbJa0rRaKLDI0xCtwJg7RRUlBKCv2T9gjuhGs74Eoq1I7XfonheVy34y6BDzZ2TXMerlaLhaKXNx1rAHm-ogygXjLToInS3yCaWfCNgywZWubE-AuMj20Pic-9xCjrOG4sxwt6m5IcyePXcwhmXmQ-4Jm-yeNKZkO4DD9cRTsTWrCkuHIVnfikj7Rfoje6a7CgUZFwMKwMoeairTh1agA-kUM2j646H7RQI-QEk0jdhHq-PErdDJWLWEtJUJAMUYc2jvwN8M0icFzGy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong 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:dLJ1Qjj05BplLmo-vmTq2C4r9A4fxS61GibXBObeGLaPwSdKvnvw287ua7CYZ0cacAR7Qkb9nl-nVzAtifEk6bDAJWjlvysRcRViGK4of_8Y5QGeZJ5Cf4v0MLDfJ9exV6og49HOyoFqxuIG8MKvtYPydo1fxlIv66MbZcG-HUzGoGoHikQhzhjwa0LEZqMOQSgp5Bs1DPVSFh5cWTNrccUsJ2tkVHx5UI76B4-5QYmreVV6cXjzpdgwb1_aL4IIv4WMCOFM5GfhRX5PynsfKr6-O1_qXV35Os-VbGKuj6QfC6qUIeIslY_zMUBqsC4smW8CRLrbMCsUYK5SkN39g8ca-Cc1s9okTT0FSB9-B7Tq3VhOyyZVDNCVv9Emsw2p5r_Yyt2NYP0fuPDtxIWVhPc721DRByRGV2prcO33ln3m-SyG4SLTQg1hQtND_0bdNY-wzbQp9wRDCExyooktpbtQowqUyiYtQ_7MjulGBOQH_a837F7cl-XM_sK77wVyJ3gnZ1o4hFdcSZ4pjIkGa-ONein7lJuJSkaJZwqhzQeyXlyG_rzvKFDpskAlDfKbqbPCh2FX-zg-uGEkyoVn6m00\" \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\" data-nodeid=\"16512\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\ntitle Thanh to\u00e1n v\u00e0 X\u00e1c th\u1ef1c Thanh to\u00e1n\n\nactor Kh\u00e1ch h\u00e0ng\nboundary \"Giao di\u1ec7n Thanh to\u00e1n\" as UI\ncontrol \"D\u1ecbch v\u1ee5 \u0110\u01a1n h\u00e0ng\" as Orders\nparticipant \"C\u1ed5ng thanh to\u00e1n\" as Pay\ndatabase \"C\u01a1 s\u1edf d\u1eef li\u1ec7u \u0110\u01a1n h\u00e0ng\" as DB\n\nKh\u00e1ch h\u00e0ng -&gt; UI: G\u1eedi y\u00eau c\u1ea7u thanh to\u00e1n\nUI -&gt; Orders: T\u1ea1o \u0111\u01a1n h\u00e0ng t\u1ea1m\nactivate Orders\n\nOrders -&gt; DB: L\u01b0u \u0111\u01a1n h\u00e0ng t\u1ea1m\nDB --&gt; Orders: M\u00e3 \u0111\u01a1n h\u00e0ng\n\nOrders -&gt; Pay: X\u00e1c th\u1ef1c thanh to\u00e1n\nactivate Pay\n\nalt [thanh to\u00e1n \u0111\u01b0\u1ee3c ch\u1ea5p nh\u1eadn]\n  Pay --&gt; Orders: M\u00e3 x\u00e1c th\u1ef1c\ndeactivate Pay\n\n  Orders -&gt; DB: \u0110\u00e1nh d\u1ea5u \u0111\u01a1n h\u00e0ng \u0111\u00e3 x\u00e1c nh\u1eadn\n  DB --&gt; Orders: \u0110\u00e3 c\u1eadp nh\u1eadt\n  Orders --&gt; UI: \u0110\u01a1n h\u00e0ng \u0111\u00e3 x\u00e1c nh\u1eadn\n  UI --&gt; Kh\u00e1ch h\u00e0ng: Hi\u1ec3n th\u1ecb x\u00e1c nh\u1eadn\nelse [thanh to\u00e1n b\u1ecb t\u1eeb ch\u1ed1i]\n  Pay --&gt; Orders: L\u00fd do t\u1eeb ch\u1ed1i\ndeactivate Pay\n\n  Orders -&gt; DB: \u0110\u00e1nh d\u1ea5u \u0111\u01a1n h\u00e0ng th\u1ea5t b\u1ea1i\n  DB --&gt; Orders: \u0110\u00e3 c\u1eadp nh\u1eadt\n  Orders --&gt; UI: Thanh to\u00e1n b\u1ecb t\u1eeb ch\u1ed1i\n  UI --&gt; Kh\u00e1ch h\u00e0ng: Hi\u1ec3n th\u1ecb t\u00f9y ch\u1ecdn th\u1eed l\u1ea1i\nend\n\ndeactivate Orders\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:dLJ1Qjj05BplLmo-vmTq2C4r9A4fxS61GibXBObeGLaPwSdKvnvw287ua7CYZ0cacAR7Qkb9nl-nVzAtifEk6bDAJWjlvysRcRViGK4of_8Y5QGeZJ5Cf4v0MLDfJ9exV6og49HOyoFqxuIG8MKvtYPydo1fxlIv66MbZcG-HUzGoGoHikQhzhjwa0LEZqMOQSgp5Bs1DPVSFh5cWTNrccUsJ2tkVHx5UI76B4-5QYmreVV6cXjzpdgwb1_aL4IIv4WMCOFM5GfhRX5PynsfKr6-O1_qXV35Os-VbGKuj6QfC6qUIeIslY_zMUBqsC4smW8CRLrbMCsUYK5SkN39g8ca-Cc1s9okTT0FSB9-B7Tq3VhOyyZVDNCVv9Emsw2p5r_Yyt2NYP0fuPDtxIWVhPc721DRByRGV2prcO33ln3m-SyG4SLTQg1hQtND_0bdNY-wzbQp9wRDCExyooktpbtQowqUyiYtQ_7MjulGBOQH_a837F7cl-XM_sK77wVyJ3gnZ1o4hFdcSZ4pjIkGa-ONein7lJuJSkaJZwqhzQeyXlyG_rzvKFDpskAlDfKbqbPCh2FX-zg-uGEkyoVn6m00\" \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:bLDDRy8m3Br7od-mUkSFS9XOgJHnc412dAOTJ6D6j3QfKhU8_VevROFu40TERVtyxFTiTz4o1kxgIYksN14iZrJ--eu1dO4Ddcjo3EyT7tsmVyZMEwsqmf9zW6NNigyfQBNtdJCOpf1T-BjL1jZAGwlIEmw-WcmT30NOKkXjIGCyH5gj6b5XIzkWTCjIsmzaEk5vI9IOLWOPzzXIgbJa0rRaKLDI0xCtwJg7RRUlBKCv2T9gjuhGs74Eoq1I7XfonheVy34y6BDzZ2TXMerlaLhaKXNx1rAHm-ogygXjLToInS3yCaWfCNgywZWubE-AuMj20Pic-9xCjrOG4sxwt6m5IcyePXcwhmXmQ-4Jm-yeNKZkO4DD9cRTsTWrCkuHIVnfikj7Rfoje6a7CgUZFwMKwMoeairTh1agA-kUM2j646H7RQI-QEk0jdhHq-PErdDJWLWEtJUJAMUYc2jvwN8M0icFzGy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLDDRy8m3Br7od-mUkSFS9XOgJHnc412dAOTJ6D6j3QfKhU8_VevROFu40TERVtyxFTiTz4o1kxgIYksN14iZrJ--eu1dO4Ddcjo3EyT7tsmVyZMEwsqmf9zW6NNigyfQBNtdJCOpf1T-BjL1jZAGwlIEmw-WcmT30NOKkXjIGCyH5gj6b5XIzkWTCjIsmzaEk5vI9IOLWOPzzXIgbJa0rRaKLDI0xCtwJg7RRUlBKCv2T9gjuhGs74Eoq1I7XfonheVy34y6BDzZ2TXMerlaLhaKXNx1rAHm-ogygXjLToInS3yCaWfCNgywZWubE-AuMj20Pic-9xCjrOG4sxwt6m5IcyePXcwhmXmQ-4Jm-yeNKZkO4DD9cRTsTWrCkuHIVnfikj7Rfoje6a7CgUZFwMKwMoeairTh1agA-kUM2j646H7RQI-QEk0jdhHq-PErdDJWLWEtJUJAMUYc2jvwN8M0icFzGy0\" 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>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"16513\">H\u00e3y ki\u1ec3m tra xem th\u1ee9 t\u1ef1 trong s\u01a1 \u0111\u1ed3 c\u00f3 kh\u1edbp v\u1edbi h\u00e0nh vi th\u1ef1c t\u1ebf hay kh\u00f4ng. V\u00ed d\u1ee5, n\u1ebfu h\u1ec7 th\u1ed1ng ch\u1ec9 l\u01b0u \u0111\u01a1n h\u00e0ng sau khi x\u00e1c th\u1ef1c th\u00e0nh c\u00f4ng, h\u00e3y di chuy\u1ec3n c\u00e1c th\u00f4ng b\u00e1o c\u01a1 s\u1edf d\u1eef li\u1ec7u \u0111\u1ec3 ph\u00f9 h\u1ee3p v\u1edbi thi\u1ebft k\u1ebf \u0111\u00f3.<\/p>\n<h2 data-nodeid=\"16514\">9. H\u01b0\u1edbng d\u1eabn m\u00f4 h\u00ecnh h\u00f3a th\u1ef1c ti\u1ec5n<\/h2>\n<p><img alt=\"Bi\u1ec3u \u0111\u1ed3 th\u00f4ng tin ph\u00e1c th\u1ea3o t\u00e1m h\u01b0\u1edbng d\u1eabn m\u00f4 h\u00ecnh h\u00f3a th\u1ef1c ti\u1ec5n \u0111\u1ec3 t\u1ea1o ra c\u00e1c s\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML r\u00f5 r\u00e0ng, t\u1eadp trung v\u00e0 d\u1ec5 b\u1ea3o tr\u00ec.\" class=\"alignnone size-full wp-image-21947\" decoding=\"async\" height=\"1122\" loading=\"lazy\" sizes=\"auto, (max-width: 1402px) 100vw, 1402px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde244c870c.jpeg\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde244c870c.jpeg 1402w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde244c870c-300x240.jpeg 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde244c870c-1024x819.jpeg 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde244c870c-768x615.jpeg 768w\" width=\"1402\"\/><\/p>\n<ul data-nodeid=\"16515\">\n<li data-nodeid=\"16516\">\n<p data-nodeid=\"16517\"><strong data-nodeid=\"16649\">Gi\u1eef cho s\u01a1 \u0111\u1ed3 t\u1eadp trung.<\/strong>Ch\u1ec9 hi\u1ec3n th\u1ecb m\u1ed9t k\u1ecbch b\u1ea3n ho\u1eb7c m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c \u0111\u01b0\u1eddng d\u1eabn li\u00ean quan ch\u1eb7t ch\u1ebd. T\u00e1ch bi\u1ec7t c\u00e1c chi ti\u1ebft s\u00e2u c\u00f3 th\u1ec3 l\u00e0m ph\u00e2n t\u00e2m kh\u1ecfi t\u01b0\u01a1ng t\u00e1c ch\u00ednh.<\/p>\n<\/li>\n<li data-nodeid=\"16518\">\n<p data-nodeid=\"16519\"><strong data-nodeid=\"16660\">\u0110\u1eb7t t\u00ean cho c\u00e1c th\u00e0nh vi\u00ean d\u1ef1a tr\u00ean tr\u00e1ch nhi\u1ec7m c\u1ee7a h\u1ecd.<\/strong> \u01afu ti\u00ean c\u00e1c nh\u00e3n nh\u01b0 &#8220;<code data-backticks=\"1\" data-nodeid=\"16654\">D\u1ecbch v\u1ee5 \u0110\u01a1n h\u00e0ng<\/code>&#8221; ho\u1eb7c &#8220;<code data-backticks=\"1\" data-nodeid=\"16656\">C\u1ed5ng thanh to\u00e1n<\/code>&#8221; thay v\u00ec c\u00e1c nh\u00e3n m\u01a1 h\u1ed3 nh\u01b0 &#8220;<code data-backticks=\"1\" data-nodeid=\"16658\">H\u1ec7 th\u1ed1ng<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"16520\">\n<p data-nodeid=\"16521\"><strong data-nodeid=\"16665\">&#8220;Th\u1ec3 hi\u1ec7n c\u00e1c ranh gi\u1edbi c\u00f3 \u00fd ngh\u0129a.<\/strong>Ph\u00e2n bi\u1ec7t ng\u01b0\u1eddi d\u00f9ng, kh\u00e1ch h\u00e0ng, d\u1ecbch v\u1ee5 n\u1ed9i b\u1ed9, c\u01a1 s\u1edf d\u1eef li\u1ec7u v\u00e0 c\u00e1c h\u1ec7 th\u1ed1ng b\u00ean ngo\u00e0i khi \u0111i\u1ec1u \u0111\u00f3 gi\u00fap ng\u01b0\u1eddi \u0111\u1ecdc hi\u1ec3u r\u00f5 tr\u00e1ch nhi\u1ec7m.<\/p>\n<\/li>\n<li data-nodeid=\"16522\">\n<p data-nodeid=\"16523\"><strong data-nodeid=\"16670\">S\u1eed d\u1ee5ng c\u00e1c nh\u00e3n th\u00f4ng b\u00e1o r\u00f5 r\u00e0ng.<\/strong> Bao g\u1ed3m m\u1ed9t ho\u1ea1t \u0111\u1ed9ng, s\u1ef1 ki\u1ec7n ho\u1eb7c k\u1ebft qu\u1ea3 quan tr\u1ecdng; tr\u00e1nh c\u00e1c nh\u00e3n ch\u1ec9 \u0111\u01a1n thu\u1ea7n ghi &#8220;qu\u00e1 tr\u00ecnh.&#8221;<\/p>\n<\/li>\n<li data-nodeid=\"16524\">\n<p data-nodeid=\"16525\"><strong data-nodeid=\"16675\">M\u00f4 h\u00ecnh h\u00f3a c\u00e1c \u0111\u01b0\u1eddng d\u1eabn l\u1ed7i c\u00f3 \u00fd ngh\u0129a.<\/strong>Bao g\u1ed3m c\u00e1c th\u1eddi gian ch\u1edd, t\u1eeb ch\u1ed1i, th\u1eed l\u1ea1i ho\u1eb7c l\u1ed7i x\u00e1c th\u1ef1c li\u00ean quan khi ch\u00fang \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn k\u1ecbch b\u1ea3n.<\/p>\n<\/li>\n<li data-nodeid=\"16526\">\n<p data-nodeid=\"16527\"><strong data-nodeid=\"16688\">S\u1eed d\u1ee5ng c\u00e1c \u0111o\u1ea1n m\u00e3 (fragments) m\u1ed9t c\u00e1ch ch\u00ednh x\u00e1c.<\/strong> <code data-backticks=\"1\" data-nodeid=\"16680\">alt<\/code> c\u00f3 ngh\u0129a l\u00e0 c\u00e1c \u0111\u01b0\u1eddng d\u1eabn thay th\u1ebf, <code data-backticks=\"1\" data-nodeid=\"16682\">opt<\/code> c\u00f3 ngh\u0129a l\u00e0 h\u00e0nh vi t\u00f9y ch\u1ecdn, <code data-backticks=\"1\" data-nodeid=\"16684\">loop<\/code> c\u00f3 ngh\u0129a l\u00e0 s\u1ef1 l\u1eb7p l\u1ea1i, v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16686\">par<\/code> c\u00f3 ngh\u0129a l\u00e0 h\u00e0nh vi song song.<\/p>\n<\/li>\n<li data-nodeid=\"16528\">\n<p data-nodeid=\"16529\"><strong data-nodeid=\"16693\">Tr\u00e1nh nhi\u1ec5u t\u1eeb c\u00e1c chi ti\u1ebft tri\u1ec3n khai.<\/strong>\u0110\u1eebng v\u1ebd s\u01a1 \u0111\u1ed3 cho m\u1ecdi ph\u01b0\u01a1ng th\u1ee9c getter, ph\u01b0\u01a1ng th\u1ee9c n\u1ed9i b\u1ed9 ho\u1eb7c chi ti\u1ebft c\u1ea5p th\u1ea5p tr\u1eeb khi kh\u00e1n gi\u1ea3 c\u1ea7n n\u00f3.<\/p>\n<\/li>\n<li data-nodeid=\"16530\">\n<p data-nodeid=\"16531\"><strong data-nodeid=\"16698\">Gi\u1eef cho ngu\u1ed3n m\u00e3 d\u1ec5 b\u1ea3o tr\u00ec.<\/strong>S\u1eed d\u1ee5ng bi\u1ec7t danh cho c\u00e1c t\u00ean d\u00e0i, \u0111\u1eb7t t\u00ean nh\u1ea5t qu\u00e1n, v\u00e0 ch\u00fa th\u00edch ho\u1eb7c ghi ch\u00fa ng\u1eafn g\u1ecdn cho c\u00e1c gi\u1ea3 \u0111\u1ecbnh quan tr\u1ecdng.<\/p>\n<\/li>\n<\/ul>\n<h2 data-nodeid=\"16532\">10. C\u00e1c l\u1ed7i ph\u1ed5 bi\u1ebfn v\u00e0 danh s\u00e1ch ki\u1ec3m tra r\u00e0 so\u00e1t<\/h2>\n<p data-nodeid=\"16533\">N\u1ebfu s\u01a1 \u0111\u1ed3 kh\u00f4ng hi\u1ec3n th\u1ecb \u0111\u01b0\u1ee3c, h\u00e3y ki\u1ec3m tra xem <code data-backticks=\"1\" data-nodeid=\"16701\">@startuml<\/code> v\u00e0 <code data-backticks=\"1\" data-nodeid=\"16703\">@enduml<\/code> \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb, c\u00e1c kh\u1ed1i ph\u00e2n \u0111o\u1ea1n c\u00f3 c\u00e1c c\u1eb7p kh\u1edbp nhau <code data-backticks=\"1\" data-nodeid=\"16705\">end<\/code> c\u00e2u l\u1ec7nh, c\u00e1c bi\u1ec7t danh \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nh\u1ea5t qu\u00e1n, v\u00e0 t\u1ea5t c\u1ea3 c\u00e1c \u0111i\u1ec3m cu\u1ed1i th\u00f4ng b\u00e1o \u0111\u1ec1u tham chi\u1ebfu \u0111\u1ebfn c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a. Ngo\u00e0i ra, h\u00e3y ki\u1ec3m tra xem c\u00f3 c\u00fa ph\u00e1p t\u1eeb m\u1ed9t ng\u00f4n ng\u1eef s\u01a1 \u0111\u1ed3 kh\u00e1c b\u1ecb d\u00e1n nh\u1ea7m v\u00e0o m\u00e3 ngu\u1ed3n PlantUML hay kh\u00f4ng.<\/p>\n<p><img alt=\"Danh s\u00e1ch ki\u1ec3m tra bi\u1ec3u \u0111\u1ed3 th\u00f4ng tin cho c\u00e1c l\u1ed7i PlantUML, bao g\u1ed3m x\u00e1c th\u1ef1c c\u00fa ph\u00e1p, \u00fd ngh\u0129a ng\u1eef ngh\u0129a v\u00e0 quy tr\u00ecnh l\u00e0m vi\u1ec7c s\u01a1 \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3.\" class=\"alignnone size-full wp-image-21951\" decoding=\"async\" height=\"941\" loading=\"lazy\" sizes=\"auto, (max-width: 1672px) 100vw, 1672px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde29a500ee.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde29a500ee.png 1672w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde29a500ee-300x169.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde29a500ee-1024x576.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde29a500ee-768x432.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde29a500ee-1536x864.png 1536w\" width=\"1672\"\/><\/p>\n<p data-nodeid=\"16534\">Tr\u01b0\u1edbc khi chia s\u1ebb, h\u00e3y xem x\u00e9t hai \u0111i\u1ec1u sau:<\/p>\n<ul data-nodeid=\"16535\">\n<li data-nodeid=\"16536\">\n<p data-nodeid=\"16537\"><strong data-nodeid=\"16712\">C\u00fa ph\u00e1p:<\/strong> N\u00f3 c\u00f3 \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb \u0111\u00fang kh\u00f4ng? C\u00e1c kh\u1ed1i ph\u00e2n \u0111o\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u00f3ng l\u1ea1i ch\u01b0a? C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng v\u00e0 bi\u1ec7t danh c\u00f3 nh\u1ea5t qu\u00e1n kh\u00f4ng?<\/p>\n<\/li>\n<li data-nodeid=\"16538\">\n<p data-nodeid=\"16539\"><strong data-nodeid=\"16719\">\u00dd ngh\u0129a:<\/strong> C\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng v\u00e0 h\u01b0\u1edbng th\u00f4ng b\u00e1o c\u00f3 ch\u00ednh x\u00e1c kh\u00f4ng? C\u00e1c \u0111\u01b0\u1eddng d\u1eabn l\u1ed7i quan tr\u1ecdng \u0111\u00e3 \u0111\u01b0\u1ee3c bao g\u1ed3m ch\u01b0a? C\u00e1c h\u1ec7 th\u1ed1ng b\u00ean ngo\u00e0i v\u00e0 kho d\u1eef li\u1ec7u c\u00f3 \u0111\u01b0\u1ee3c bi\u1ec3u di\u1ec5n ch\u00ednh x\u00e1c kh\u00f4ng?<\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-nodeid=\"16540\">Quy tr\u00ecnh l\u00e0m vi\u1ec7c m\u1ea1nh m\u1ebd nh\u1ea5t <a href=\"https:\/\/www.visual-paradigm.com\/features\/diagram-as-code-tool\/\"> s\u01a1 \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3 <\/a> k\u1ebft h\u1ee3p m\u00e3 ngu\u1ed3n d\u1ec5 \u0111\u1ecdc, ph\u1ea3n h\u1ed3i tr\u1ef1c quan nhanh ch\u00f3ng v\u00e0 \u0111\u00e1nh gi\u00e1 theo l\u0129nh v\u1ef1c. PlantUML cung c\u1ea5p quy\u1ec1n ki\u1ec3m so\u00e1t r\u00f5 r\u00e0ng \u0111\u1ed1i v\u1edbi k\u00fd hi\u1ec7u t\u01b0\u01a1ng t\u00e1c, trong khi <a href=\"https:\/\/www.learn-vp.com\/gallery\/vpascode-visual-paradigm-as-code-diagrams\/\">VPasCode<\/a> c\u00f3 th\u1ec3 t\u0103ng t\u1ed1c \u0111\u1ed9 so\u1ea1n th\u1ea3o v\u00e0 l\u1eb7p l\u1ea1i; th\u1ea9m quy\u1ec1n cu\u1ed1i c\u00f9ng v\u1ec1 \u0111\u1ed9 ch\u00ednh x\u00e1c c\u1ee7a s\u01a1 \u0111\u1ed3 v\u1eabn l\u00e0 h\u00e0nh vi h\u1ec7 th\u1ed1ng m\u00e0 n\u00f3 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 m\u00f4 t\u1ea3.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>M\u1ed9t UML bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 cho th\u1ea5y c\u00e1ch c\u00e1c th\u00e0nh ph\u1ea7n t\u01b0\u01a1ng t\u00e1c theo th\u1eddi gian. N\u00f3 h\u1eefu \u00edch<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[3,120],"tags":[],"asset-category":[],"class_list":["post-12281","post","type-post","status-publish","format-standard","hentry","category-unified-modeling-language","category-vpascode-editor"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian<\/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.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian\" \/>\n<meta property=\"og:description\" content=\"M\u1ed9t UML bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 cho th\u1ea5y c\u00e1ch c\u00e1c th\u00e0nh ph\u1ea7n t\u01b0\u01a1ng t\u00e1c theo th\u1eddi gian. N\u00f3 h\u1eefu \u00edch\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"Cybermedian\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-13T07:47:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-14T05:08:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode\",\"datePublished\":\"2026-10-13T07:47:48+00:00\",\"dateModified\":\"2026-10-14T05:08:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/\"},\"wordCount\":2800,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png\",\"articleSection\":[\"Unified Modeling Language\",\"VPasCode Editor\"],\"inLanguage\":\"vi\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/\",\"name\":\"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png\",\"datePublished\":\"2026-10-13T07:47:48+00:00\",\"dateModified\":\"2026-10-14T05:08:38+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/\",\"name\":\"Cybermedian\",\"description\":\"H\u1ecdc m\u1ed9t \u0111i\u1ec1u m\u1edbi m\u1ed7i ng\u00e0y\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/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.cybermedian.com\/vn\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian","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.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/","og_locale":"vi_VN","og_type":"article","og_title":"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian","og_description":"M\u1ed9t UML bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 cho th\u1ea5y c\u00e1ch c\u00e1c th\u00e0nh ph\u1ea7n t\u01b0\u01a1ng t\u00e1c theo th\u1eddi gian. N\u00f3 h\u1eefu \u00edch","og_url":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/","og_site_name":"Cybermedian","article_published_time":"2026-10-13T07:47:48+00:00","article_modified_time":"2026-10-14T05:08:38+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png","type":"","width":"","height":""}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"curtis","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"7 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode","datePublished":"2026-10-13T07:47:48+00:00","dateModified":"2026-10-14T05:08:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/"},"wordCount":2800,"image":{"@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png","articleSection":["Unified Modeling Language","VPasCode Editor"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/","url":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/","name":"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode - Cybermedian","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png","datePublished":"2026-10-13T07:47:48+00:00","dateModified":"2026-10-14T05:08:38+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#primaryimage","url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png","contentUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acde00b2963d.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/vn\/diagram-as-code-uml-sequence-diagrams-with-plantuml-and-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/vn\/"},{"@type":"ListItem","position":2,"name":"Bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3: Bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 UML v\u1edbi PlantUML v\u00e0 VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/vn\/#website","url":"https:\/\/www.cybermedian.com\/vn\/","name":"Cybermedian","description":"H\u1ecdc m\u1ed9t \u0111i\u1ec1u m\u1edbi m\u1ed7i ng\u00e0y","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.cybermedian.com\/vn\/#\/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.cybermedian.com\/vn\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts\/12281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/comments?post=12281"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts\/12281\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/media?parent=12281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/categories?post=12281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/tags?post=12281"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/asset-category?post=12281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}