{"id":12253,"date":"2026-10-14T15:24:34","date_gmt":"2026-10-14T07:24:34","guid":{"rendered":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"modified":"2026-10-14T15:24:34","modified_gmt":"2026-10-14T07:24:34","slug":"mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","title":{"rendered":"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode"},"content":{"rendered":"<h2 data-nodeid=\"19796\">Gi\u1edbi thi\u1ec7u<\/h2>\n<p data-nodeid=\"19797\">C\u00f4ng c\u1ee5 ti\u1ec1n x\u1eed l\u00fd c\u1ee7a PlantUML bi\u1ebfn m\u00e3 bi\u1ec3u \u0111\u1ed3 t\u0129nh th\u00e0nh c\u00e1c m\u1eabu \u0111\u1ed9ng v\u00e0 c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng. Khi k\u1ebft h\u1ee3p v\u1edbi <strong data-nodeid=\"19910\">Visual Paradigm VPasCode<\/strong>\u2014m\u1ed9t m\u00f4i tr\u01b0\u1eddng l\u00e0m vi\u1ec7c d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t, \u0111\u01b0\u1ee3c t\u0103ng c\u01b0\u1eddng b\u1edfi AI cho ph\u01b0\u01a1ng ph\u00e1p bi\u1ec3u \u0111\u1ed3 d\u01b0\u1edbi d\u1ea1ng m\u00e3\u2014b\u1ea1n c\u00f3 kh\u1ea3 n\u0103ng vi\u1ebft, ki\u1ec3m th\u1eed v\u00e0 l\u1eb7p l\u1ea1i c\u00e1c ki\u1ebfn tr\u00fac ph\u1ee9c t\u1ea1p m\u00e0 kh\u00f4ng c\u1ea7n c\u00e0i \u0111\u1eb7t c\u1ee5c b\u1ed9. H\u01b0\u1edbng d\u1eabn n\u00e0y bao g\u1ed3m m\u1ecdi th\u1ee9 t\u1eeb c\u00fa ph\u00e1p bi\u1ebfn c\u01a1 b\u1ea3n \u0111\u1ebfn c\u00e1c m\u1eabu m\u00f4-\u0111un n\u00e2ng cao, \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a \u0111\u1eb7c bi\u1ec7t cho quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a VPasCode.<\/p>\n<p><img alt=\"\" class=\"alignnone size-full wp-image-22010\" decoding=\"async\" height=\"1122\" loading=\"lazy\" sizes=\"auto, (max-width: 1402px) 100vw, 1402px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png 1402w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-300x240.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-1024x819.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-768x615.png 768w\" width=\"1402\"\/><\/p>\n<hr data-nodeid=\"19798\"\/>\n<h2 data-nodeid=\"19799\">1. T\u1ea1i sao s\u1eed d\u1ee5ng Bi\u1ebfn trong PlantUML?<\/h2>\n<p data-nodeid=\"19800\">Vi\u1ec7c m\u00e3 h\u00f3a c\u1ee9ng c\u00e1c gi\u00e1 tr\u1ecb d\u1eabn \u0111\u1ebfn nh\u1eefng c\u01a1n \u00e1c m\u1ed9ng v\u1ec1 b\u1ea3o tr\u00ec. Bi\u1ebfn cho ph\u00e9p b\u1ea1n:<\/p>\n<ul data-nodeid=\"19801\">\n<li data-nodeid=\"19802\">\n<p data-nodeid=\"19803\"><strong data-nodeid=\"19917\">T\u1eadp trung h\u00f3a C\u1ea5u h\u00ecnh:<\/strong>Thay \u0111\u1ed5i t\u00ean c\u01a1 s\u1edf d\u1eef li\u1ec7u ho\u1eb7c gi\u00e1 tr\u1ecb th\u1eddi gian ch\u1edd \u1edf m\u1ed9t n\u01a1i, v\u00e0 n\u00f3 s\u1ebd \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt \u1edf m\u1ecdi n\u01a1i.<\/p>\n<\/li>\n<li data-nodeid=\"19804\">\n<p data-nodeid=\"19805\"><strong data-nodeid=\"19922\">Cho ph\u00e9p T\u00ednh m\u00f4-\u0111un:<\/strong>T\u1ea1o c\u00e1c t\u1ec7p m\u1eabu d\u00f9ng chung c\u00f3 th\u1ec3 th\u00edch \u1ee9ng d\u1ef1a tr\u00ean ng\u1eef c\u1ea3nh (v\u00ed d\u1ee5: Ph\u00e1t tri\u1ec3n so v\u1edbi S\u1ea3n xu\u1ea5t).<\/p>\n<\/li>\n<li data-nodeid=\"19806\">\n<p data-nodeid=\"19807\"><strong data-nodeid=\"19927\">Gi\u1ea3m s\u1ef1 l\u1eb7p l\u1ea1i:<\/strong>S\u1eed d\u1ee5ng v\u00f2ng l\u1eb7p v\u00e0 macro \u0111\u1ec3 t\u1ea1o ra c\u00e1c c\u1ea5u tr\u00fac l\u1eb7p l\u1ea1i nh\u01b0 c\u1ee5m vi d\u1ecbch v\u1ee5 ho\u1eb7c c\u00e1c \u0111i\u1ec3m cu\u1ed1i API.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"19808\">Trong VPasCode, nh\u1eefng l\u1ee3i \u00edch n\u00e0y \u0111\u01b0\u1ee3c khu\u1ebfch \u0111\u1ea1i nh\u1edd <strong data-nodeid=\"19933\">xem tr\u01b0\u1edbc th\u1eddi gian th\u1ef1c<\/strong>c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n th\u1ea5y ngay t\u00e1c \u0111\u1ed9ng c\u1ee7a c\u00e1c thay \u0111\u1ed5i bi\u1ebfn c\u1ee7a m\u00ecnh khi \u0111ang g\u00f5.<\/p>\n<hr data-nodeid=\"19809\"\/>\n<h2 data-nodeid=\"19810\">2. C\u00fa ph\u00e1p v\u00e0 Khai b\u00e1o Bi\u1ebfn<\/h2>\n<p data-nodeid=\"19811\">PlantUML hi\u1ec7n \u0111\u1ea1i s\u1eed d\u1ee5ng ti\u1ec1n t\u1ed1 &#8221; cho bi\u1ebfn, mang l\u1ea1i kh\u1ea3 n\u0103ng ph\u1ea1m vi v\u00e0 an to\u00e0n ki\u1ec3u t\u1ed1t h\u01a1n so v\u1edbi ph\u01b0\u01a1ng ph\u00e1p c\u0169 &#8220;<code data-backticks=\"1\" data-nodeid=\"19936\">!$<\/code>PlantUML hi\u1ec7n \u0111\u1ea1i s\u1eed d\u1ee5ng ti\u1ec1n t\u1ed1 &#8221; cho bi\u1ebfn, mang l\u1ea1i kh\u1ea3 n\u0103ng ph\u1ea1m vi v\u00e0 an to\u00e0n ki\u1ec3u t\u1ed1t h\u01a1n so v\u1edbi ph\u01b0\u01a1ng ph\u00e1p c\u0169 &#8220;<code data-backticks=\"1\" data-nodeid=\"19938\">!define<\/code> truy\u1ec1n th\u1ed1ng.<\/p>\n<h3 data-nodeid=\"19812\">G\u00e1n c\u01a1 b\u1ea3n (<code data-backticks=\"1\" data-nodeid=\"19941\">=<\/code>)<\/h3>\n<p data-nodeid=\"19813\">S\u1eed d\u1ee5ng &#8220;<code data-backticks=\"1\" data-nodeid=\"19944\">=<\/code> \u0111\u1ec3 g\u00e1n ho\u1eb7c g\u00e1n l\u1ea1i m\u1ed9t gi\u00e1 tr\u1ecb.<\/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:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" 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:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" \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=\"19814\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">!$appName = \"OrderService\"\r\n!$maxRetries = 5\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" \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:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19815\">G\u00e1n \u0111i\u1ec1u ki\u1ec7n (<code data-backticks=\"1\" data-nodeid=\"19947\">?=<\/code>)<\/h3>\n<p data-nodeid=\"19816\">S\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"19950\">?=<\/code> \u0111\u1ec3 \u0111\u1eb7t gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh ch\u1ec9 khi bi\u1ebfn ch\u01b0a \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a. \u0110i\u1ec1u n\u00e0y r\u1ea5t quan tr\u1ecdng \u0111\u1ec3 t\u1ea1o c\u00e1c m\u1eabu linh ho\u1ea1t c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ghi \u0111\u00e8 b\u1eb1ng c\u00e1ch bao g\u1ed3m c\u00e1c t\u1ec7p.<\/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:LSen3a1040NGNk8EtqOfzWIYKgYTODZ1n1fY5t5xMjLhNfOtUicnwSeQKLSmNQH9T3984slHZlYDcmB87qpkGU28_W4fH0T_EiOedWl4MGAyAECpBBBlxCeN\" 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:KrHnpIlBBChFoqtDAr6mjrLG2Yv9JC_CIrTIuENIrrVmUxXhVwa2Yg8Z4myl1XB7DZpSlJWPo7YuQtk9GjB3tVCp5N8VxfvPeb3oS7TxWK9IOhv2-iFTatDr558ERyfBLyWxlA1IeVZXhhqWnTqWeb-Xi3HH3m00\" \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=\"19817\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">!$Environment ?= \"Staging\" \r\n\/\/ N\u1ebfu $Environment \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1eb7t b\u1edfi m\u1ed9t t\u1ec7p bao g\u1ed3m, d\u00f2ng n\u00e0y s\u1ebd b\u1ecb b\u1ecf qua.\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrHnpIlBBChFoqtDAr6mjrLG2Yv9JC_CIrTIuENIrrVmUxXhVwa2Yg8Z4myl1XB7DZpSlJWPo7YuQtk9GjB3tVCp5N8VxfvPeb3oS7TxWK9IOhv2-iFTatDr558ERyfBLyWxlA1IeVZXhhqWnTqWeb-Xi3HH3m00\" \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:LSen3a1040NGNk8EtqOfzWIYKgYTODZ1n1fY5t5xMjLhNfOtUicnwSeQKLSmNQH9T3984slHZlYDcmB87qpkGU28_W4fH0T_EiOedWl4MGAyAECpBBBlxCeN\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19818\">Quy t\u1eafc ph\u1ea1m vi<\/h3>\n<ul data-nodeid=\"19819\">\n<li data-nodeid=\"19820\">\n<p data-nodeid=\"19821\">C\u00e1c bi\u1ebfn \u0111\u01b0\u1ee3c khai b\u00e1o \u1edf c\u1ea5p \u0111\u1ed9 cao nh\u1ea5t l\u00e0 to\u00e0n c\u1ee5c trong k\u1ecbch b\u1ea3n.<\/p>\n<\/li>\n<li data-nodeid=\"19822\">\n<p data-nodeid=\"19823\">C\u00e1c bi\u1ebfn b\u00ean trong <code data-backticks=\"1\" data-nodeid=\"19955\">!function<\/code> ho\u1eb7c <code data-backticks=\"1\" data-nodeid=\"19957\">!procedure<\/code> kh\u1ed1i l\u00e0 c\u1ee5c b\u1ed9 trong ph\u1ea1m vi \u0111\u00f3 tr\u1eeb khi \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd r\u00f5 r\u00e0ng.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19824\"\/>\n<h2 data-nodeid=\"19825\">3. Ki\u1ec3u d\u1eef li\u1ec7u v\u00e0 x\u1eed l\u00fd<\/h2>\n<p data-nodeid=\"19826\">PlantUML h\u1ed7 tr\u1ee3 ba ki\u1ec3u d\u1eef li\u1ec7u ch\u00ednh:<\/p>\n<table data-nodeid=\"19828\">\n<thead data-nodeid=\"19829\">\n<tr data-nodeid=\"19830\">\n<th align=\"left\" data-nodeid=\"19832\">Ki\u1ec3u<\/th>\n<th align=\"left\" data-nodeid=\"19833\">M\u00f4 t\u1ea3<\/th>\n<th align=\"left\" data-nodeid=\"19834\">V\u00ed d\u1ee5<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"19838\">\n<tr data-nodeid=\"19839\">\n<td align=\"left\" data-nodeid=\"19840\"><strong data-nodeid=\"19967\">Chu\u1ed7i<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19841\">V\u0103n b\u1ea3n \u0111\u01b0\u1ee3c bao quanh b\u1edfi d\u1ea5u ngo\u1eb7c k\u00e9p.<\/td>\n<td align=\"left\" data-nodeid=\"19842\"><code data-backticks=\"1\" data-nodeid=\"19969\">!$host = \"api.example.com\"<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"19843\">\n<td align=\"left\" data-nodeid=\"19844\"><strong data-nodeid=\"19973\">S\u1ed1 nguy\u00ean<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19845\">S\u1ed1 nguy\u00ean d\u00f9ng cho to\u00e1n h\u1ecdc\/v\u00f2ng l\u1eb7p.<\/td>\n<td align=\"left\" data-nodeid=\"19846\"><code data-backticks=\"1\" data-nodeid=\"19975\">!$port = 8080<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"19847\">\n<td align=\"left\" data-nodeid=\"19848\"><strong data-nodeid=\"19979\">JSON<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19849\">D\u1eef li\u1ec7u c\u00f3 c\u1ea5u tr\u00fac cho c\u00e1c c\u1ea5u h\u00ecnh ph\u1ee9c t\u1ea1p.<\/td>\n<td align=\"left\" data-nodeid=\"19850\"><code data-backticks=\"1\" data-nodeid=\"19981\">!$config = %str2json(\"{ 'debug': true }\")<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote data-nodeid=\"19851\">\n<p data-nodeid=\"19852\"><strong data-nodeid=\"19992\">L\u01b0u \u00fd v\u1ec1 gi\u00e1 tr\u1ecb Boolean:<\/strong> PlantUML coi <code data-backticks=\"1\" data-nodeid=\"19986\">0<\/code> l\u00e0 false v\u00e0 b\u1ea5t k\u1ef3 s\u1ed1 kh\u00e1c 0 ho\u1eb7c chu\u1ed7i kh\u00e1c r\u1ed7ng l\u00e0 true. S\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"19988\">%true()<\/code> v\u00e0 <code data-backticks=\"1\" data-nodeid=\"19990\">%false()<\/code> \u0111\u1ec3 r\u00f5 r\u00e0ng h\u01a1n.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"19853\"\/>\n<h2 data-nodeid=\"19854\">4. Tri\u1ec3n khai th\u1ef1c t\u1ebf: S\u01a1 \u0111\u1ed3 tr\u00ecnh t\u1ef1 \u0111\u1ed9ng<\/h2>\n<p data-nodeid=\"19855\">Bi\u1ebfn ph\u00e1t huy t\u00e1c d\u1ee5ng khi \u0111\u1ecbnh ngh\u0129a c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng v\u00e0 tin nh\u1eafn. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t v\u00ed d\u1ee5 ho\u00e0n ch\u1ec9nh s\u1eb5n s\u00e0ng cho VPasCode.<\/p>\n<p id=\"lbVEtrQ\"><img alt=\"\" class=\"alignnone size-full wp-image-22011\" decoding=\"async\" height=\"871\" loading=\"lazy\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd.png 1919w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-1024x465.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-1536x697.png 1536w\" width=\"1919\"\/><\/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:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" 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:bPB1IiD048RlWRp3jFIWXs8KJm6bFOXMhIqsUfKq6PB5xMpSJ2Bw5Zw08FW27WH1ZnNVes_YRcfhSl1WJZipt__llqDwEOUQYvbqdLOdaWA9OG_QGpKL4ljPrhRz96Iy3U_ie3yUN1qkoseK5fnEK9SYmcfiog68jCgNlOh9j68LAMc1eo0OJxQE9wCpCt8T8rTKpAQeRRKAqDs7zPq-dAf449pZJO4vmyRQRjF88nQb0TTuvRAIMfjwFXykGobYomVg6gckht5LBibBU4M2-HfctMR87S-3qOdheCmH1bJ-HxlhRSC5MK1fSO-nSQ7OfeZnZu2_JxHEFrlppOxoJ56EJMLjDQHCGuiaPH-6yrS1hBzU5X-FbC3dWpqzH-QmU7zZu7J-H2cqEWTK2grePgvmdPv9PdwMRm00\" \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=\"19856\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!$client = \"MobileApp\"\r\n!$gateway = \"API_Gateway\"\r\n!$authService = \"AuthMicroservice\"\r\n!$protocol = \"HTTPS\/JSON\"\r\n\r\nautonumber\r\n\r\n$client -&gt; $gateway : Login Request ($protocol)\r\nactivate $gateway\r\n\r\n$gateway -&gt; $authService : Validate Token\r\nactivate $authService\r\n\r\nalt Valid Token\r\n    $authService --&gt; $gateway : 200 OK\r\nelse Invalid Token\r\n    $authService --&gt; $gateway : 401 Unauthorized\r\nend\r\n\r\ndeactivate $authService\r\n$gateway --&gt; $client : Response\r\ndeactivate $gateway\r\n\r\nnote right: M\u00f4i tr\u01b0\u1eddng \u0111\u01b0\u1ee3c \u0111\u1eb7t th\u00e0nh !$Environment\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bPB1IiD048RlWRp3jFIWXs8KJm6bFOXMhIqsUfKq6PB5xMpSJ2Bw5Zw08FW27WH1ZnNVes_YRcfhSl1WJZipt__llqDwEOUQYvbqdLOdaWA9OG_QGpKL4ljPrhRz96Iy3U_ie3yUN1qkoseK5fnEK9SYmcfiog68jCgNlOh9j68LAMc1eo0OJxQE9wCpCt8T8rTKpAQeRRKAqDs7zPq-dAf449pZJO4vmyRQRjF88nQb0TTuvRAIMfjwFXykGobYomVg6gckht5LBibBU4M2-HfctMR87S-3qOdheCmH1bJ-HxlhRSC5MK1fSO-nSQ7OfeZnZu2_JxHEFrlppOxoJ56EJMLjDQHCGuiaPH-6yrS1hBzU5X-FbC3dWpqzH-QmU7zZu7J-H2cqEWTK2grePgvmdPv9PdwMRm00\" \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:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" 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=\"19857\"><strong data-nodeid=\"20003\">M\u1eb9o VPasCode:<\/strong> Khi b\u1ea1n thay \u0111\u1ed5i <code data-backticks=\"1\" data-nodeid=\"19999\">$client<\/code> th\u00e0nh <code data-backticks=\"1\" data-nodeid=\"20001\">\"WebDashboard\"<\/code>, s\u01a1 \u0111\u1ed3 s\u1ebd \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt theo th\u1eddi gian th\u1ef1c, cho ph\u00e9p b\u1ea1n x\u00e1c minh c\u00e1c \u0111i\u1ec1u ch\u1ec9nh b\u1ed1 c\u1ee5c ngay l\u1eadp t\u1ee9c.<\/p>\n<hr data-nodeid=\"19858\"\/>\n<h2 data-nodeid=\"19859\">5. T\u00ednh n\u0103ng n\u00e2ng cao: H\u00e0m v\u00e0 h\u00e0m t\u00edch h\u1ee3p s\u1eb5n<\/h2>\n<h3 data-nodeid=\"19860\">H\u00e0m t\u00f9y ch\u1ec9nh (<code data-backticks=\"1\" data-nodeid=\"20006\">!function<\/code>)<\/h3>\n<p data-nodeid=\"19861\">H\u00e0m cho ph\u00e9p b\u1ea1n th\u1ef1c hi\u1ec7n c\u00e1c ph\u00e9p t\u00ednh ho\u1eb7c thao t\u00e1c tr\u00ean chu\u1ed7i v\u00e0 tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 tr\u1ef1c ti\u1ebfp v\u00e0o nh\u00e3n s\u01a1 \u0111\u1ed3.<\/p>\n<p id=\"shmyjCy\"><img alt=\"\" class=\"alignnone size-full wp-image-22012\" decoding=\"async\" height=\"875\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f.png 1918w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-1536x701.png 1536w\" width=\"1918\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAOGMvEGdfYZaPEPcbYXa5gEOQse0DDO1g1zeDm00\" 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:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOARXdFjmzErCXu-6kXNaA9GztBSvKo3cyAWz8B42nmzG0Q8K3q2oWEm00\" \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=\"19862\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!function $formatSize($mb)\r\n  !return $mb + \" MB\"\r\n!endfunction\r\n\r\nAlice -&gt; Bob : Gi\u1edbi h\u1ea1n t\u1ea3i l\u00ean l\u00e0 $formatSize(50)\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOARXdFjmzErCXu-6kXNaA9GztBSvKo3cyAWz8B42nmzG0Q8K3q2oWEm00\" \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:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAOGMvEGdfYZaPEPcbYXa5gEOQse0DDO1g1zeDm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Ch\u1ec9nh s\u1eeda PlantUML trong VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19863\">C\u00e1c h\u00e0m t\u00edch h\u1ee3p h\u1eefu \u00edch<\/h3>\n<ul data-nodeid=\"19864\">\n<li data-nodeid=\"19865\">\n<p data-nodeid=\"19866\"><code data-backticks=\"1\" data-nodeid=\"20010\">%variable_exists(\"$varName\")<\/code>: Ki\u1ec3m tra xem bi\u1ebfn \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a tr\u01b0\u1edbc khi s\u1eed d\u1ee5ng \u0111\u1ec3 ng\u0103n l\u1ed7i.<\/p>\n<\/li>\n<li data-nodeid=\"19867\">\n<p data-nodeid=\"19868\"><code data-backticks=\"1\" data-nodeid=\"20012\">%get_variable_value(\"$varName\")<\/code>: L\u1ea5y gi\u00e1 tr\u1ecb c\u1ee7a bi\u1ebfn m\u1ed9t c\u00e1ch \u0111\u1ed9ng, h\u1eefu \u00edch cho vi\u1ec7c g\u1ee1 l\u1ed7i.<\/p>\n<\/li>\n<li data-nodeid=\"19869\">\n<p data-nodeid=\"19870\"><code data-backticks=\"1\" data-nodeid=\"20014\">%strlen(\"$text\")<\/code>: L\u1ea5y \u0111\u1ed9 d\u00e0i c\u1ee7a chu\u1ed7i \u0111\u1ec3 \u0111\u1ecbnh d\u1ea1ng c\u00f3 \u0111i\u1ec1u ki\u1ec7n.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19871\"\/>\n<h2 data-nodeid=\"19872\">6. T\u1ed1i \u01b0u h\u00f3a quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee7a b\u1ea1n trong VPasCode<\/h2>\n<p data-nodeid=\"19873\">VPasCode cung c\u1ea5p c\u00e1c c\u00f4ng c\u1ee5 c\u1ee5 th\u1ec3 \u0111\u1ec3 n\u00e2ng cao tr\u1ea3i nghi\u1ec7m ph\u00e1t tri\u1ec3n d\u1ef1a tr\u00ean bi\u1ebfn:<\/p>\n<h3 data-nodeid=\"19874\">1. Xem tr\u01b0\u1edbc tr\u1ef1c ti\u1ebfp &amp; Ph\u00e1t hi\u1ec7n l\u1ed7i<\/h3>\n<ul data-nodeid=\"19875\">\n<li data-nodeid=\"19876\">\n<p data-nodeid=\"19877\"><strong data-nodeid=\"20025\">Ph\u1ea3n h\u1ed3i t\u1ee9c th\u00ec:<\/strong> Thay \u0111\u1ed5i gi\u00e1 tr\u1ecb c\u1ee7a bi\u1ebfn trong b\u1ea3ng ch\u1ec9nh s\u1eeda v\u00e0 xem s\u01a1 \u0111\u1ed3 \u0111\u01b0\u1ee3c v\u1ebd l\u1ea1i ngay l\u1eadp t\u1ee9c.<\/p>\n<\/li>\n<li data-nodeid=\"19878\">\n<p data-nodeid=\"19879\"><strong data-nodeid=\"20036\">G\u1ee1 l\u1ed7i h\u1ed7 tr\u1ee3 AI:<\/strong> N\u1ebfu b\u1ea1n b\u1ecf s\u00f3t m\u1ed9t <code data-backticks=\"1\" data-nodeid=\"20030\">$<\/code> ti\u1ec1n t\u1ed1 ho\u1eb7c g\u1eb7p l\u1ed7i ph\u1ea1m vi, h\u00e3y s\u1eed d\u1ee5ng <strong data-nodeid=\"20037\">C\u00f4ng c\u1ee5 s\u1eeda m\u00e3 AI<\/strong> n\u00fat. N\u00f3 ph\u00e2n t\u00edch logic ti\u1ec1n x\u1eed l\u00fd v\u00e0 t\u1ef1 \u0111\u1ed9ng \u0111\u1ec1 xu\u1ea5t c\u00e1c s\u1eeda ch\u1eefa.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"19880\">2. Thi\u1ebft k\u1ebf m\u00f4-\u0111un v\u1edbi Include<\/h3>\n<p data-nodeid=\"19881\">M\u1eb7c d\u00f9 VPasCode d\u1ef1a tr\u00ean tr\u00ecnh duy\u1ec7t, b\u1ea1n c\u00f3 th\u1ec3 m\u00f4 ph\u1ecfng t\u00ednh m\u00f4-\u0111un b\u1eb1ng c\u00e1ch t\u1ed5 ch\u1ee9c m\u00e3 c\u1ee7a m\u00ecnh th\u00e0nh c\u00e1c kh\u1ed1i logic. \u0110\u1ed1i v\u1edbi quy tr\u00ecnh l\u00e0m vi\u1ec7c c\u1ee5c b\u1ed9, b\u1ea1n s\u1ebd s\u1eed d\u1ee5ng <code data-backticks=\"1\" data-nodeid=\"20040\">!include<\/code>, nh\u01b0ng trong VPasCode, b\u1ea1n c\u00f3 th\u1ec3 gi\u1eef c\u00e1c bi\u1ebfn d\u00f9ng chung \u1edf \u0111\u1ea7u script c\u1ee7a m\u00ecnh \u0111\u1ec3 d\u1ec5 d\u00e0ng truy c\u1eadp.<\/p>\n<h3 data-nodeid=\"19882\">3. Xu\u1ea5t \u0111\u1ec3 t\u1ea1o t\u00e0i li\u1ec7u<\/h3>\n<p data-nodeid=\"19883\">Khi s\u01a1 \u0111\u1ed3 \u0111\u1ed9ng c\u1ee7a b\u1ea1n \u0111\u00e3 ho\u00e0n t\u1ea5t:<\/p>\n<ul data-nodeid=\"19884\">\n<li data-nodeid=\"19885\">\n<p data-nodeid=\"19886\"><strong data-nodeid=\"20048\">SVG:<\/strong> T\u1ed1t nh\u1ea5t cho t\u00e0i li\u1ec7u k\u1ef9 thu\u1eadt n\u01a1i y\u00eau c\u1ea7u kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng v\u00e0 t\u00ecm ki\u1ebfm v\u0103n b\u1ea3n.<\/p>\n<\/li>\n<li data-nodeid=\"19887\">\n<p data-nodeid=\"19888\"><strong data-nodeid=\"20053\">PNG:<\/strong> L\u00fd t\u01b0\u1edfng \u0111\u1ec3 chia s\u1ebb nhanh tr\u00ean Slack, Teams ho\u1eb7c qua email.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19889\"\/>\n<h2 data-nodeid=\"19890\">7. C\u00e1c th\u1ef1c h\u00e0nh t\u1ed1t nh\u1ea5t cho m\u00e3 ngu\u1ed3n d\u1ec5 b\u1ea3o tr\u00ec<\/h2>\n<ol data-nodeid=\"19891\">\n<li data-nodeid=\"19892\">\n<p data-nodeid=\"19893\"><strong data-nodeid=\"20065\">Quy \u01b0\u1edbc \u0111\u1eb7t t\u00ean:<\/strong> Lu\u00f4n s\u1eed d\u1ee5ng camelCase ho\u1eb7c snake_case m\u1ed9t c\u00e1ch th\u1ed1ng nh\u1ea5t (v\u00ed d\u1ee5: &#8220;<code data-backticks=\"1\" data-nodeid=\"20061\">$dbName<\/code> ho\u1eb7c &#8220;<code data-backticks=\"1\" data-nodeid=\"20063\">$db_name\"<\/code>).<\/p>\n<\/li>\n<li data-nodeid=\"19894\">\n<p data-nodeid=\"19895\"><strong data-nodeid=\"20072\">Gi\u00e1 tr\u1ecb m\u1eb7c \u0111\u1ecbnh:<\/strong> Lu\u00f4n s\u1eed d\u1ee5ng &#8220;<code data-backticks=\"1\" data-nodeid=\"20070\">?=<\/code> cho c\u00e1c bi\u1ebfn c\u00f3 th\u1ec3 b\u1ecb ghi \u0111\u00e8 trong c\u00e1c m\u00f4i tr\u01b0\u1eddng kh\u00e1c nhau.<\/p>\n<\/li>\n<li data-nodeid=\"19896\">\n<p data-nodeid=\"19897\"><strong data-nodeid=\"20077\">Ghi ch\u00fa:<\/strong> Th\u00eam ghi ch\u00fa ph\u00eda tr\u00ean c\u00e1c kh\u1ed1i bi\u1ebfn \u0111\u1ec3 gi\u1ea3i th\u00edch m\u1ee5c \u0111\u00edch c\u1ee7a ch\u00fang, \u0111\u1eb7c bi\u1ec7t l\u00e0 \u0111\u1ed1i v\u1edbi c\u00e1c c\u1ea5u h\u00ecnh JSON.<\/p>\n<\/li>\n<li data-nodeid=\"19898\">\n<p data-nodeid=\"19899\"><strong data-nodeid=\"20082\">Gi\u1eef logic \u0111\u01a1n gi\u1ea3n:<\/strong> M\u1eb7c d\u00f9 PlantUML h\u1ed7 tr\u1ee3 v\u00f2ng l\u1eb7p v\u00e0 \u0111i\u1ec1u ki\u1ec7n, nh\u01b0ng logic qu\u00e1 ph\u1ee9c t\u1ea1p c\u00f3 th\u1ec3 khi\u1ebfn bi\u1ec3u \u0111\u1ed3 kh\u00f3 \u0111\u1ecdc. H\u00e3y s\u1eed d\u1ee5ng bi\u1ebfn cho c\u1ea5u h\u00ecnh, kh\u00f4ng ph\u1ea3i \u0111\u1ec3 x\u00e2y d\u1ef1ng to\u00e0n b\u1ed9 logic \u1ee9ng d\u1ee5ng.<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"19900\"\/>\n<h2 data-nodeid=\"19901\">K\u1ebft lu\u1eadn<\/h2>\n<p class=\"\" data-nodeid=\"19902\">B\u1eb1ng c\u00e1ch l\u00e0m ch\u1ee7 c\u00e1c bi\u1ebfn v\u00e0 c\u00e1c ch\u1ec9 th\u1ecb ti\u1ec1n x\u1eed l\u00fd trong PlantUML, b\u1ea1n bi\u1ebfn c\u00e1c bi\u1ec3u \u0111\u1ed3 c\u1ee7a m\u00ecnh t\u1eeb h\u00ecnh \u1ea3nh t\u0129nh th\u00e0nh t\u00e0i li\u1ec7u s\u1ed1ng \u0111\u1ed9ng. S\u1eed d\u1ee5ng &#8220;<strong data-nodeid=\"20089\">VPasCode&#8221;<\/strong> \u0111\u01a1n gi\u1ea3n h\u00f3a quy tr\u00ecnh n\u00e0y nh\u1edd kh\u1ea3 n\u0103ng ch\u1ec9nh s\u1eeda \u0111\u01b0\u1ee3c t\u0103ng c\u01b0\u1eddng b\u1edfi AI v\u00e0 xem tr\u01b0\u1edbc tr\u1ef1c ti\u1ebfp, cho ph\u00e9p b\u1ea1n t\u1eadp trung v\u00e0o ki\u1ebfn tr\u00fac thay v\u00ec c\u00fa ph\u00e1p. H\u00e3y b\u1eaft \u0111\u1ea7u th\u1eed nghi\u1ec7m v\u1edbi c\u00e1c ph\u00e9p g\u00e1n \u0111i\u1ec1u ki\u1ec7n v\u00e0 h\u00e0m t\u00f9y ch\u1ec9nh ngay h\u00f4m nay \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c m\u1eabu bi\u1ec3u \u0111\u1ed3 b\u1ec1n v\u1eefng v\u00e0 c\u00f3 th\u1ec3 t\u00e1i s\u1eed d\u1ee5ng h\u01a1n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi thi\u1ec7u C\u00f4ng c\u1ee5 ti\u1ec1n x\u1eed l\u00fd c\u1ee7a PlantUML bi\u1ebfn m\u00e3 bi\u1ec3u \u0111\u1ed3 t\u0129nh th\u00e0nh c\u00e1c m\u1eabu \u0111\u1ed9ng v\u00e0 c\u00f3<\/p>\n","protected":false},"author":11,"featured_media":12254,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[82,120],"tags":[],"asset-category":[],"class_list":["post-12253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-vpascode-editor"],"source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode - Cybermedian<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode - Cybermedian\" \/>\n<meta property=\"og:description\" content=\"Gi\u1edbi thi\u1ec7u C\u00f4ng c\u1ee5 ti\u1ec1n x\u1eed l\u00fd c\u1ee7a PlantUML bi\u1ebfn m\u00e3 bi\u1ec3u \u0111\u1ed3 t\u0129nh th\u00e0nh c\u00e1c m\u1eabu \u0111\u1ed9ng v\u00e0 c\u00f3\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"Cybermedian\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-14T07:24:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1402\" \/>\n\t<meta property=\"og:image:height\" content=\"1122\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 ph\u00fat\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"wordCount\":1712,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png\",\"articleSection\":[\"AI\",\"VPasCode Editor\"],\"inLanguage\":\"vi\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"name\":\"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode - Cybermedian\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\"},\"inLanguage\":\"vi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png\",\"width\":1402,\"height\":1122},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/vn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/vn\/\",\"name\":\"Cybermedian\",\"description\":\"H\u1ecdc m\u1ed9t \u0111i\u1ec1u m\u1edbi m\u1ed7i ng\u00e0y\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/vn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"vi\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"vi\",\"@id\":\"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.cybermedian.com\/vn\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode - Cybermedian","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_locale":"vi_VN","og_type":"article","og_title":"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode - Cybermedian","og_description":"Gi\u1edbi thi\u1ec7u C\u00f4ng c\u1ee5 ti\u1ec1n x\u1eed l\u00fd c\u1ee7a PlantUML bi\u1ebfn m\u00e3 bi\u1ec3u \u0111\u1ed3 t\u0129nh th\u00e0nh c\u00e1c m\u1eabu \u0111\u1ed9ng v\u00e0 c\u00f3","og_url":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_site_name":"Cybermedian","article_published_time":"2026-10-14T07:24:34+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","type":"","width":"","height":""},{"width":1402,"height":1122,"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"curtis","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"4 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode","datePublished":"2026-10-14T07:24:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"wordCount":1712,"image":{"@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png","articleSection":["AI","VPasCode Editor"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","url":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","name":"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode - Cybermedian","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png","datePublished":"2026-10-14T07:24:34+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage","url":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png","contentUrl":"https:\/\/www.cybermedian.com\/vn\/wp-content\/uploads\/sites\/14\/2026\/10\/img_6acf2d8d765e7.png","width":1402,"height":1122},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/vn\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/vn\/"},{"@type":"ListItem","position":2,"name":"L\u00e0m ch\u1ee7 Bi\u1ebfn v\u00e0 C\u00e1c Ch\u1ec9 th\u1ecb Ti\u1ec1n x\u1eed l\u00fd trong PlantUML v\u1edbi VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/vn\/#website","url":"https:\/\/www.cybermedian.com\/vn\/","name":"Cybermedian","description":"H\u1ecdc m\u1ed9t \u0111i\u1ec1u m\u1edbi m\u1ed7i ng\u00e0y","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/www.cybermedian.com\/vn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.cybermedian.com\/vn\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts\/12253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/comments?post=12253"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/posts\/12253\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/media\/12254"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/media?parent=12253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/categories?post=12253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/tags?post=12253"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/vn\/wp-json\/wp\/v2\/asset-category?post=12253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}