{"id":2812,"date":"2026-08-06T12:59:49","date_gmt":"2026-08-06T04:59:49","guid":{"rendered":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/"},"modified":"2026-08-06T12:59:49","modified_gmt":"2026-08-06T04:59:49","slug":"vpascode-d2-diagram-support-announcement","status":"publish","type":"releases","link":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/","title":{"rendered":"C\u00f4ng b\u1ed1 H\u1ed7 tr\u1ee3 Bi\u1ec3u \u0111\u1ed3 D2 trong VPasCode: Tr\u00ecnh ch\u1ec9nh s\u1eeda D2 mi\u1ec5n ph\u00ed tuy\u1ec7t v\u1eddi nh\u1ea5t v\u00e0 C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng"},"content":{"rendered":"<p>Ch\u00fang t\u00f4i r\u1ea5t h\u00e0o h\u1ee9ng c\u00f4ng b\u1ed1 m\u1ed9t b\u1ea3n c\u1eadp nh\u1eadt l\u1edbn cho <strong>VPasCode<\/strong>: h\u1ed7 tr\u1ee3 \u0111\u1ea7y \u0111\u1ee7 cho <strong>D2<\/strong>ng\u00f4n ng\u1eef bi\u1ec3u \u0111\u1ed3 m\u00e3 h\u00f3a! V\u1edbi b\u1ea3n c\u1eadp nh\u1eadt n\u00e0y, c\u00e1c ki\u1ebfn tr\u00fac s\u01b0, nh\u00e0 ph\u00e1t tri\u1ec3n v\u00e0 bi\u00ean t\u1eadp vi\u00ean k\u1ef9 thu\u1eadt c\u00f3 th\u1ec3 ngay l\u1eadp t\u1ee9c chuy\u1ec3n \u0111\u1ed5i c\u00e1c \u0111o\u1ea1n m\u00e3 D2 m\u00f4 t\u1ea3 th\u00e0nh c\u00e1c s\u01a1 \u0111\u1ed3 tr\u1ef1c quan s\u1ea1ch s\u1ebd, chuy\u00ean nghi\u1ec7p m\u00e0 kh\u00f4ng g\u1eb7p b\u1ea5t k\u1ef3 tr\u1edf ng\u1ea1i n\u00e0o.<\/p>\n<p>D\u00f9 b\u1ea1n \u0111ang l\u1eadp b\u1ea3n \u0111\u1ed3 ki\u1ebfn tr\u00fac \u0111\u00e1m m\u00e2y ph\u1ee9c t\u1ea1p, c\u1ea5u tr\u00fac microservices hay quy tr\u00ecnh l\u00e0m vi\u1ec7c t\u1ed5 ch\u1ee9c, VPasCode \u0111\u1ec1u ho\u1ea1t \u0111\u1ed9ng nh\u01b0 tr\u00ecnh ch\u1ec9nh s\u1eeda D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn \u0111\u1ea7y t\u00ednh n\u0103ng m\u00e0 b\u1ea1n lu\u00f4n mu\u1ed1n s\u1eed d\u1ee5ng.<strong>tr\u00ecnh ch\u1ec9nh s\u1eeda D2 mi\u1ec5n ph\u00ed<\/strong> v\u00e0 <strong>c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn<\/strong>. Tr\u1ea3i nghi\u1ec7m tr\u1ef1c quan li\u1ec1n m\u1ea1ch, th\u1eddi gian th\u1ef1c ngay b\u00ean trong tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n.<\/p>\n<p><img fetchpriority=\"high\" alt=\"A screenshot of Visual Paradigm VPasCode editing a D2 code in its D2 editor\" class=\"alignnone wp-image-3564 size-full\" decoding=\"async\" fetchpriority=\"high\" height=\"745\" sizes=\"(max-width: 1192px) 100vw, 1192px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a73f61a158f4.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a73f61a158f4.png 1192w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a73f61a158f4-300x188.png 300w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a73f61a158f4-1024x640.png 1024w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a73f61a158f4-768x480.png 768w\" width=\"1192\"\/><\/p>\n<p>\u0110\u1ec3 t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 kh\u1ea3 n\u0103ng v\u00e0 b\u1ea3n c\u1eadp nh\u1eadt c\u1ee7a n\u1ec1n t\u1ea3ng ch\u00fang t\u00f4i, h\u00e3y truy c\u1eadp trang ch\u00ednh th\u1ee9c <a href=\"https:\/\/www.vpascode.com\/overview\/\" rel=\"noopener\" target=\"_blank\">Trang VPasCode<\/a>.<\/p>\n<h2>C\u00e1ch t\u00edch h\u1ee3p D2 ho\u1ea1t \u0111\u1ed9ng trong VPasCode<\/h2>\n<p>S\u1eed d\u1ee5ng D2 trong VPasCode nhanh ch\u00f3ng, tr\u1ef1c quan v\u00e0 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 t\u1ed1i \u0111a h\u00f3a n\u0103ng su\u1ea5t c\u1ee7a b\u1ea1n. Kh\u00f4ng gian l\u00e0m vi\u1ec7c c\u00f3 b\u1ed1 c\u1ee5c thu\u1eadn ti\u1ec7n theo ki\u1ec3u song song:<\/p>\n<ul>\n<li><strong>Pane b\u00ean tr\u00e1i (Tr\u00ecnh so\u1ea1n th\u1ea3o m\u00e3):<\/strong>Ch\u1ec9 c\u1ea7n d\u00e1n, g\u00f5 ho\u1eb7c ch\u1ec9nh s\u1eeda \u0111o\u1ea1n m\u00e3 D2 c\u1ee7a b\u1ea1n. Ph\u00e1t hi\u1ec7n \u0111\u1ecbnh d\u1ea1ng t\u1ef1 \u0111\u1ed9ng c\u1ee7a VPasCode ngay l\u1eadp t\u1ee9c nh\u1eadn di\u1ec7n m\u00e3 c\u1ee7a b\u1ea1n m\u00e0 kh\u00f4ng c\u1ea7n chuy\u1ec3n \u0111\u1ed5i ng\u00f4n ng\u1eef th\u1ee7 c\u00f4ng.<\/li>\n<li><strong>Pane b\u00ean ph\u1ea3i (B\u1ed9 hi\u1ec3n th\u1ecb tr\u1ef1c ti\u1ebfp):<\/strong>Theo d\u00f5i s\u01a1 \u0111\u1ed3 c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c hi\u1ec3n th\u1ecb \u0111\u1ed9ng theo th\u1eddi gian th\u1ef1c khi b\u1ea1n g\u00f5 ho\u1eb7c ch\u1ec9nh s\u1eeda c\u00e1c kh\u1ed1i m\u00e3.<\/li>\n<\/ul>\n<p>Video b\u00ean d\u01b0\u1edbi s\u1ebd h\u01b0\u1edbng d\u1eabn b\u1ea1n c\u00e1ch t\u1ea1o s\u01a1 \u0111\u1ed3 D2 trong tr\u00ecnh ch\u1ec9nh s\u1eeda s\u01a1 \u0111\u1ed3 m\u00e3 h\u00f3a c\u1ee7a Visual Paradigm VPasCode.<\/p>\n<p><iframe allowfullscreen=\"allowfullscreen\" frameborder=\"0\" src=\"https:\/\/www.youtube.com\/embed\/7CEBtQjyjNk?si=BXYAVRGqgwVTLWgY\" style=\"width: 100%; aspect-ratio: 16 \/ 9; height: auto;\" title=\"YouTube video player\"><span class=\"mce_SELRES_start\" data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\">\ufeff<\/span><span class=\"mce_SELRES_start\" data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\">\ufeff<\/span><\/iframe><\/p>\n<p>S\u1eb5n s\u00e0ng th\u1eed t\u1ef1 m\u00ecnh? B\u1eaft \u0111\u1ea7u ngay l\u1eadp t\u1ee9c v\u1edbi tr\u00ecnh ch\u1ec9nh s\u1eeda c\u1ee7a ch\u00fang t\u00f4i <a href=\"https:\/\/www.vpascode.com\/\" rel=\"noopener\" target=\"_blank\">Tr\u00ecnh ch\u1ec9nh s\u1eeda VPasCode<\/a>.<\/p>\n<h2>T\u00ednh n\u0103ng ch\u00ednh \u0111i k\u00e8m v\u1edbi H\u1ed7 tr\u1ee3 D2<\/h2>\n<p>Ngo\u00e0i kh\u1ea3 n\u0103ng hi\u1ec3n th\u1ecb tr\u1ef1c ti\u1ebfp, t\u00edch h\u1ee3p D2 m\u1edbi c\u1ee7a ch\u00fang t\u00f4i \u0111i k\u00e8m v\u1edbi c\u00e1c t\u00f9y ch\u1ecdn h\u1ee3p t\u00e1c v\u00e0 xu\u1ea5t b\u1ea3n \u0111a d\u1ea1ng \u0111\u1ec3 ph\u00f9 h\u1ee3p v\u1edbi quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a b\u1ea1n:<\/p>\n<ol>\n<li><strong>C\u00e1c t\u00f9y ch\u1ecdn xu\u1ea5t linh ho\u1ea1t:<\/strong>T\u1ea3i xu\u1ed1ng s\u01a1 \u0111\u1ed3 \u0111\u00e3 ho\u00e0n th\u00e0nh ngay l\u1eadp t\u1ee9c d\u01b0\u1edbi d\u1ea1ng \u0111\u1ed3 h\u1ecda vector SVG c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng ho\u1eb7c \u1ea3nh PNG \u0111\u1ed9 ph\u00e2n gi\u1ea3i cao \u0111\u1ec3 s\u1eed d\u1ee5ng trong b\u00e1o c\u00e1o, b\u00e0i thuy\u1ebft tr\u00ecnh v\u00e0 t\u00e0i li\u1ec7u.\n<p id=\"gBVyRNb\"><img alt=\"A screenshot of VPasCode, showing how to export a D2 diagram as image (PNG, SVG)\" class=\"alignnone wp-image-3567 size-full\" decoding=\"async\" height=\"470\" sizes=\"(max-width: 884px) 100vw, 884px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a74148ac959e.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a74148ac959e.png 884w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a74148ac959e-300x160.png 300w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a74148ac959e-768x408.png 768w\" width=\"884\"\/><\/p>\n<\/li>\n<li><strong>T\u00edch h\u1ee3p b\u1ea3ng t\u1ea1m:<\/strong>Sao ch\u00e9p nhanh h\u00ecnh \u1ea3nh s\u01a1 \u0111\u1ed3 \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o ra th\u1eb3ng v\u00e0o b\u1ea3ng t\u1ea1m ch\u1ec9 b\u1eb1ng m\u1ed9t c\u00fa nh\u1ea5p chu\u1ed9t \u0111\u1ec3 d\u00e1n tr\u1ef1c ti\u1ebfp v\u00e0o Slack, email ho\u1eb7c tr\u00ecnh x\u1eed l\u00fd v\u0103n b\u1ea3n.<\/li>\n<li><strong>Chia s\u1ebb URL t\u1ee9c th\u00ec:<\/strong>Chia s\u1ebb c\u00f4ng vi\u1ec7c c\u1ee7a b\u1ea1n m\u1ed9t c\u00e1ch d\u1ec5 d\u00e0ng v\u1edbi \u0111\u1ed3ng nghi\u1ec7p ho\u1eb7c kh\u00e1ch h\u00e0ng th\u00f4ng qua c\u00e1c li\u00ean k\u1ebft tr\u1ef1c ti\u1ebfp. Tuy\u1ec7t v\u1eddi nh\u1ea5t l\u00e0 ng\u01b0\u1eddi xem kh\u00f4ng c\u1ea7n \u0111\u0103ng nh\u1eadp \u0111\u1ec3 ki\u1ec3m tra s\u01a1 \u0111\u1ed3 \u0111\u01b0\u1ee3c chia s\u1ebb c\u1ee7a b\u1ea1n.<\/li>\n<\/ol>\n<h2>Minh h\u1ecda: X\u00e2y d\u1ef1ng s\u01a1 \u0111\u1ed3 m\u1ea1ng c\u01a1 b\u1ea3n trong D2<\/h2>\n<p>\u0110\u1ec3 th\u1ea5y vi\u1ec7c m\u00f4 h\u00ecnh h\u00f3a h\u1ec7 th\u1ed1ng b\u1eb1ng c\u00f4ng c\u1ee5 n\u00e0y d\u1ec5 d\u00e0ng \u0111\u1ebfn m\u1ee9c n\u00e0o<strong>tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed<\/strong>, h\u00e3y xem v\u00ed d\u1ee5 sau v\u1ec1 ki\u1ebfn tr\u00fac m\u1ea1ng \u0111a t\u1ea7ng c\u01a1 b\u1ea3n.<\/p>\n<h3>M\u00e3 ngu\u1ed3n D2<\/h3>\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\/#d2:eNptjz0PwiAURfcm\/Q+kzprIYsLgZnRw0LS7QXilJC9AgMH+e6WVaD\/Wc+7Nu09qDyJqaxjxWnWxLARqMJFsjwQtl48nR24EeEYuTXOry2JCU4w7tx\/tuqRZpmBiHqQOjJxPzcDoChtyzoaoPHxwfb\/+ojM87t2FjjtgxIEP1syGZJle5UYhjDcy7uDFVSqlCws4LMtU9KiNBF8WecXSfAuxR9i1GpGRatMCUKDVf23ipWgFHKo3KvSCiA==\" 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\/#d2:eNptjz0PwiAURfcm\/Q+kzprIYsLgZnRw0LS7QXilJC9AgMH+e6WVaD\/Wc+7Nu09qDyJqaxjxWnWxLARqMJFsjwQtl48nR24EeEYuTXOry2JCU4w7tx\/tuqRZpmBiHqQOjJxPzcDoChtyzoaoPHxwfb\/+ojM87t2FjjtgxIEP1syGZJle5UYhjDcy7uDFVSqlCws4LMtU9KiNBF8WecXSfAuxR9i1GpGRatMCUKDVf23ipWgFHKo3KvSCiA==\" \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=\"language-d2\"><code class=\"language-d2\" data-language=\"d2\" class=\"language-d2\">direction: right\r\nclient -&gt; load_balancer: HTTPS\r\nload_balancer -&gt; app1: HTTP\r\nload_balancer -&gt; app2: HTTP\r\napp1 -&gt; redis: GET\r\napp2 -&gt; redis: GET\r\napp1 -&gt; postgres: SQL\r\napp2 -&gt; postgres: SQL\r\nclient.shape: person\r\nload_balancer.shape: rectangle\r\napp1.shape: hexagon\r\napp2.shape: hexagon\r\nredis.shape: cylinder\r\npostgres.shape: cylinder\r\nredis.style.fill: \"#fee2e2\"\r\npostgres.style.fill: \"#dcfce7\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#d2:eNptjz0PwiAURfcm\/Q+kzprIYsLgZnRw0LS7QXilJC9AgMH+e6WVaD\/Wc+7Nu09qDyJqaxjxWnWxLARqMJFsjwQtl48nR24EeEYuTXOry2JCU4w7tx\/tuqRZpmBiHqQOjJxPzcDoChtyzoaoPHxwfb\/+ojM87t2FjjtgxIEP1syGZJle5UYhjDcy7uDFVSqlCws4LMtU9KiNBF8WecXSfAuxR9i1GpGRatMCUKDVf23ipWgFHKo3KvSCiA==\" \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\/#d2:eNptjz0PwiAURfcm\/Q+kzprIYsLgZnRw0LS7QXilJC9AgMH+e6WVaD\/Wc+7Nu09qDyJqaxjxWnWxLARqMJFsjwQtl48nR24EeEYuTXOry2JCU4w7tx\/tuqRZpmBiHqQOjJxPzcDoChtyzoaoPHxwfb\/+ojM87t2FjjtgxIEP1syGZJle5UYhjDcy7uDFVSqlCws4LMtU9KiNBF8WecXSfAuxR9i1GpGRatMCUKDVf23ipWgFHKo3KvSCiA==\" 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<h3>C\u00e1ch hi\u1ec3n th\u1ecb \u0111i\u1ec1u n\u00e0y trong c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a ch\u00fang t\u00f4i<\/h3>\n<p>Khi b\u1ea1n d\u00e1n \u0111o\u1ea1n m\u00e3 tr\u00ean v\u00e0o VPasCode, b\u1ed9 x\u1eed l\u00fd s\u1ebd t\u1ef1 \u0111\u1ed9ng x\u1eed l\u00fd c\u00e1c m\u1ed1i quan h\u1ec7, h\u01b0\u1edbng \u0111i v\u00e0 \u0111\u1ecbnh d\u1ea1ng h\u00ecnh d\u1ea1ng t\u00f9y ch\u1ec9nh:<\/p>\n<ul>\n<li>Ng\u01b0\u1eddi d\u00f9ng <strong>client<\/strong>\u0111\u01b0\u1ee3c \u0111\u1ecbnh d\u1ea1ng nh\u01b0 bi\u1ec3u t\u01b0\u1ee3ng ng\u01b0\u1eddi ri\u00eang bi\u1ec7t kh\u1edfi t\u1ea1o c\u00e1c y\u00eau c\u1ea7u HTTPS \u0111\u1ebfn m\u1ed9t h\u00ecnh ch\u1eef nh\u1eadt <strong>load_balancer<\/strong>.<\/li>\n<li>L\u01b0u l\u01b0\u1ee3ng \u0111\u01b0\u1ee3c chia t\u00e1ch r\u00f5 r\u00e0ng qua hai n\u00fat \u1ee9ng d\u1ee5ng h\u00ecnh l\u1ee5c gi\u00e1c (<strong>app1<\/strong> v\u00e0 <strong>app2<\/strong>).<\/li>\n<li>C\u1ea3 hai n\u00fat \u1ee9ng d\u1ee5ng \u0111\u1ec1u truy v\u1ea5n l\u1edbp l\u01b0u tr\u1eef \u0111\u1ec7m ph\u00eda sau m\u1ed9t c\u00e1ch an to\u00e0n (<strong>redis<\/strong>, \u0111\u01b0\u1ee3c \u0111\u1ecbnh d\u1ea1ng m\u00e0u \u0111\u1ecf nh\u1ea1t) v\u00e0 c\u00e1c kho d\u1eef li\u1ec7u quan h\u1ec7 (<strong>postgres<\/strong>, \u0111\u01b0\u1ee3c \u0111\u1ecbnh d\u1ea1ng m\u00e0u xanh l\u00e1 nh\u1ea1t).<\/li>\n<\/ul>\n<h2>C\u00e1c v\u00ed d\u1ee5 bi\u1ec3u \u0111\u1ed3 D2 kh\u00e1c<\/h2>\n<h3>H\u00ecnh d\u1ea1ng c\u01a1 b\u1ea3n<\/h3>\n<p id=\"SAKMCCV\"><img alt=\"\" class=\"alignnone size-full wp-image-3576\" decoding=\"async\" height=\"307\" sizes=\"(max-width: 181px) 100vw, 181px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417a67c6bc.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417a67c6bc.png 181w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417a67c6bc-177x300.png 177w\" width=\"181\"\/><\/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\/#d2:eNorTi0qSy1S0LVTSM7JTM0rsVLwCAkJ4OUqhounJFkpFJamFlXycsGUVPNyKSgUZyQWpFopFKQWFefngQVKKnNS9dIyc3KsFJSUk9NSjdLSlHi5anm5QEYg60muzMnMS0ktwtSVYphqnpIC0QVxgh6qgrS0NOPkFCUARUE39Q==\" 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\/#d2:eNorTi0qSy1S0LVTSM7JTM0rsVLwCAkJ4OUqhounJFkplBSVViqUPdy1NI+XC6aumpdLQaE4I7Eg1UqhILWoOD8PLFBSmZOql5aZk2OloKScnJZqlJamxMtVy8sFMgdZT3JlTmZeSmoRpq4Uw1TzlBSILog79FAVpKWlGSenKAEAJ4Q61w==\" \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=\"language-d2\"><code class=\"language-d2\" data-language=\"d2\" class=\"language-d2\">\r\nserver -&gt; client: HTTP\r\nserver -&gt; db: truy v\u1ea5n\r\nclient: {\r\n  shape: person\r\n  style.fill: \"#cfe2ff\"\r\n}\r\ndb: {\r\n  shape: cylinder\r\n  style.fill: \"#d1e7dd\"\r\n}\r\nserver.style.fill: \"#fff3cd\"\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#d2:eNorTi0qSy1S0LVTSM7JTM0rsVLwCAkJ4OUqhounJFkplBSVViqUPdy1NI+XC6aumpdLQaE4I7Eg1UqhILWoOD8PLFBSmZOql5aZk2OloKScnJZqlJamxMtVy8sFMgdZT3JlTmZeSmoRpq4Uw1TzlBSILog79FAVpKWlGSenKAEAJ4Q61w==\" \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\/#d2:eNorTi0qSy1S0LVTSM7JTM0rsVLwCAkJ4OUqhounJFkpFJamFlXycsGUVPNyKSgUZyQWpFopFKQWFefngQVKKnNS9dIyc3KsFJSUk9NSjdLSlHi5anm5QEYg60muzMnMS0ktwtSVYphqnpIC0QVxgh6qgrS0NOPkFCUARUE39Q==\" 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>Th\u00f9ng ch\u1ee9a<\/h2>\n<p id=\"WMOozNs\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-3575\" decoding=\"async\" height=\"669\" loading=\"lazy\" sizes=\"auto, (max-width: 370px) 100vw, 370px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417950d8ff.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417950d8ff.png 370w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417950d8ff-166x300.png 166w\" width=\"370\"\/><\/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\/#d2:eNqVkMEOgjAMhu8kvEODZ0mIBwwHb968KL7A2FpYmNsyZ5AY3l2JSxDCxUvT9M\/\/tX81+s64toBXHAF0WIUO4N4wiwU0+GS10WHme4UpSaUKSDaYU0aUjNIwFmbl0u2Qe6ZrhWt+ItpxMflFlVonb8z1SwzvldQC3RpFZJiLOYUz3uA\/DNqLXLCJ8fkDbA\/fQJdjeQ3pxtnvkeX5NFfCYmVM+7BxNLwByuNhaQ==\" 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\/#d2:eNrLSy0pzy\/KtlKo5uVSUChPTYKyFBSKMxILUq0UMlIrEtPz86BiJZU5qXppmTk5VgpKyqnmaYZpaUogqVoQkViQia67KDW5JDEvPScVm\/60tDTj5BSE\/pQkvYKizNzEokp0Y5IrczLzUlKLsJmSYphqnoJqSnJickYqKWakWaSYpyQizACGg4KuHcRDQa7BIVDfgcSQHRkc6IMqA7W4pChRIfnh7pWlvFy1APbNY1M=\" \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=\"language-d2\"><code class=\"language-d2\" data-language=\"d2\" class=\"language-d2\">network: {\r\n  web: {\r\n    shape: hexagon\r\n    style.fill: \"#e7f1ff\"\r\n  }\r\n  api: {\r\n    shape: rectangle\r\n    style.fill: \"#fff3cd\"\r\n  }\r\n  db.primary: {\r\n    shape: cylinder\r\n    style.fill: \"#d1e7dd\"\r\n  }\r\n  db.cache: {\r\n    shape: cylinder\r\n    style.fill: \"#f8d7da\"\r\n  }\r\n  web -&gt; api: REST\r\n  api -&gt; db.primary: SQL\r\n  api -&gt; db.cache: tra c\u1ee9u\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#d2:eNrLSy0pzy\/KtlKo5uVSUChPTYKyFBSKMxILUq0UMlIrEtPz86BiJZU5qXppmTk5VgpKyqnmaYZpaUogqVoQkViQia67KDW5JDEvPScVm\/60tDTj5BSE\/pQkvYKizNzEokp0Y5IrczLzUlKLsJmSYphqnoJqSnJickYqKWakWaSYpyQizACGg4KuHcRDQa7BIVDfgcSQHRkc6IMqA7W4pChRIfnh7pWlvFy1APbNY1M=\" \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\/#d2:eNqVkMEOgjAMhu8kvEODZ0mIBwwHb968KL7A2FpYmNsyZ5AY3l2JSxDCxUvT9M\/\/tX81+s64toBXHAF0WIUO4N4wiwU0+GS10WHme4UpSaUKSDaYU0aUjNIwFmbl0u2Qe6ZrhWt+ItpxMflFlVonb8z1SwzvldQC3RpFZJiLOYUz3uA\/DNqLXLCJ8fkDbA\/fQJdjeQ3pxtnvkeX5NFfCYmVM+7BxNLwByuNhaQ==\" 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<p><span style=\"font-size: 1.7em; font-weight: bold;\">\u0110\u01b0\u1ee3c \u0111\u1ecbnh d\u1ea1ng<\/span><\/p>\n<p id=\"PZEHtiy\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-3577\" decoding=\"async\" height=\"1015\" loading=\"lazy\" sizes=\"auto, (max-width: 281px) 100vw, 281px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417c197f05.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417c197f05.png 281w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a7417c197f05-83x300.png 83w\" width=\"281\"\/><\/p>\n<p>\u00a0<\/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\/#d2:eNqNkVFrwyAQx98L\/Q5H9pwwOrYwH\/a8hz20tF\/A6plKrAY1DWH0u8\/UmDq2wUBQ\/3f38+7vhVpH4HO9AuCbkhktZDPfAVyLnp0IeNtjVBQdTe9L1I3USABVO+nX9SosOiTSpWMLY8Djcg7EE+1CnUXmqW4ULrofFWZ5AEIqRaB4ECieWF3cA85b0+IU4q91\/fjyI1QOkvvQ9SaDGe0JnI02SbvGw7zRTv63ySo1xo9IBRbfOPyXWdmopOZo\/6AwwbDOKdHM3qGF8g2CqVWws7rZ+H44bPfxgUihWp6pR56+KP5CKsjrbxNO9feMIOUZU+\/73UeOn\/3k1AU7nwP+C5tRlWo=\" 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\/#d2:eNqNkVFrwyAQx98L\/Q5H9pwwOrYwH\/a8hz20tF\/A6plKrAY1DWH0u8\/UmDq2wUBQ\/3f38+7vhVpH4HO9AuCbkhktZDPfAVyLnp0IeNtjVBQdTe9L1I3USABVO+nX9SosOiTSpWMLY8Djcg7EE+1CnUXmqW4ULrofFWZ5AEIqRaB4ECieWF3cA85b0+IU4q91\/fjyI1QOkvvQ9SaDGe0JnI02SbvGw7zRTv63ySo1xo9IBRbfOPyXWdmopOZo\/6AwwbDOKdHM3qGF8g2CqVWws7rZ+H44bPfxgUihWp6pR56+KP5CKsjrbxNO9feMIOUZU+\/73UeOn\/3k1AU7nwP+C5tRlWo=\" \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=\"language-d2\"><code class=\"language-d2\" data-language=\"d2\" class=\"language-d2\">vars: {\r\n  d2-config: {\r\n    sketch: true\r\n    layout-engine: elk\r\n  }\r\n}\r\naws: {\r\n  vpc: {\r\n    web: {\r\n      shape: rectangle\r\n      style: {\r\n        fill: \"#fef3c7\"\r\n        stroke: \"#d97706\"\r\n        stroke-width: 2\r\n        font: mono\r\n      }\r\n    }\r\n    api: {\r\n      shape: rectangle\r\n      style.fill: \"#dbeafe\"\r\n    }\r\n    db: {\r\n      shape: cylinder\r\n      style.fill: \"#dcfce7\"\r\n    }\r\n  }\r\n}\r\nuser -&gt; aws.vpc.web: HTTPS {\r\n  style.animated: true\r\n}\r\naws.vpc.web -&gt; aws.vpc.api: HTTP\r\naws.vpc.api -&gt; aws.vpc.db: SQL {\r\n  style.stroke-dash: 5\r\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#d2:eNqNkVFrwyAQx98L\/Q5H9pwwOrYwH\/a8hz20tF\/A6plKrAY1DWH0u8\/UmDq2wUBQ\/3f38+7vhVpH4HO9AuCbkhktZDPfAVyLnp0IeNtjVBQdTe9L1I3USABVO+nX9SosOiTSpWMLY8Djcg7EE+1CnUXmqW4ULrofFWZ5AEIqRaB4ECieWF3cA85b0+IU4q91\/fjyI1QOkvvQ9SaDGe0JnI02SbvGw7zRTv63ySo1xo9IBRbfOPyXWdmopOZo\/6AwwbDOKdHM3qGF8g2CqVWws7rZ+H44bPfxgUihWp6pR56+KP5CKsjrbxNO9feMIOUZU+\/73UeOn\/3k1AU7nwP+C5tRlWo=\" \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\/#d2:eNqNkVFrwyAQx98L\/Q5H9pwwOrYwH\/a8hz20tF\/A6plKrAY1DWH0u8\/UmDq2wUBQ\/3f38+7vhVpH4HO9AuCbkhktZDPfAVyLnp0IeNtjVBQdTe9L1I3USABVO+nX9SosOiTSpWMLY8Djcg7EE+1CnUXmqW4ULrofFWZ5AEIqRaB4ECieWF3cA85b0+IU4q91\/fjyI1QOkvvQ9SaDGe0JnI02SbvGw7zRTv63ySo1xo9IBRbfOPyXWdmopOZo\/6AwwbDOKdHM3qGF8g2CqVWws7rZ+H44bPfxgUihWp6pR56+KP5CKsjrbxNO9feMIOUZU+\/73UeOn\/3k1AU7nwP+C5tRlWo=\" 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>Chu\u1ed7i<\/h2>\n<p id=\"LRvpxDA\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-3578\" decoding=\"async\" height=\"845\" loading=\"lazy\" sizes=\"auto, (max-width: 402px) 100vw, 402px\" src=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a741847708b9.png\" srcset=\"https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a741847708b9.png 402w, https:\/\/updates.visual-paradigm.com\/wp-content\/uploads\/2026\/08\/img_6a741847708b9-143x300.png 143w\" width=\"402\"\/><\/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\/#d2:eNorzkgsSLVSKE4tLE3NS06NT8lMTC9KzOXlKi1OLVLQtVNILMi0UnB3DVHQB4kU83IBBUDiKUlWCsGuPq7OIQpavFwpSXC1RfnlCFUgPVYKRgYGCv7eaGYG+AdjNdTTL9g1KATdSAwTDRWci1ITS1JTADJTOJ4=\" 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\/#d2:eNorzkgsSLVSKE4tLE3NS06NT8lMTC9KzOXlKi1OLVLQtVNILMi0UnB3DVHQB4kU83IBBUDiKUlWCsGuPq7OIQpavFwpSXC1GYcX5KXDlYE0WSkYGRgo+HujGRrgH4zVVE+\/YNegECLMNFQIebhrYb5CCUg6QyH58Ja8dADmm0EG\" \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=\"language-d2\"><code class=\"language-d2\" data-language=\"d2\" class=\"language-d2\">shape: sequence_diagram\r\nuser -&gt; api: GET \/users\r\napi -&gt; db: SELECT *\r\ndb -&gt; api: h\u00e0ng\r\napi -&gt; user: 200 OK\r\nuser -&gt; api: POST \/users\r\napi -&gt; db: INSERT\r\ndb -&gt; api: h\u00e0ng\r\napi -&gt; user: 201 T\u1ea1o th\u00e0nh c\u00f4ng<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/#d2:eNorzkgsSLVSKE4tLE3NS06NT8lMTC9KzOXlKi1OLVLQtVNILMi0UnB3DVHQB4kU83IBBUDiKUlWCsGuPq7OIQpavFwpSXC1GYcX5KXDlYE0WSkYGRgo+HujGRrgH4zVVE+\/YNegECLMNFQIebhrYb5CCUg6QyH58Ja8dADmm0EG\" \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\/#d2:eNorzkgsSLVSKE4tLE3NS06NT8lMTC9KzOXlKi1OLVLQtVNILMi0UnB3DVHQB4kU83IBBUDiKUlWCsGuPq7OIQpavFwpSXC1RfnlCFUgPVYKRgYGCv7eaGYG+AdjNdTTL9g1KATdSAwTDRWci1ITS1JTADJTOJ4=\" 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<p>Ghi ch\u00fa: B\u1ea1n c\u00f3 th\u1ec3 mu\u1ed1n t\u1ea1o bi\u1ec3u \u0111\u1ed3 chu\u1ed7i v\u1edbi PlantUML. Xem c\u00e1ch l\u00e0m \u0111i\u1ec1u n\u00e0y t\u1ea1i:<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"UG1XDYeanz\">\n<p><a href=\"https:\/\/www.vpascode.com\/complete-guide-to-plantuml-sequence-diagrams-syntax-examples-best-practices\/\">H\u01b0\u1edbng d\u1eabn to\u00e0n di\u1ec7n v\u1ec1 bi\u1ec3u \u0111\u1ed3 chu\u1ed7i PlantUML: Ng\u1eef ph\u00e1p, V\u00ed d\u1ee5 v\u00e0 Th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t<\/a><\/p>\n<\/blockquote>\n<p><iframe class=\"wp-embedded-content\" data-secret=\"UG1XDYeanz\" frameborder=\"0\" height=\"282\" marginheight=\"0\" marginwidth=\"0\" sandbox=\"allow-scripts\" scrolling=\"no\" security=\"restricted\" src=\"https:\/\/www.vpascode.com\/complete-guide-to-plantuml-sequence-diagrams-syntax-examples-best-practices\/embed\/#?secret=IlOQ6XvBnM#?secret=UG1XDYeanz\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cComplete Guide to PlantUML Sequence Diagrams: Syntax, Examples &amp; Best Practices\u201d \u2014 VPasCode\" width=\"500\"><\/iframe><\/p>\n<h2>VPasCode l\u00e0 g\u00ec?<\/h2>\n<p>N\u1ebfu b\u1ea1n m\u1edbi s\u1eed d\u1ee5ng n\u1ec1n t\u1ea3ng c\u1ee7a ch\u00fang t\u00f4i, <strong>Visual Paradigm VPasCode<\/strong> l\u00e0 m\u1ed9t gi\u1ea3i ph\u00e1p bi\u1ec3u \u0111\u1ed3 m\u00e3 h\u00f3a t\u00edch h\u1ee3p, d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t, \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng d\u00e0nh cho c\u00e1c nh\u00f3m k\u1ef9 thu\u1eadt hi\u1ec7n \u0111\u1ea1i. N\u00f3 lo\u1ea1i b\u1ecf s\u1ef1 phi\u1ec1n to\u00e1i c\u1ee7a c\u00e1c c\u00f4ng c\u1ee5 v\u1ebd k\u00e9o th\u1ea3 th\u1ee7 c\u00f4ng b\u1eb1ng c\u00e1ch cho ph\u00e9p b\u1ea1n \u0111\u1ecbnh ngh\u0129a ki\u1ebfn tr\u00fac v\u00e0 m\u00f4 h\u00ecnh d\u1eef li\u1ec7u ho\u00e0n to\u00e0n th\u00f4ng qua m\u00e3.<\/p>\n<p>Ngo\u00e0i D2, VPasCode h\u1ed7 tr\u1ee3 m\u1ed9t lo\u1ea1t c\u00e1c \u0111\u1ecbnh d\u1ea1ng bi\u1ec3u \u0111\u1ed3 ph\u1ed5 bi\u1ebfn v\u00e0 ng\u00f4n ng\u1eef c\u00f3 c\u1ea5u tr\u00fac, bao g\u1ed3m PlantUML, Mermaid, Graphviz, <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/vpascode-echarts-support-chart-maker\/\">ECharts<\/a>, <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/free-sql-to-erd-tool-online-editor\/\">SQL<\/a>, <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/free-online-yaml-diagram-tool-vpascode-update\/\">YAML<\/a>, <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/free-online-json-editor-visualizer-vpascode-update\/\">JSON<\/a>, v\u00e0 c\u00e1c ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh ch\u00ednh nh\u01b0 <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/vpascode-java-code-to-uml-class-diagram\/\">Java<\/a>, <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/visualize-python-code-as-uml-class-diagrams-vpascode\/\">Python<\/a>, <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/visualize-rust-code-uml-diagram-as-code\/\">Rust<\/a>, v\u00e0 <a href=\"https:\/\/updates.visual-paradigm.com\/releases\/typescript-to-uml-class-diagram-generator\/\">TypeScript<\/a>. Ch\u1ec9nh s\u1eeda m\u00e3 ngu\u1ed3n ch\u00ednh, xem tr\u01b0\u1edbc tr\u1ef1c ti\u1ebfp v\u00e0 xu\u1ea5t h\u00ecnh \u1ea3nh ho\u00e0n to\u00e0n mi\u1ec5n ph\u00ed.<\/p>\n<h2>B\u1eaft \u0111\u1ea7u s\u00e1ng t\u1ea1o ngay h\u00f4m nay<\/h2>\n<p>N\u00e2ng cao t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt v\u00e0 m\u00f4 h\u00ecnh h\u00f3a ki\u1ebfn tr\u00fac c\u1ee7a b\u1ea1n ngay h\u00f4m nay. Tr\u1ea3i nghi\u1ec7m t\u1ed1c \u0111\u1ed9 v\u00e0 ti\u1ec7n l\u1ee3i c\u1ee7a c\u00e1c t\u00ednh n\u0103ng D2 m\u1edbi b\u1eb1ng c\u00e1ch kh\u1edfi ch\u1ea1y \u1ee9ng d\u1ee5ng ngay b\u00e2y gi\u1edd t\u1ea1i <a href=\"https:\/\/www.vpascode.com\/\" rel=\"noopener\" target=\"_blank\">Tr\u00ecnh so\u1ea1n th\u1ea3o VPasCode<\/a>.<\/p>\n","protected":false},"featured_media":2813,"template":"","meta":{"_acf_changed":false,"_yoast_wpseo_title":"Tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed & C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn: VPasCode now h\u1ed7 tr\u1ee3 tr\u1ef1c quan h\u00f3a D2","_yoast_wpseo_metadesc":"Kh\u00e1m ph\u00e1 c\u00e1ch s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a VPasCode \u0111\u1ec3 vi\u1ebft, xem tr\u01b0\u1edbc, xu\u1ea5t v\u00e0 chia s\u1ebb s\u01a1 \u0111\u1ed3 D2 theo th\u1eddi gian th\u1ef1c. \u0110\u1ecdc th\u00f4ng b\u00e1o ngay b\u00e2y gi\u1edd!","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"product":[2,3],"product-area":[49],"version":[50],"release-type":[16],"class_list":["post-2812","releases","type-releases","status-publish","has-post-thumbnail","hentry","product-visual-paradigm","product-visual-paradigm-online","product-area-vpascode","version-18-1","release-type-new-feature"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed &amp; C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn: VPasCode now h\u1ed7 tr\u1ee3 tr\u1ef1c quan h\u00f3a D2<\/title>\n<meta name=\"description\" content=\"Kh\u00e1m ph\u00e1 c\u00e1ch s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a VPasCode \u0111\u1ec3 vi\u1ebft, xem tr\u01b0\u1edbc, xu\u1ea5t v\u00e0 chia s\u1ebb s\u01a1 \u0111\u1ed3 D2 theo th\u1eddi gian th\u1ef1c. \u0110\u1ecdc th\u00f4ng b\u00e1o ngay b\u00e2y gi\u1edd!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed &amp; C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn: VPasCode now h\u1ed7 tr\u1ee3 tr\u1ef1c quan h\u00f3a D2\" \/>\n<meta property=\"og:description\" content=\"Kh\u00e1m ph\u00e1 c\u00e1ch s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a VPasCode \u0111\u1ec3 vi\u1ebft, xem tr\u01b0\u1edbc, xu\u1ea5t v\u00e0 chia s\u1ebb s\u01a1 \u0111\u1ed3 D2 theo th\u1eddi gian th\u1ef1c. \u0110\u1ecdc th\u00f4ng b\u00e1o ngay b\u00e2y gi\u1edd!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Product Updates Vietnamese\" \/>\n<meta property=\"og:image\" content=\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1680\" \/>\n\t<meta property=\"og:image:height\" content=\"945\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/\",\"name\":\"Tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed & C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn: VPasCode now h\u1ed7 tr\u1ee3 tr\u1ef1c quan h\u00f3a D2\",\"isPartOf\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png\",\"datePublished\":\"2026-08-06T04:59:49+00:00\",\"description\":\"Kh\u00e1m ph\u00e1 c\u00e1ch s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a VPasCode \u0111\u1ec3 vi\u1ebft, xem tr\u01b0\u1edbc, xu\u1ea5t v\u00e0 chia s\u1ebb s\u01a1 \u0111\u1ed3 D2 theo th\u1eddi gian th\u1ef1c. \u0110\u1ecdc th\u00f4ng b\u00e1o ngay b\u00e2y gi\u1edd!\",\"breadcrumb\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#primaryimage\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png\",\"contentUrl\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png\",\"width\":1680,\"height\":945},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/updates.visual-paradigm.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C\u00f4ng b\u1ed1 H\u1ed7 tr\u1ee3 Bi\u1ec3u \u0111\u1ed3 D2 trong VPasCode: Tr\u00ecnh ch\u1ec9nh s\u1eeda D2 mi\u1ec5n ph\u00ed tuy\u1ec7t v\u1eddi nh\u1ea5t v\u00e0 C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#website\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/\",\"name\":\"Visual Paradigm Product Updates Vietnamese\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/updates.visual-paradigm.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#organization\",\"name\":\"Visual Paradigm Product Updates Vietnamese\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png\",\"contentUrl\":\"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png\",\"width\":185,\"height\":50,\"caption\":\"Visual Paradigm Product Updates Vietnamese\"},\"image\":{\"@id\":\"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed & C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn: VPasCode now h\u1ed7 tr\u1ee3 tr\u1ef1c quan h\u00f3a D2","description":"Kh\u00e1m ph\u00e1 c\u00e1ch s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a VPasCode \u0111\u1ec3 vi\u1ebft, xem tr\u01b0\u1edbc, xu\u1ea5t v\u00e0 chia s\u1ebb s\u01a1 \u0111\u1ed3 D2 theo th\u1eddi gian th\u1ef1c. \u0110\u1ecdc th\u00f4ng b\u00e1o ngay b\u00e2y gi\u1edd!","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:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/","og_locale":"vi_VN","og_type":"article","og_title":"Tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed & C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn: VPasCode now h\u1ed7 tr\u1ee3 tr\u1ef1c quan h\u00f3a D2","og_description":"Kh\u00e1m ph\u00e1 c\u00e1ch s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a VPasCode \u0111\u1ec3 vi\u1ebft, xem tr\u01b0\u1edbc, xu\u1ea5t v\u00e0 chia s\u1ebb s\u01a1 \u0111\u1ed3 D2 theo th\u1eddi gian th\u1ef1c. \u0110\u1ecdc th\u00f4ng b\u00e1o ngay b\u00e2y gi\u1edd!","og_url":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/","og_site_name":"Visual Paradigm Product Updates Vietnamese","og_image":[{"width":1680,"height":945,"url":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/","url":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/","name":"Tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed & C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn: VPasCode now h\u1ed7 tr\u1ee3 tr\u1ef1c quan h\u00f3a D2","isPartOf":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#primaryimage"},"image":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#primaryimage"},"thumbnailUrl":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png","datePublished":"2026-08-06T04:59:49+00:00","description":"Kh\u00e1m ph\u00e1 c\u00e1ch s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o D2 mi\u1ec5n ph\u00ed v\u00e0 c\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn c\u1ee7a VPasCode \u0111\u1ec3 vi\u1ebft, xem tr\u01b0\u1edbc, xu\u1ea5t v\u00e0 chia s\u1ebb s\u01a1 \u0111\u1ed3 D2 theo th\u1eddi gian th\u1ef1c. \u0110\u1ecdc th\u00f4ng b\u00e1o ngay b\u00e2y gi\u1edd!","breadcrumb":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#primaryimage","url":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png","contentUrl":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2026\/08\/vpascode-free-d2-editor-online-tutorial.png","width":1680,"height":945},{"@type":"BreadcrumbList","@id":"https:\/\/updates.visual-paradigm.com\/vn\/releases\/vpascode-d2-diagram-support-announcement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/updates.visual-paradigm.com\/vn\/"},{"@type":"ListItem","position":2,"name":"C\u00f4ng b\u1ed1 H\u1ed7 tr\u1ee3 Bi\u1ec3u \u0111\u1ed3 D2 trong VPasCode: Tr\u00ecnh ch\u1ec9nh s\u1eeda D2 mi\u1ec5n ph\u00ed tuy\u1ec7t v\u1eddi nh\u1ea5t v\u00e0 C\u00f4ng c\u1ee5 D2 tr\u1ef1c tuy\u1ebfn \u0111\u1ea7y \u0111\u1ee7 t\u00ednh n\u0103ng"}]},{"@type":"WebSite","@id":"https:\/\/updates.visual-paradigm.com\/vn\/#website","url":"https:\/\/updates.visual-paradigm.com\/vn\/","name":"Visual Paradigm Product Updates Vietnamese","description":"","publisher":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/updates.visual-paradigm.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/updates.visual-paradigm.com\/vn\/#organization","name":"Visual Paradigm Product Updates Vietnamese","url":"https:\/\/updates.visual-paradigm.com\/vn\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/","url":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png","contentUrl":"https:\/\/updates.visual-paradigm.com\/vn\/wp-content\/uploads\/sites\/10\/2025\/11\/vp-updates.png","width":185,"height":50,"caption":"Visual Paradigm Product Updates Vietnamese"},"image":{"@id":"https:\/\/updates.visual-paradigm.com\/vn\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/releases\/2812","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/releases"}],"about":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/types\/releases"}],"version-history":[{"count":0,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/releases\/2812\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media\/2813"}],"wp:attachment":[{"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/media?parent=2812"}],"wp:term":[{"taxonomy":"product","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/product?post=2812"},{"taxonomy":"product-area","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/product-area?post=2812"},{"taxonomy":"version","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/version?post=2812"},{"taxonomy":"release-type","embeddable":true,"href":"https:\/\/updates.visual-paradigm.com\/vn\/wp-json\/wp\/v2\/release-type?post=2812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}