{"id":11736,"date":"2026-09-07T13:42:43","date_gmt":"2026-09-07T05:42:43","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/"},"modified":"2026-09-07T13:52:09","modified_gmt":"2026-09-07T05:52:09","slug":"from-text-to-visuals-mastering-diagram-as-code-with-vpascode","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/","title":{"rendered":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode"},"content":{"rendered":"<h2 data-nodeid=\"800\">Gi\u1edbi thi\u1ec7u<\/h2>\n<p data-nodeid=\"801\">Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, s\u1ef1 r\u00f5 r\u00e0ng l\u00e0 y\u1ebfu t\u1ed1 then ch\u1ed1t. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 truy\u1ec1n th\u1ed1ng th\u01b0\u1eddng d\u1ef1a tr\u00ean c\u00e1c giao di\u1ec7n k\u00e9o-th\u1ea3 th\u1ee7 c\u00f4ng, c\u00f3 th\u1ec3 tr\u1edf n\u00ean c\u1ed3ng k\u1ec1nh khi l\u1eb7p l\u1ea1i c\u00e1c ki\u1ebfn tr\u00fac ph\u1ee9c t\u1ea1p ho\u1eb7c duy tr\u00ec t\u00e0i li\u1ec7u song song v\u1edbi m\u00e3 ngu\u1ed3n. H\u00e3y c\u00f9ng t\u00ecm hi\u1ec3u <strong data-nodeid=\"894\">VPasCode<\/strong>, n\u1ec1n t\u1ea3ng M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 (DaC) \u0111a \u0111\u1ed9ng c\u01a1 d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t c\u1ee7a Visual Paradigm.<\/p>\n<p data-nodeid=\"802\">VPasCode \u0111\u1ea1i di\u1ec7n cho m\u1ed9t s\u1ef1 thay \u0111\u1ed5i m\u00f4 h\u00ecnh trong c\u00e1ch ch\u00fang ta t\u1ea1o ra c\u00e1c bi\u1ec3u di\u1ec5n tr\u1ef1c quan c\u1ee7a h\u1ec7 th\u1ed1ng. B\u1eb1ng c\u00e1ch cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng x\u00e2y d\u1ef1ng, hi\u1ec3n th\u1ecb v\u00e0 tinh ch\u1ec9nh c\u00e1c bi\u1ec3u \u0111\u1ed3 b\u1eb1ng c\u00e1c k\u1ecbch b\u1ea3n \u0111\u00e1nh d\u1ea5u v\u0103n b\u1ea3n thay v\u00ec thao t\u00e1c \u0111\u1ed3 h\u1ecda, n\u00f3 c\u1ea7u n\u1ed1i kho\u1ea3ng c\u00e1ch gi\u1eefa vi\u1ec7c brainstorming kh\u00e1i ni\u1ec7m v\u00e0 \u0111\u1ed9 ch\u00ednh x\u00e1c \u1edf m\u1ee9c \u0111\u1ed9 m\u00e3 ngu\u1ed3n. H\u01b0\u1edbng d\u1eabn n\u00e0y kh\u00e1m ph\u00e1 c\u00e1ch VPasCode t\u1eadn d\u1ee5ng nhi\u1ec1u \u0111\u1ed9ng c\u01a1 hi\u1ec3n th\u1ecb, kh\u1ea3 n\u0103ng AI v\u00e0 t\u00edch h\u1ee3p h\u1ec7 sinh th\u00e1i li\u1ec1n m\u1ea1ch \u0111\u1ec3 trao quy\u1ec1n cho c\u00e1c k\u1ef9 s\u01b0, qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m v\u00e0 nh\u00e0 v\u0103n b\u1ea3n k\u1ef9 thu\u1eadt t\u1ea1o ra c\u00e1c bi\u1ec3u \u0111\u1ed3 \u0111\u1ed9ng, c\u00f3 ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n v\u00e0 d\u1ec5 b\u1ea3o tr\u00ec cao.<\/p>\n<p id=\"OeoiOXV\"><img alt=\"\" class=\"alignnone size-full wp-image-25743\" decoding=\"async\" height=\"559\" loading=\"lazy\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e50fdbef7d.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e50fdbef7d.png 1024w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e50fdbef7d-300x164.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e50fdbef7d-768x419.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e50fdbef7d-150x82.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e50fdbef7d-400x218.png 400w\" width=\"1024\"\/><\/p>\n<h2 data-nodeid=\"803\">C\u00e1c Kh\u00e1i ni\u1ec7m Ch\u00ednh<\/h2>\n<h3 data-nodeid=\"804\">1. M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 (DaC)<\/h3>\n<p data-nodeid=\"805\">M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 l\u00e0 m\u1ed9t ph\u01b0\u01a1ng ph\u00e1p trong \u0111\u00f3 c\u00e1c bi\u1ec3u \u0111\u1ed3 \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a b\u1eb1ng c\u00e1c ng\u00f4n ng\u1eef m\u00f4 t\u1ea3 v\u0103n b\u1ea3n. Thay v\u00ec \u0111\u1ecbnh v\u1ecb th\u1ee7 c\u00f4ng c\u00e1c h\u00ecnh d\u1ea1ng v\u00e0 c\u00e1c k\u1ebft n\u1ed1i, b\u1ea1n vi\u1ebft m\u00e3 m\u00f4 t\u1ea3 c\u1ea5u tr\u00fac v\u00e0 m\u1ed1i quan h\u1ec7. Ph\u01b0\u01a1ng ph\u00e1p n\u00e0y mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch:<\/p>\n<ul data-nodeid=\"806\">\n<li data-nodeid=\"807\">\n<p data-nodeid=\"808\"><strong data-nodeid=\"903\">Ki\u1ec3m so\u00e1t phi\u00ean b\u1ea3n:<\/strong>  C\u00e1c bi\u1ec3u \u0111\u1ed3 c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong Git, cho ph\u00e9p theo d\u00f5i thay \u0111\u1ed5i, ph\u00e2n nh\u00e1nh v\u00e0 h\u1ee3p nh\u1ea5t gi\u1ed1ng nh\u01b0 m\u00e3 ngu\u1ed3n.<\/p>\n<\/li>\n<li data-nodeid=\"809\">\n<p data-nodeid=\"810\"><strong data-nodeid=\"908\">Kh\u1ea3 n\u0103ng t\u00e1i t\u1ea1o:<\/strong>  B\u1ea5t k\u1ef3 ai c\u00f3 k\u1ecbch b\u1ea3n \u0111\u1ec1u c\u00f3 th\u1ec3 t\u1ea1o l\u1ea1i ch\u00ednh x\u00e1c c\u00f9ng m\u1ed9t bi\u1ec3u \u0111\u1ed3, lo\u1ea1i b\u1ecf c\u00e1c s\u1ef1 kh\u00f4ng nh\u1ea5t qu\u00e1n do \u0111i\u1ec1u ch\u1ec9nh th\u1ee7 c\u00f4ng g\u00e2y ra.<\/p>\n<\/li>\n<li data-nodeid=\"811\">\n<p data-nodeid=\"812\"><strong data-nodeid=\"913\">Hi\u1ec7u qu\u1ea3:<\/strong>  Vi\u1ec7c th\u1ef1c hi\u1ec7n c\u00e1c thay \u0111\u1ed5i c\u1ea5u tr\u00fac th\u01b0\u1eddng nhanh h\u01a1n th\u00f4ng qua ch\u1ec9nh s\u1eeda v\u0103n b\u1ea3n so v\u1edbi vi\u1ec7c k\u00e9o c\u00e1c ph\u1ea7n t\u1eed xung quanh m\u1ed9t b\u1ea3ng v\u1ebd.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"813\">2. H\u1ed7 tr\u1ee3 \u0110a \u0111\u1ed9ng c\u01a1<\/h3>\n<p data-nodeid=\"814\">VPasCode kh\u00f4ng b\u1ecb gi\u1edbi h\u1ea1n trong m\u1ed9t c\u00fa ph\u00e1p duy nh\u1ea5t. N\u00f3 bi\u00ean d\u1ecbch v\u00e0 hi\u1ec3n th\u1ecb s\u1eb5n nhi\u1ec1u ti\u00eau chu\u1ea9n ph\u1ed5 bi\u1ebfn:<\/p>\n<ul data-nodeid=\"815\">\n<li data-nodeid=\"816\">\n<p data-nodeid=\"817\"><strong data-nodeid=\"920\">PlantUML:<\/strong>  L\u00fd t\u01b0\u1edfng cho c\u00e1c quy \u0111\u1ecbnh UML nghi\u00eam ng\u1eb7t (bi\u1ec3u \u0111\u1ed3 l\u1edbp, tr\u00ecnh t\u1ef1, tri\u1ec3n khai).<\/p>\n<\/li>\n<li data-nodeid=\"818\">\n<p data-nodeid=\"819\"><strong data-nodeid=\"925\">Mermaid:<\/strong>  Tuy\u1ec7t v\u1eddi cho s\u01a1 \u0111\u1ed3 lu\u1ed3ng, bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 v\u00e0 bi\u1ec3u \u0111\u1ed3 tr\u1ea1ng th\u00e1i, \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 r\u1ed9ng r\u00e3i trong c\u00e1c tr\u00ecnh bi\u00ean t\u1eadp markdown.<\/p>\n<\/li>\n<li data-nodeid=\"820\">\n<p data-nodeid=\"821\"><strong data-nodeid=\"930\">Graphviz (DOT):<\/strong>  M\u1ea1nh m\u1ebd trong vi\u1ec7c t\u1ea1o c\u00e1c bi\u1ec3u \u0111\u1ed3 li\u00ean k\u1ebft n\u00fat ph\u1ee9c t\u1ea1p v\u00e0 c\u1ea5u tr\u00fac ph\u00e2n c\u1ea5p.<\/p>\n<\/li>\n<li data-nodeid=\"822\">\n<p data-nodeid=\"823\"><strong data-nodeid=\"935\">D2:<\/strong>  M\u1ed9t ng\u00f4n ng\u1eef v\u1ebd bi\u1ec3u \u0111\u1ed3 khai b\u00e1o hi\u1ec7n \u0111\u1ea1i t\u1eadp trung v\u00e0o s\u1ef1 \u0111\u01a1n gi\u1ea3n v\u00e0 kh\u1ea3 n\u0103ng \u0111\u1ecdc.<\/p>\n<\/li>\n<li data-nodeid=\"824\">\n<p data-nodeid=\"825\"><strong data-nodeid=\"940\">ECharts:<\/strong>  \u0110\u1ec3 hi\u1ec3n th\u1ecb c\u00e1c bi\u1ec3u \u0111\u1ed3 d\u1eef li\u1ec7u v\u00e0 tr\u1ef1c quan h\u00f3a tr\u1ef1c ti\u1ebfp t\u1eeb m\u00e3 ngu\u1ed3n.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"826\">3. Quy tr\u00ecnh \u0111\u01b0\u1ee3c T\u0103ng c\u01b0\u1eddng b\u1edfi AI<\/h3>\n<p data-nodeid=\"827\">VPasCode t\u00edch h\u1ee3p tr\u00ed tu\u1ec7 nh\u00e2n t\u1ea1o \u0111\u1ec3 gi\u1ea3m \u0111\u01b0\u1eddng cong h\u1ecdc t\u1eadp v\u00e0 t\u0103ng t\u1ed1c qu\u00e1 tr\u00ecnh t\u1ea1o bi\u1ec3u \u0111\u1ed3:<\/p>\n<ul data-nodeid=\"828\">\n<li data-nodeid=\"829\">\n<p data-nodeid=\"830\"><strong data-nodeid=\"947\">T\u1ea1o ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean:<\/strong> Chuy\u1ec3n c\u00e1c l\u1ec7nh b\u1eb1ng ti\u1ebfng Anh \u0111\u01a1n gi\u1ea3n th\u00e0nh m\u00e3 bi\u1ec3u \u0111\u1ed3 h\u1ee3p l\u1ec7.<\/p>\n<\/li>\n<li data-nodeid=\"831\">\n<p data-nodeid=\"832\"><strong data-nodeid=\"952\"> S\u1eeda l\u1ed7i:<\/strong> T\u1ef1 \u0111\u1ed9ng ch\u1ea9n \u0111o\u00e1n v\u00e0 s\u1eeda c\u00e1c l\u1ed7i c\u00fa ph\u00e1p k\u00e8m theo gi\u1ea3i th\u00edch.<\/p>\n<\/li>\n<li data-nodeid=\"833\">\n<p data-nodeid=\"834\"><strong data-nodeid=\"957\"> S\u1eeda \u0111\u1ed5i qua h\u1ed9i tho\u1ea1i:<\/strong> C\u1eadp nh\u1eadt c\u00e1c bi\u1ec3u \u0111\u1ed3 hi\u1ec7n c\u00f3 b\u1eb1ng c\u00e1c l\u1ec7nh ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean.<\/p>\n<\/li>\n<li data-nodeid=\"835\">\n<p data-nodeid=\"836\"><strong data-nodeid=\"962\"> D\u1ecbch thu\u1eadt:<\/strong> D\u1ecbch v\u0103n b\u1ea3n nh\u00fang trong bi\u1ec3u \u0111\u1ed3 cho c\u00e1c \u0111\u1ed9i ng\u0169 to\u00e0n c\u1ea7u.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"837\">4. T\u00edch h\u1ee3p h\u1ec7 sinh th\u00e1i<\/h3>\n<p data-nodeid=\"838\">VPasCode kh\u00f4ng t\u1ed3n t\u1ea1i \u0111\u1ed9c l\u1eadp. N\u00f3 k\u1ebft n\u1ed1i li\u1ec1n m\u1ea1ch v\u1edbi:<\/p>\n<ul data-nodeid=\"839\">\n<li data-nodeid=\"840\">\n<p data-nodeid=\"841\"><strong data-nodeid=\"969\">Tr\u1ee3 l\u00fd \u1ea3o AI c\u1ee7a Visual Paradigm:<\/strong> H\u00ecnh th\u00e0nh \u00fd t\u01b0\u1edfng v\u1ec1 h\u1ec7 th\u1ed1ng qua h\u1ed9i tho\u1ea1i, sau \u0111\u00f3 \u0111\u1ea9y c\u00e1c k\u1ecbch b\u1ea3n \u0111\u1ebfn VPasCode \u0111\u1ec3 tinh ch\u1ec9nh.<\/p>\n<\/li>\n<li data-nodeid=\"842\">\n<p data-nodeid=\"843\"><strong data-nodeid=\"974\">Tr\u00ecnh ch\u1ec9nh s\u1eeda tr\u1ef1c tuy\u1ebfn c\u1ee7a Visual Paradigm:<\/strong> Xu\u1ea5t c\u00e1c bi\u1ec3u \u0111\u1ed3 \u0111\u01b0\u1ee3c t\u1ea1o t\u1eeb m\u00e3 sang giao di\u1ec7n \u0111\u1ed3 h\u1ecda (GUI) truy\u1ec1n th\u1ed1ng \u0111\u1ec3 tinh ch\u1ec9nh th\u1ee7 c\u00f4ng.<\/p>\n<\/li>\n<li data-nodeid=\"844\">\n<p data-nodeid=\"845\"><strong data-nodeid=\"979\">C\u01a1 s\u1edf ki\u1ebfn th\u1ee9c OpenDocs:<\/strong> Nh\u00fang c\u00e1c bi\u1ec3u \u0111\u1ed3 \u0111\u1ed9ng tr\u1ef1c ti\u1ebfp v\u00e0o wiki d\u1ef1 \u00e1n v\u00e0 t\u00e0i li\u1ec7u.<\/p>\n<\/li>\n<\/ul>\n<h2 data-nodeid=\"846\">B\u1eaft \u0111\u1ea7u v\u1edbi VPasCode<\/h2>\n<h3 data-nodeid=\"847\">Kh\u00f4ng gian l\u00e0m vi\u1ec7c<\/h3>\n<p data-nodeid=\"848\">VPasCode cung c\u1ea5p kh\u00f4ng gian l\u00e0m vi\u1ec7c hai khung theo th\u1eddi gian th\u1ef1c:<\/p>\n<ul data-nodeid=\"849\">\n<li data-nodeid=\"850\">\n<p data-nodeid=\"851\"><strong data-nodeid=\"987\">Khung b\u00ean tr\u00e1i:<\/strong> Tr\u00ecnh so\u1ea1n th\u1ea3o m\u00e3 ch\u1ea5t l\u01b0\u1ee3ng IDE v\u1edbi t\u00f4 s\u00e1ng c\u00fa ph\u00e1p v\u00e0 t\u1ef1 \u0111\u1ed9ng ho\u00e0n th\u00e0nh.<\/p>\n<\/li>\n<li data-nodeid=\"852\">\n<p data-nodeid=\"853\"><strong data-nodeid=\"992\">Khung b\u00ean ph\u1ea3i:<\/strong> M\u1ed9t b\u1ea3ng xem tr\u01b0\u1edbc \u0111\u01b0\u1ee3c v\u1ebd b\u1eb1ng vector theo th\u1eddi gian th\u1ef1c, c\u1eadp nh\u1eadt ngay l\u1eadp t\u1ee9c khi b\u1ea1n nh\u1eadp.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"854\">Ph\u00e1t hi\u1ec7n c\u00fa ph\u00e1p t\u1ef1 \u0111\u1ed9ng<\/h3>\n<p data-nodeid=\"855\">M\u1ed9t trong nh\u1eefng t\u00ednh n\u0103ng th\u00e2n thi\u1ec7n v\u1edbi ng\u01b0\u1eddi d\u00f9ng nh\u1ea5t l\u00e0 ph\u00e1t hi\u1ec7n c\u00fa ph\u00e1p t\u1ef1 \u0111\u1ed9ng. Khi b\u1ea1n d\u00e1n m\u1ed9t \u0111o\u1ea1n m\u00e3, VPasCode s\u1ebd nh\u1eadn bi\u1ebft \u0111\u00f3 l\u00e0 PlantUML, Mermaid, DOT hay D2, sau \u0111\u00f3 \u0111\u1ecbnh d\u1ea1ng v\u00e0 hi\u1ec3n th\u1ecb ngay l\u1eadp t\u1ee9c. \u0110i\u1ec1u n\u00e0y lo\u1ea1i b\u1ecf nhu c\u1ea7u ph\u1ea3i ch\u1ecdn th\u1ee7 c\u00f4ng c\u00f4ng c\u1ee5 x\u1eed l\u00fd tr\u01b0\u1edbc khi d\u00e1n.<\/p>\n<h2 data-nodeid=\"856\">V\u00ed d\u1ee5<\/h2>\n<h3 data-nodeid=\"857\">V\u00ed d\u1ee5 1: T\u1ea1o bi\u1ec3u \u0111\u1ed3 tr\u00ecnh t\u1ef1 v\u1edbi PlantUML<\/h3>\n<p data-nodeid=\"858\"><strong data-nodeid=\"1001\">T\u00ecnh hu\u1ed1ng s\u1eed d\u1ee5ng:<\/strong> T\u00e0i li\u1ec7u h\u00f3a quy tr\u00ecnh \u0111\u0103ng nh\u1eadp c\u1ee7a ng\u01b0\u1eddi d\u00f9ng cho c\u00e1c \u0111\u1ed9i k\u1ef9 thu\u1eadt.<\/p>\n<p data-nodeid=\"859\"><strong data-nodeid=\"1005\">M\u00e3:<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"kiynYAj\"><img alt=\"\" class=\"alignnone size-full wp-image-25734\" decoding=\"async\" height=\"869\" loading=\"lazy\" sizes=\"auto, (max-width: 1915px) 100vw, 1915px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6.png 1915w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6-300x136.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6-1030x467.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6-768x349.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6-1536x697.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6-150x68.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4df183bc6-400x182.png 400w\" 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:NP2nRiCm34Ht0Ve7mdlGtKCG6xQ7B6qg5vqPYKY4kb90KGNozv6KJ5tVyUv87f8WI_xTj48haU4h4MjrAz1RVyCWq2qSWr1m7M22PVwd3bckO8Z_lAKsCHYj70gUCH5qDG-ciIdJg9LMZUps9Qc7kGGpM2P7GJnkIQjbhk9WUlXuDokyRV7YWrQ3gNWQUpXbuZlajkSqmkur_KcIEJGEjVvfUVKSlrTOum-5PtwXTOjgSfx92aWifdGzHsIdrQ5SMtxo0000\" 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:PL0zJyCm4Dqj-JyyPQ_OCw0cf1qO02b1p6uI9LR39NASIXsh3ioT4HDYH32ma0mCZVWV_YVOeHDiT-_hdcxUQg5qTrzn9b9TAzoskUAiiQ1CPID8mrkgcdHEcGVHOhdummQTBX7dQYFJV584CMUPq68bsXoUoqCKJamKSiRPXCpERPAFgzBqhmrqUVoW0beIniEujoDD16VBXPC6iO-RwpZ1MLKNaZWBOWT7eOz4TLjiJFz2eEBxtGnF4jdnamhEeX2papbHfd-sic67p0nlgAGP7hf_3XTxQdPvbo2frpdzTh2ew-tZekosPjWJIcTzj5N7W-c_22jxOTfizAx3kfHEnjdSVix-zmS0\" \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=\"860\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\nactor User\r\nparticipant \"Frontend\" as FE\r\nparticipant \"Auth Service\" as AS\r\ndatabase \"User DB\" as DB\r\n\r\nUser -&gt; FE: Nh\u1eadp th\u00f4ng tin \u0111\u0103ng nh\u1eadp\r\nFE -&gt; AS: POST \/login\r\nAS -&gt; DB: Truy v\u1ea5n ng\u01b0\u1eddi d\u00f9ng\r\nDB --&gt; AS: Tr\u1ea3 v\u1ec1 d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng\r\nAS --&gt; FE: JWT Token\r\nFE --&gt; User: Chuy\u1ec3n h\u01b0\u1edbng \u0111\u1ebfn b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:PL0zJyCm4Dqj-JyyPQ_OCw0cf1qO02b1p6uI9LR39NASIXsh3ioT4HDYH32ma0mCZVWV_YVOeHDiT-_hdcxUQg5qTrzn9b9TAzoskUAiiQ1CPID8mrkgcdHEcGVHOhdummQTBX7dQYFJV584CMUPq68bsXoUoqCKJamKSiRPXCpERPAFgzBqhmrqUVoW0beIniEujoDD16VBXPC6iO-RwpZ1MLKNaZWBOWT7eOz4TLjiJFz2eEBxtGnF4jdnamhEeX2papbHfd-sic67p0nlgAGP7hf_3XTxQdPvbo2frpdzTh2ew-tZekosPjWJIcTzj5N7W-c_22jxOTfizAx3kfHEnjdSVix-zmS0\" \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:NP2nRiCm34Ht0Ve7mdlGtKCG6xQ7B6qg5vqPYKY4kb90KGNozv6KJ5tVyUv87f8WI_xTj48haU4h4MjrAz1RVyCWq2qSWr1m7M22PVwd3bckO8Z_lAKsCHYj70gUCH5qDG-ciIdJg9LMZUps9Qc7kGGpM2P7GJnkIQjbhk9WUlXuDokyRV7YWrQ3gNWQUpXbuZlajkSqmkur_KcIEJGEjVvfUVKSlrTOum-5PtwXTOjgSfx92aWifdGzHsIdrQ5SMtxo0000\" 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=\"861\"><strong data-nodeid=\"1014\">N\u00e2ng c\u1ea5p AI:<\/strong> N\u1ebfu b\u1ea1n qu\u00ean d\u1ea5u ngo\u1eb7c \u0111\u00f3ng ho\u1eb7c \u0111\u1eb7t sai m\u0169i t\u00ean, h\u00e3y nh\u1ea5p v\u00e0o \u201cS\u1eeda b\u1eb1ng AI\u201d \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng s\u1eeda l\u1ed7i c\u00fa ph\u00e1p v\u00e0 xem gi\u1ea3i th\u00edch l\u1ed7i b\u00ean c\u1ea1nh.<\/p>\n<h3 data-nodeid=\"862\">V\u00ed d\u1ee5 2: L\u1eadp s\u01a1 \u0111\u1ed3 quy tr\u00ecnh s\u1ea3n ph\u1ea9m b\u1eb1ng Mermaid<\/h3>\n<p data-nodeid=\"863\"><strong data-nodeid=\"1020\">Tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng:<\/strong> C\u00e1c qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m theo ph\u01b0\u01a1ng ph\u00e1p Agile l\u1eadp k\u1ebf ho\u1ea1ch quy tr\u00ecnh sprint trong qu\u00e1 tr\u00ecnh tinh ch\u1ec9nh backlog.<\/p>\n<p data-nodeid=\"864\"><strong data-nodeid=\"1024\">M\u00e3:<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"RaSLtEl\"><img alt=\"\" class=\"alignnone size-full wp-image-25735\" decoding=\"async\" height=\"909\" loading=\"lazy\" sizes=\"auto, (max-width: 221px) 100vw, 221px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e1cdaa9d.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e1cdaa9d.png 221w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e1cdaa9d-73x300.png 73w\" width=\"221\"\/><\/p>\n<p data-nodeid=\"864\"><strong data-nodeid=\"1024\">\u00a0<\/strong><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNjkEOgjAQRfcm3mEuwBU0lII7QoSNaVg0OCKxThvamBjq3a2liczyvz9vZpyluUPH9zsIkwsmh4fSI5zxNhE+kVwPWXYAtrRmnshBoyTRRONn3WA\/6ltUODi8eihE6iVRv63V2sG\/mq+oiH4uOL5QaRNProRHUooOrQsXU1rGtFoaae0xfVFF\/QWth1MQGaXf\/ZbU2gP\/AjiCQyc=\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLL0osyFAIceHlUgACx+iAjMOL8hRKDq9NzlBwSkzOzslPj1XQ1bVTcKr2ebhrbYFC9sNd+xUy8h\/uWghUEVxQlJlXUgvR7ARSV3NkwuHFCskZD3f35tUoOEdDzYCqjEVW6Z1xeEteOlytI0TOGWybC8ghC0sUSooyH+5uzoPqcwHLuUZ7gwRzFUqAOtdCpVzBUm7VRyYAXVZiD3WSG9gi58ObaxTco0MgZilkZyRmxiLLQxxSo+ACAMa2XjE=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"865\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph TD\r\n    A[Ph\u00e2n t\u00edch Backlog] --&gt; B{L\u1eadp k\u1ebf ho\u1ea1ch Sprint}\r\n    B --&gt;|\u0110\u00e3 ch\u1ecdn| C[Backlog Sprint]\r\n    B --&gt;|Kh\u00f4ng ch\u1ecdn| A\r\n    C --&gt; D[Ph\u00e1t tri\u1ec3n]\r\n    D --&gt; E[Ki\u1ec3m th\u1eed]\r\n    E --&gt; F{\u0110\u1ea1t?}\r\n    F --&gt;|C\u00f3| G[Tri\u1ec3n khai]\r\n    F --&gt;|Kh\u00f4ng| D\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLL0osyFAIceHlUgACx+iAjMOL8hRKDq9NzlBwSkzOzslPj1XQ1bVTcKr2ebhrbYFC9sNd+xUy8h\/uWghUEVxQlJlXUgvR7ARSV3NkwuHFCskZD3f35tUoOEdDzYCqjEVW6Z1xeEteOlytI0TOGWybC8ghC0sUSooyH+5uzoPqcwHLuUZ7gwRzFUqAOtdCpVzBUm7VRyYAXVZiD3WSG9gi58ObaxTco0MgZilkZyRmxiLLQxxSo+ACAMa2XjE=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNjkEOgjAQRfcm3mEuwBU0lII7QoSNaVg0OCKxThvamBjq3a2liczyvz9vZpyluUPH9zsIkwsmh4fSI5zxNhE+kVwPWXYAtrRmnshBoyTRRONn3WA\/6ltUODi8eihE6iVRv63V2sG\/mq+oiH4uOL5QaRNProRHUooOrQsXU1rGtFoaae0xfVFF\/QWth1MQGaXf\/ZbU2gP\/AjiCQyc=\" 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 Mermaid trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"866\"><strong data-nodeid=\"1035\">N\u00e2ng c\u1ea5p AI:<\/strong> S\u1eed d\u1ee5ng \u0111i\u1ec1u ch\u1ec9nh b\u1eb1ng h\u1ed9i tho\u1ea1i: <em data-nodeid=\"1036\">\u201cTh\u00eam b\u01b0\u1edbc ki\u1ec3m tra m\u00e3 gi\u1eefa Ph\u00e1t tri\u1ec3n v\u00e0 Ki\u1ec3m th\u1eed.\u201d<\/em> VPasCode s\u1ebd c\u1eadp nh\u1eadt m\u00e3 Mermaid t\u01b0\u01a1ng \u1ee9ng.<\/p>\n<h3 data-nodeid=\"867\">V\u00ed d\u1ee5 3: T\u1ed5ng quan ki\u1ebfn tr\u00fac b\u1eb1ng D2<\/h3>\n<p data-nodeid=\"868\"><strong data-nodeid=\"1042\">Tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng:<\/strong> Ki\u1ebfn tr\u00fac h\u1ec7 th\u1ed1ng c\u1ea5p cao cho t\u00e0i li\u1ec7u.<\/p>\n<p data-nodeid=\"869\"><strong data-nodeid=\"1046\">M\u00e3:<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"abOqdiv\"><img alt=\"\" class=\"alignnone size-full wp-image-25736\" decoding=\"async\" height=\"871\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab.png 1918w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab-300x136.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab-1030x468.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab-768x349.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab-1536x698.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab-150x68.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4e5d95dab-400x182.png 400w\" width=\"1918\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">D2<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#d2:eNp1jsEJwzAMRe8G76AFuoAPXcXIsrAFRgmOaRpKdy8mtKiHXN\/7SC9LZxqyaIAupQ7vvNs5RWrCOgK8YKu4cgCSTo3h7R2uEgsO3vEwvvITy6JzsHF\/CHFEo+cX1HJe+A7S1SBbQ0cTzdynsHFwu4Np+Qub7pdxaZJpnTwbkE7wAas7YZU=\" 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 D2 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\">D2<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#d2:eNp1jsEJwzAMRe8G76AFuoAPXcXIsrAFRgmOaRpKdy8mtKiHXN\/7SC9LZxqyaIAupQ7vvNs5RWrCOgK8YKu4cgCSTo3h7R2uEgsO3vEwvvITy6JzsHF\/CHFEo+cX1HJe+A7S1SBbQ0cTzdynsHFwu4Np+Qub7pdxaZJpnTwbkE7wAas7YZU=\" \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 D2 in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-d2\" data-nodeid=\"870\"><code class=\"language-d2\" data-language=\"d2\" class=\"language-d2\">direction: right\r\n\r\nweb_client: { shape: circle }\r\napi_gateway: { shape: hexagon }\r\nservice_a: { shape: rectangle }\r\nservice_b: { shape: rectangle }\r\ndb: { shape: cylinder }\r\n\r\nweb_client -&gt; api_gateway\r\napi_gateway -&gt; service_a\r\napi_gateway -&gt; service_b\r\nservice_a -&gt; db\r\nservice_b -&gt; db\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#d2:eNp1jsEJwzAMRe8G76AFuoAPXcXIsrAFRgmOaRpKdy8mtKiHXN\/7SC9LZxqyaIAupQ7vvNs5RWrCOgK8YKu4cgCSTo3h7R2uEgsO3vEwvvITy6JzsHF\/CHFEo+cX1HJe+A7S1SBbQ0cTzdynsHFwu4Np+Qub7pdxaZJpnTwbkE7wAas7YZU=\" \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 D2 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\/#d2:eNp1jsEJwzAMRe8G76AFuoAPXcXIsrAFRgmOaRpKdy8mtKiHXN\/7SC9LZxqyaIAupQ7vvNs5RWrCOgK8YKu4cgCSTo3h7R2uEgsO3vEwvvITy6JzsHF\/CHFEo+cX1HJe+A7S1SBbQ0cTzdynsHFwu4Np+Qub7pdxaZJpnTwbkE7wAas7YZU=\" 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 D2 trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h2 data-nodeid=\"871\">T\u00ednh n\u0103ng n\u00e2ng cao<\/h2>\n<p id=\"fSCDWJe\"><img alt=\"\" class=\"alignnone size-full wp-image-25737\" decoding=\"async\" height=\"559\" loading=\"lazy\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4eaa35f2f.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4eaa35f2f.png 1024w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4eaa35f2f-300x164.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4eaa35f2f-768x419.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4eaa35f2f-150x82.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4eaa35f2f-400x218.png 400w\" width=\"1024\"\/><\/p>\n<h3 data-nodeid=\"872\">D\u1ecbch s\u01a1 \u0111\u1ed3 b\u1eb1ng AI<\/h3>\n<p data-nodeid=\"873\">\u0110\u1ed1i v\u1edbi c\u00e1c nh\u00f3m to\u00e0n c\u1ea7u ph\u00e2n t\u00e1n, VPasCode c\u00f3 th\u1ec3 d\u1ecbch n\u1ed9i dung v\u0103n b\u1ea3n \u0111\u01b0\u1ee3c nh\u00fang trong c\u00e1c ki\u1ebfn tr\u00fac ph\u1ee9c t\u1ea1p. \u0110i\u1ec1u n\u00e0y \u0111\u1ea3m b\u1ea3o r\u1eb1ng c\u00e1c b\u00ean li\u00ean quan \u1edf c\u00e1c khu v\u1ef1c kh\u00e1c nhau c\u00f3 th\u1ec3 hi\u1ec3u c\u00e1c s\u01a1 \u0111\u1ed3 quy tr\u00ecnh m\u00e0 kh\u00f4ng c\u1ea7n t\u1ea1o l\u1ea1i th\u1ee7 c\u00f4ng.<\/p>\n<h3 data-nodeid=\"874\">T\u00f9y ch\u1ecdn xu\u1ea5t linh ho\u1ea1t<\/h3>\n<p data-nodeid=\"875\">Khi s\u01a1 \u0111\u1ed3 c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c tinh ch\u1ec9nh, h\u00e3y xu\u1ea5t n\u00f3 ngay l\u1eadp t\u1ee9c sang c\u00e1c \u0111\u1ecbnh d\u1ea1ng \u0111\u1ed9 ph\u00e2n gi\u1ea3i cao:<\/p>\n<ul data-nodeid=\"876\">\n<li data-nodeid=\"877\">\n<p data-nodeid=\"878\"><strong data-nodeid=\"1056\">SVG:<\/strong>\u00a0D\u00e0nh cho nh\u00fang web c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng.<\/p>\n<\/li>\n<li data-nodeid=\"879\">\n<p data-nodeid=\"880\"><strong data-nodeid=\"1061\">PNG:<\/strong>\u00a0D\u00e0nh cho b\u00e0i thuy\u1ebft tr\u00ecnh v\u00e0 b\u00e1o c\u00e1o.<\/p>\n<\/li>\n<li data-nodeid=\"881\">\n<p data-nodeid=\"882\"><strong data-nodeid=\"1066\">PDF:<\/strong>\u00a0D\u00e0nh cho t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c v\u00e0 in \u1ea5n.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"883\">T\u00edch h\u1ee3p v\u1edbi OpenDocs<\/h3>\n<p data-nodeid=\"884\">C\u00e1c nh\u00e0 v\u0103n k\u1ef9 thu\u1eadt c\u00f3 th\u1ec3 nh\u00fang tr\u1ef1c ti\u1ebfp s\u01a1 \u0111\u1ed3 VPasCode v\u00e0o Visual Paradigm OpenDocs. \u0110i\u1ec1u n\u00e0y t\u1ea1o ra c\u00e1c \u201cs\u01a1 \u0111\u1ed3 s\u1ed1ng\u201d t\u1ef1 \u0111\u1ed9ng c\u1eadp nh\u1eadt khi m\u00e3 ngu\u1ed3n thay \u0111\u1ed5i, \u0111\u1ea3m b\u1ea3o t\u00e0i li\u1ec7u lu\u00f4n \u0111\u1ed3ng b\u1ed9 v\u1edbi thi\u1ebft k\u1ebf h\u1ec7 th\u1ed1ng th\u1ef1c t\u1ebf.<\/p>\n<h2 data-nodeid=\"885\">K\u1ebft lu\u1eadn<\/h2>\n<p class=\"\" data-nodeid=\"886\">VPasCode bi\u1ebfn vi\u1ec7c v\u1ebd s\u01a1 \u0111\u1ed3 t\u1eeb m\u1ed9t nhi\u1ec7m v\u1ee5 t\u0129nh, th\u1ee7 c\u00f4ng th\u00e0nh m\u1ed9t quy tr\u00ecnh \u0111\u1ed9ng, d\u1ef1a tr\u00ean m\u00e3. B\u1eb1ng c\u00e1ch h\u1ed7 tr\u1ee3 nhi\u1ec1u c\u00f4ng c\u1ee5 nh\u01b0 PlantUML, Mermaid v\u00e0 D2, \u0111\u1ed3ng th\u1eddi n\u00e2ng cao quy tr\u00ecnh l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c kh\u1ea3 n\u0103ng AI m\u1ea1nh m\u1ebd, VPasCode \u0111\u00e1p \u1ee9ng c\u1ea3 ki\u1ebfn tr\u00fac s\u01b0 ph\u1ea7n m\u1ec1m c\u1ea7n tu\u00e2n th\u1ee7 nghi\u00eam ng\u1eb7t UML l\u1eabn qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m y\u00eau c\u1ea7u tr\u1ef1c quan h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c nhanh ch\u00f3ng. Vi\u1ec7c t\u00edch h\u1ee3p li\u1ec1n m\u1ea1ch v\u1edbi h\u1ec7 sinh th\u00e1i r\u1ed9ng l\u1edbn h\u01a1n c\u1ee7a Visual Paradigm \u0111\u1ea3m b\u1ea3o r\u1eb1ng c\u00e1c s\u01a1 \u0111\u1ed3 lu\u00f4n l\u00e0 c\u00e1c t\u00e0i s\u1ea3n s\u1ed1ng trong v\u00f2ng \u0111\u1eddi t\u00e0i li\u1ec7u v\u00e0 ph\u00e1t tri\u1ec3n c\u1ee7a b\u1ea1n. D\u00f9 b\u1ea1n \u0111ang so\u1ea1n th\u1ea3o ADR, \u00e1nh x\u1ea1 h\u00e0nh tr\u00ecnh ng\u01b0\u1eddi d\u00f9ng hay t\u00e0i li\u1ec7u h\u00f3a ki\u1ebfn tr\u00fac vi d\u1ecbch v\u1ee5, VPasCode mang l\u1ea1i \u0111\u1ed9 ch\u00ednh x\u00e1c c\u1ee7a m\u00e3 ngu\u1ed3n c\u00f9ng s\u1ef1 r\u00f5 r\u00e0ng c\u1ee7a h\u00ecnh \u1ea3nh.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, s\u1ef1 r\u00f5 r\u00e0ng l\u00e0 y\u1ebfu t\u1ed1 then ch\u1ed1t. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 truy\u1ec1n th\u1ed1ng th\u01b0\u1eddng d\u1ef1a tr\u00ean c\u00e1c giao di\u1ec7n k\u00e9o-th\u1ea3 th\u1ee7 c\u00f4ng, c\u00f3 th\u1ec3 tr\u1edf n\u00ean c\u1ed3ng k\u1ec1nh khi l\u1eb7p l\u1ea1i c\u00e1c ki\u1ebfn tr\u00fac ph\u1ee9c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11737,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[70],"tags":[],"class_list":["post-11736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vpascode","loop-entry","clr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode - Visual Paradigm Blog<\/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:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode - Visual Paradigm Blog\" \/>\n<meta property=\"og:description\" content=\"Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, s\u1ef1 r\u00f5 r\u00e0ng l\u00e0 y\u1ebfu t\u1ed1 then ch\u1ed1t. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 truy\u1ec1n th\u1ed1ng th\u01b0\u1eddng d\u1ef1a tr\u00ean c\u00e1c giao di\u1ec7n k\u00e9o-th\u1ea3 th\u1ee7 c\u00f4ng, c\u00f3 th\u1ec3 tr\u1edf n\u00ean c\u1ed3ng k\u1ec1nh khi l\u1eb7p l\u1ea1i c\u00e1c ki\u1ebfn tr\u00fac ph\u1ee9c [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-07T05:42:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-07T05:52:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4d9be0513.png\" \/><meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4d9be0513.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"559\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4d9be0513.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/\",\"name\":\"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode - Visual Paradigm Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/09\/img_6a9e4d9be0513.png\",\"datePublished\":\"2026-09-07T05:42:43+00:00\",\"dateModified\":\"2026-09-07T05:52:09+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/09\/img_6a9e4d9be0513.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/09\/img_6a9e4d9be0513.png\",\"width\":1024,\"height\":559},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/\",\"name\":\"Visual Paradigm Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/blog.visual-paradigm.com\/vn\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode - Visual Paradigm Blog","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:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/","og_locale":"vi_VN","og_type":"article","og_title":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode - Visual Paradigm Blog","og_description":"Gi\u1edbi thi\u1ec7u Trong th\u1ebf gi\u1edbi ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m v\u00e0 qu\u1ea3n l\u00fd s\u1ea3n ph\u1ea9m \u0111\u1ea7y t\u1ed1c \u0111\u1ed9, s\u1ef1 r\u00f5 r\u00e0ng l\u00e0 y\u1ebfu t\u1ed1 then ch\u1ed1t. C\u00e1c c\u00f4ng c\u1ee5 v\u1ebd bi\u1ec3u \u0111\u1ed3 truy\u1ec1n th\u1ed1ng th\u01b0\u1eddng d\u1ef1a tr\u00ean c\u00e1c giao di\u1ec7n k\u00e9o-th\u1ea3 th\u1ee7 c\u00f4ng, c\u00f3 th\u1ec3 tr\u1edf n\u00ean c\u1ed3ng k\u1ec1nh khi l\u1eb7p l\u1ea1i c\u00e1c ki\u1ebfn tr\u00fac ph\u1ee9c [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/","og_site_name":"Visual Paradigm Blog","article_published_time":"2026-09-07T05:42:43+00:00","article_modified_time":"2026-09-07T05:52:09+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4d9be0513.png","type":"","width":"","height":""},{"width":1024,"height":559,"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4d9be0513.png","type":"image\/png"}],"author":"Admin","twitter_card":"summary_large_image","twitter_image":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/09\/img_6a9e4d9be0513.png","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Admin","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"5 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/","url":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/","name":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode - Visual Paradigm Blog","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/09\/img_6a9e4d9be0513.png","datePublished":"2026-09-07T05:42:43+00:00","dateModified":"2026-09-07T05:52:09+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/09\/img_6a9e4d9be0513.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/13\/2026\/09\/img_6a9e4d9be0513.png","width":1024,"height":559},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/vn\/from-text-to-visuals-mastering-diagram-as-code-with-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/vn\/"},{"@type":"ListItem","position":2,"name":"T\u1eeb V\u0103n b\u1ea3n \u0111\u1ebfn H\u00ecnh \u1ea3nh: L\u00e0m ch\u1ee7 M\u00f4 h\u00ecnh h\u00f3a b\u1eb1ng M\u00e3 v\u1edbi VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#website","url":"https:\/\/blog.visual-paradigm.com\/vn\/","name":"Visual Paradigm Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/blog.visual-paradigm.com\/vn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/blog.visual-paradigm.com\/vn\/author\/vpadminuser\/"}]}},"modified_by":"Admin","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/comments?post=11736"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/posts\/11736\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media\/11737"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media?parent=11736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/categories?post=11736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/tags?post=11736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}