{"id":5179,"date":"2025-12-22T08:27:00","date_gmt":"2025-12-21T23:27:00","guid":{"rendered":"https:\/\/secondlife.lol\/?p=5179"},"modified":"2025-12-23T18:37:51","modified_gmt":"2025-12-23T09:37:51","slug":"django-system-context-diagram","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/django-system-context-diagram\/","title":{"rendered":"Django \ud504\ub85c\uc81d\ud2b8 \uc544\ud0a4\ud14d\ucc98 1\ubd80: \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8(system context diagram)\uc73c\ub85c \uc804\uccb4 \uadf8\ub9bc \uc7a1\uae30"},"content":{"rendered":"<style>.kb-image5179_761971-42 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5179_761971-42\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"277\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-52-600x277.jpg\" alt=\"system context diagram image\" class=\"kb-img wp-image-5295\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-52-600x277.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-52-300x139.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-52-768x355.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-52-18x8.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-52.jpg 1119w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<p><a href=\"https:\/\/www.djangoproject.com\/\" target=\"_blank\" rel=\"noopener\">Django<\/a> \uc2dc\uc2a4\ud15c\uc744 \uc608\uc2dc\ub85c, \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8(system context diagram)\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \ub2e8\uacc4\ubcc4\ub85c \uc815\ub9ac\ud588\uc2b5\ub2c8\ub2e4. C4 \ubaa8\ub378\uacfc PlantUML\uc744 \ud65c\uc6a9\ud574 \uad00\ub9ac\uc790, \uc124\ubb38 \uc751\ub2f5\uc790, \ubd84\uc11d\uac00, \uc678\ubd80 \uc11c\ube44\uc2a4\uae4c\uc9c0 \ud55c\ub208\uc5d0 \ubcf4\uc774\ub294 \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc744 \uc9c1\uc811 \uadf8\ub824\ubd05\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5179_803ac6-a0, .wp-block-kadence-advancedheading.kt-adv-heading5179_803ac6-a0[data-kb-block=\"kb-adv-heading5179_803ac6-a0\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5179_803ac6-a0 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5179_803ac6-a0[data-kb-block=\"kb-adv-heading5179_803ac6-a0\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5179_803ac6-a0 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5179_803ac6-a0[data-kb-block=\"kb-adv-heading5179_803ac6-a0\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5179_803ac6-a0 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5179_803ac6-a0\">1. \uc65c \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8(system context diagram)\ubd80\ud130 \uc2dc\uc791\ud560\uae4c?<\/h2>\n\n\n\n<p>\uc544\ud0a4\ud14d\ucc98 \uadf8\ub9bc\uc744 \uadf8\ub9b4 \ub54c \ub9ce\uc740 \ubd84\ub4e4\uc774 \ubc14\ub85c <strong>DB ERD<\/strong>\ub098 <strong>\ucee8\ud14c\uc774\ub108 \ub2e4\uc774\uc5b4\uadf8\ub7a8<\/strong>\ubd80\ud130 \uc2dc\uc791\ud574\uc694.<br>\uadf8\ub7f0\ub370 \uc815\uc791 \uc81c\uc77c \uc911\uc694\ud55c <strong>\uc9c8\ubb38 \ud558\ub098<\/strong>\uac00 \ube60\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201c\uc774 \uc2dc\uc2a4\ud15c, \uacb0\uad6d <strong>\ub204\uac00<\/strong> \uc0ac\uc6a9\ud558\uace0 <strong>\ubb34\uc5c7<\/strong>\uacfc \uc5f0\uacb0\ub3fc \uc788\uc9c0?\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>\uc774\uac78 \ud55c \uc7a5\uc73c\ub85c \uc815\ub9ac\ud574 \uc8fc\ub294 \uac8c \ubc14\ub85c \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8(system context diagram)\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc2dc\uc2a4\ud15c\uc744 <strong>\ud070 \ubc15\uc2a4 \ud558\ub098<\/strong>\ub85c \ubcf4\uace0<\/li>\n\n\n\n<li>\ubc14\uae65\uc5d0 \uc788\ub294 \uc0ac\ub78c(\uad00\ub9ac\uc790, \uc124\ubb38 \uc751\ub2f5\uc790, \ubd84\uc11d\uac00 \ub4f1)\uacfc<\/li>\n\n\n\n<li>\uc678\ubd80 \uc11c\ube44\uc2a4(SMTP, Google API, Redis \ub4f1)\ub97c<\/li>\n\n\n\n<li><strong>\ub370\uc774\ud130 \ud750\ub984 \uae30\uc900<\/strong>\uc73c\ub85c \uc5f0\uacb0\ud574 \uc8fc\ub294 \uadf8\ub9bc\uc774\uc8e0.<\/li>\n<\/ul>\n\n\n\n<p>\ub098\uc911\uc5d0 \ucee8\ud14c\uc774\ub108\/\ucef4\ud3ec\ub10c\ud2b8\/\uc2dc\ud000\uc2a4\/ERD\ub97c \ubcfc \ub54c\ub3c4<br>\uc774 1\ubd80\uc758 system context diagram\uc774 \uae30\uc900\uc774 \ub429\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5179_992054-fa, .wp-block-kadence-advancedheading.kt-adv-heading5179_992054-fa[data-kb-block=\"kb-adv-heading5179_992054-fa\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5179_992054-fa mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5179_992054-fa[data-kb-block=\"kb-adv-heading5179_992054-fa\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5179_992054-fa img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5179_992054-fa[data-kb-block=\"kb-adv-heading5179_992054-fa\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5179_992054-fa wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5179_992054-fa\">2. \uc624\ub298 \uc644\uc131\ud560 \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8 \uc0b4\ud3b4\ubcf4\uae30<\/h2>\n\n\n<style>.kb-image5179_532c29-e6 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5179_532c29-e6\"><figure class=\"aligncenter size-medium_large\"><img decoding=\"async\" width=\"768\" height=\"419\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-4-768x419.jpg\" alt=\"\" class=\"kb-img wp-image-5180\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-4-768x419.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-4-300x164.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-4-600x328.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-4-18x10.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-4.jpg 1024w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<p>\uc9c0\uae08 \uc704 \uadf8\ub9bc\uc744 \uae30\uc900\uc73c\ub85c \uc124\uba85\ud558\uba74, \ub300\ub7b5 \uc774\ub7f0 \uad6c\uc131\uc774\uc5d0\uc694:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc704\ucabd\uc5d0 \uc138 \uba85\uc758 \uc0ac\ub78c\uc740\n<ul class=\"wp-block-list\">\n<li><strong>Admin<\/strong> \u2013 \uc124\ubb38\u00b7\uba74\ub2f4\uc744 \uad00\ub9ac\ud558\ub294 \uad00\ub9ac\uc790<\/li>\n\n\n\n<li><strong>Survey Respondent<\/strong> \u2013 \uc6f9 \ube0c\ub77c\uc6b0\uc800\ub85c \uc124\ubb38\/\uba74\ub2f4\uc5d0 \uc751\ub2f5\ud558\ub294 \uc0ac\uc6a9\uc790<\/li>\n\n\n\n<li><strong>Analyst<\/strong> \u2013 \ub300\uc2dc\ubcf4\ub4dc\uc5d0\uc11c \ud1b5\uacc4\ub97c \ubcf4\ub294 \ubd84\uc11d\uc790<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uac00\uc6b4\ub370 \ud070 \ubc15\uc2a4\ub294\n<ul class=\"wp-block-list\">\n<li><strong>Survey System \/ Survey Web Application (Django)<\/strong><br>\u2013 \uc6b0\ub9ac\uac00 \uac1c\ubc1c\ud55c \uc870\uc9c1\ubb38\ud654 \ud1b5\ud569 \uad00\ub9ac Django \uc6f9\uc571<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc544\ub798\ucabd\uc758 \uc678\ubd80 \uc2dc\uc2a4\ud15c\uc740\n<ul class=\"wp-block-list\">\n<li><strong>SMTP \/ Gmail<\/strong> \u2013 \uc774\uba54\uc77c \uc54c\ub9bc \ubc1c\uc1a1<\/li>\n\n\n\n<li><strong>Google APIs<\/strong> \u2013 \uad6c\uae00 \uc2dc\ud2b8\/\ub4dc\ub77c\uc774\ube0c \ub4f1 \ud544\uc694\uc2dc \uc5f0\ub3d9<\/li>\n\n\n\n<li><strong>Redis (optional)<\/strong> \u2013 \uce90\uc2dc\/\uc138\uc158 \uc800\uc7a5\uc18c<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>\uc774 \uad00\uacc4\ub97c \ucf54\ub4dc\ub85c \ud45c\ud604\ud55c \uac83\uc774 <strong><a href=\"https:\/\/plantuml.com\/\" target=\"_blank\" rel=\"noopener\">PlantUML<\/a> C4 \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8<\/strong>\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc81c \uac19\uc740 \uac78 <strong>\ucc98\uc74c \uc124\uce58\ud558\ub294 \uc0ac\ub78c \uae30\uc900\uc73c\ub85c &#8216;\ub9e8\ub545\uc5d0 \ud5e4\ub529\uc2dd&#8217;\uc73c\ub85c<\/strong> \ub9cc\ub4e4\uc5b4 \ubcfc\uac8c\uc694.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5179_c49334-c1, .wp-block-kadence-advancedheading.kt-adv-heading5179_c49334-c1[data-kb-block=\"kb-adv-heading5179_c49334-c1\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5179_c49334-c1 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5179_c49334-c1[data-kb-block=\"kb-adv-heading5179_c49334-c1\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5179_c49334-c1 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5179_c49334-c1[data-kb-block=\"kb-adv-heading5179_c49334-c1\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5179_c49334-c1 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5179_c49334-c1\">3. \uc900\ube44 \ub2e8\uacc4 \u2013 \ud3f4\ub354 \ub9cc\ub4e4\uae30\uc640 PlantUML \uc124\uce58<\/h2>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5179_b04fb6-8b, .wp-block-kadence-advancedheading.kt-adv-heading5179_b04fb6-8b[data-kb-block=\"kb-adv-heading5179_b04fb6-8b\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5179_b04fb6-8b mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5179_b04fb6-8b[data-kb-block=\"kb-adv-heading5179_b04fb6-8b\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5179_b04fb6-8b img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5179_b04fb6-8b[data-kb-block=\"kb-adv-heading5179_b04fb6-8b\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5179_b04fb6-8b wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5179_b04fb6-8b\">3-1. \uc544\ud0a4\ud14d\ucc98 \ud3f4\ub354 \uad6c\uc870 \uc7a1\uae30<\/h3>\n\n\n\n<p>Django \ud504\ub85c\uc81d\ud2b8 \ub8e8\ud2b8 \uae30\uc900\uc73c\ub85c \uc774\ub807\uac8c \ud3f4\ub354\ub97c \ud558\ub098 \ub9cc\ub4ed\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \ud504\ub85c\uc81d\ud2b8 \ub8e8\ud2b8 \uc608: django_project\nmkdir -p docs\/architecture<\/code><\/pre>\n\n\n\n<p>\uc5ec\uae30\uc5d0 \uc55e\uc73c\ub85c \ub9cc\ub4e4\uac8c \ub420<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>context.puml<\/code> (system context diagram)<\/li>\n\n\n\n<li><code>container.puml<\/code> (\ucee8\ud14c\uc774\ub108 \ub2e4\uc774\uc5b4\uadf8\ub7a8 \u2013 2\ubd80\uc5d0\uc11c \uc0ac\uc6a9)<\/li>\n\n\n\n<li><code>component.puml<\/code> (\ucef4\ud3ec\ub10c\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8)<\/li>\n<\/ul>\n\n\n\n<p>\ub4f1\uc744 \ubaa8\uc544\ub458 \uac70\uc608\uc694.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5179_cf2f66-67, .wp-block-kadence-advancedheading.kt-adv-heading5179_cf2f66-67[data-kb-block=\"kb-adv-heading5179_cf2f66-67\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5179_cf2f66-67 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5179_cf2f66-67[data-kb-block=\"kb-adv-heading5179_cf2f66-67\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5179_cf2f66-67 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5179_cf2f66-67[data-kb-block=\"kb-adv-heading5179_cf2f66-67\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5179_cf2f66-67 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5179_cf2f66-67\">3-2. PlantUML \uc124\uce58 \ubc29\ubc95 2\uac00\uc9c0 \uc911 \ud0dd1<\/h3>\n\n\n\n<p><strong>\ubc29\ubc95 A \u2013 VSCode \ud655\uc7a5(\uac00\uc7a5 \uc26c\uc6c0)<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/secondlife.lol\/vs-code-install\/\" data-type=\"post\" data-id=\"372\">VSCode<\/a>\uc5d0\uc11c <strong>Extensions<\/strong> \uc5f4\uae30<\/li>\n\n\n\n<li><code>PlantUML<\/code> \uac80\uc0c9 \ud6c4 \uc124\uce58<\/li>\n\n\n\n<li>Java\uac00 \uc5c6\ub2e4\uba74 OpenJDK \ud558\ub098 \uc124\uce58(JDK 17 \uad8c\uc7a5)<\/li>\n\n\n\n<li><code>.puml<\/code> \ud30c\uc77c\uc744 \uc5f4\uace0 <code>Alt + D<\/code> (\ub610\ub294 Command Palette\uc5d0\uc11c \u201cPlantUML: Preview\u201d)\ub85c \ubbf8\ub9ac\ubcf4\uae30<\/li>\n<\/ol>\n\n\n\n<p><strong>\ubc29\ubc95 B \u2013 plantuml.jar \uc9c1\uc811 \ub2e4\uc6b4\ub85c\ub4dc<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>tools<\/code> \ud3f4\ub354 \uc0dd\uc131 <code>mkdir -p tools<\/code><\/li>\n\n\n\n<li>plantuml.jar \ub2e4\uc6b4\ub85c\ub4dc (\ube0c\ub77c\uc6b0\uc800\ub85c \ubc1b\uc544\uc11c <code>tools\/plantuml.jar<\/code>\uc5d0 \uc800\uc7a5)<\/li>\n\n\n\n<li>\ub80c\ub354\ub9c1 \uba85\ub839 \uc608\uc2dc(\ud504\ub85c\uc81d\ud2b8 \ub8e8\ud2b8\uc5d0\uc11c): <code>java -jar tools\/plantuml.jar docs\/architecture\/context.puml<\/code> \u2192 \uac19\uc740 \ud3f4\ub354\uc5d0 <code>context.png<\/code>\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4.<\/li>\n<\/ol>\n\n\n\n<p>\uc774\uc81c \uc900\ube44 \ub05d!<br>\ubcf8\uaca9\uc801\uc73c\ub85c \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8 \ucf54\ub4dc\ub97c \uc791\uc131\ud574 \ubcfc\uac8c\uc694.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. C4 \ubaa8\ub378 + PlantUML \uae30\ubcf8 \ud15c\ud50c\ub9bf \ub9cc\ub4e4\uae30<\/h3>\n\n\n\n<p><code>docs\/architecture\/context.puml<\/code> \ud30c\uc77c\uc744 \uc0c8\ub85c \ub9cc\ub4e4\uace0,<br>\uc544\ub798 \uae30\ubcf8 \ud15c\ud50c\ub9bf \ucf54\ub4dc\ub97c \ubd99\uc5ec \ub123\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@startuml\n' C4-PlantUML \ub77c\uc774\ube0c\ub7ec\ub9ac \ubd88\ub7ec\uc624\uae30\n!define C4P https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\n!includeurl C4P\/C4_Context.puml\n\n' 1) \uc0ac\ub78c(Actors) \uc815\uc758\nPerson(admin, \"Admin\", \"\uc124\ubb38\/\uba74\ub2f4\uc744 \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud558\ub294 \uad00\ub9ac\uc790\")\nPerson(respondent, \"Survey Respondent\", \"\uc6f9 \ube0c\ub77c\uc6b0\uc800\ub85c \uc124\ubb38\uacfc \uba74\ub2f4\uc5d0 \uc751\ub2f5\ud558\ub294 \uc0ac\uc6a9\uc790\")\nPerson(analyst, \"Analyst\", \"\ub300\uc2dc\ubcf4\ub4dc\uc5d0\uc11c \uc124\ubb38 \uacb0\uacfc\ub97c \ubd84\uc11d\ud558\ub294 \ubd84\uc11d\uc790\")\n\n' 2) \uc2dc\uc2a4\ud15c(System) \uc815\uc758\nSystem(survey_system, \"Survey System\", \"Django \uc2dc\uc2a4\ud15c\")\n\n' 3) \uc678\ubd80 \uc2dc\uc2a4\ud15c \uc815\uc758\nSystem_Ext(smtp, \"SMTP \/ Gmail\", \"\uc774\uba54\uc77c \uc54c\ub9bc \ubc1c\uc1a1\uc6a9 \uc678\ubd80 \uba54\uc77c \uc11c\ubc84\")\nSystem_Ext(google_apis, \"Google APIs\", \"\ubcf4\uace0\uc11c\/\uc790\ub3d9\ud654 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \uc120\ud0dd\uc801\uc73c\ub85c \uc0ac\uc6a9\ud558\ub294 \uc678\ubd80 API\")\nSystem_Ext(redis, \"Redis (optional)\", \"\uc138\uc158\/\uce90\uc2dc \uc800\uc7a5\uc6a9 \uc778\uba54\ubaa8\ub9ac \ub370\uc774\ud130\ubca0\uc774\uc2a4\")\n\n' 4) \uad00\uacc4(Relationship) \uc815\uc758\nRel(admin, survey_system, \"\uc124\ubb38\/\uba74\ub2f4 \uc0dd\uc131\u00b7\uad00\ub9ac, \ub9ac\ud3ec\ud2b8 \uc870\ud68c\", \"HTTPS\")\nRel(respondent, survey_system, \"\uc124\ubb38 \uc751\ub2f5 \uc81c\ucd9c\", \"HTTPS\")\nRel(analyst, survey_system, \"\ub300\uc2dc\ubcf4\ub4dc\/\ud1b5\uacc4 \uc870\ud68c\", \"HTTPS\")\n\nRel(survey_system, smtp, \"\uc54c\ub9bc \uc774\uba54\uc77c \ubc1c\uc1a1\", \"SMTP\")\nRel(survey_system, google_apis, \"\ubcf4\uace0\uc11c \uc790\ub3d9\ud654 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \ud638\ucd9c\", \"HTTPS\")\nRel(survey_system, redis, \"\uc138\uc158\/\uce90\uc2dc \uc800\uc7a5\", \"TCP\")\n\nSHOW_LEGEND()\n@enduml<\/code><\/pre>\n\n\n\n<p>\uc5ec\uae30\uae4c\uc9c0\uac00 system context diagram\uc758 \uc804\uccb4 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<br>\uc774 \ucf54\ub4dc \ud55c \uc7a5\uc73c\ub85c, \uc704\uc5d0\uc11c \uc0b4\ud3b4\ubcf8 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uacfc \uac70\uc758 \ub3d9\uc77c\ud55c \uadf8\ub9bc\uc744 \uc5bb\uc744 \uc218 \uc788\uc5b4\uc694.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. \ub2e4\uc774\uc5b4\uadf8\ub7a8 \ub80c\ub354\ub9c1\ud558\uae30<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">5-1. VSCode\uc5d0\uc11c \ubc14\ub85c \ubcf4\uae30<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>VSCode\ub85c <code>context.puml<\/code> \uc5f4\uae30<\/li>\n\n\n\n<li><code>Alt + D<\/code> \ub610\ub294 Command Palette\uc5d0\uc11c<br><strong>\u201cPlantUML: Preview Current Diagram\u201d<\/strong> \uc120\ud0dd<\/li>\n\n\n\n<li>\uc624\ub978\ucabd\uc5d0 system context diagram\uc774 \ub098\ud0c0\ub098\uba74 \uc131\uacf5 \ud83c\udf89<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">5-2. plantuml.jar\ub85c PNG \ub9cc\ub4e4\uae30<\/h4>\n\n\n\n<p>\ud130\ubbf8\ub110(\ud504\ub85c\uc81d\ud2b8 \ub8e8\ud2b8 \uae30\uc900)\uc5d0\uc11c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>java -jar tools\/plantuml.jar docs\/architecture\/context.puml<\/code><\/pre>\n\n\n\n<p>\uc2e4\ud589\ud558\uba74 <code>docs\/architecture\/context.png<\/code>\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. \ucf54\ub4dc \ud55c \uc904\uc529 \uc774\ud574\ud574\ubcf4\uae30 (system context diagram \ud574\uc124)<\/h3>\n\n\n\n<p><strong>1) Actor \uc815\uc758 \u2013 Person()<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Person(admin, \"Admin\", \"\uc124\ubb38\/\uba74\ub2f4\uc744 \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud558\ub294 \uad00\ub9ac\uc790\")<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>admin<\/code> : \ub0b4\ubd80 ID (\ucf54\ub4dc \uc548\uc5d0\uc11c\ub9cc \uc0ac\uc6a9)<\/li>\n\n\n\n<li><code>\"Admin\"<\/code> : \uadf8\ub9bc\uc5d0 \ud45c\uc2dc\ub418\ub294 \uc774\ub984<\/li>\n\n\n\n<li><code>\"\uc124\ubb38\/\uba74\ub2f4\uc744 \uc0dd\uc131\ud558\uace0 \uad00\ub9ac\ud558\ub294 \uad00\ub9ac\uc790\"<\/code> : \uc124\uba85(\ud234\ud301\uc73c\ub85c \ud45c\uc2dc)<\/li>\n<\/ul>\n\n\n\n<p>\uac19\uc740 \ubc29\uc2dd\uc73c\ub85c <code>Survey Respondent<\/code>, <code>Analyst<\/code>\ub97c \uc815\uc758\ud574\uc11c<br>system context diagram\uc5d0 \uc0ac\uc6a9\uc790 3\uba85\uc744 \ubc30\uce58\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>2) System \/ System_Ext<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>System(survey_system, \"Survey System\", \"Django \uae30\ubc18 \ud1b5\ud569 \uad00\ub9ac \uc2dc\uc2a4\ud15c\")\nSystem_Ext(smtp, \"SMTP \/ Gmail\", \"\uc774\uba54\uc77c \uc54c\ub9bc \ubc1c\uc1a1\uc6a9 \uc678\ubd80 \uba54\uc77c \uc11c\ubc84\")<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>System<\/code> : \uc6b0\ub9ac\uac00 \uc9c1\uc811 \uac1c\ubc1c\u00b7\uc6b4\uc601\ud558\ub294 \uc2dc\uc2a4\ud15c<\/li>\n\n\n\n<li><code>System_Ext<\/code> : \uc678\ubd80 \uc758\uc874 \uc2dc\uc2a4\ud15c (SMTP, Google APIs, Redis \ub4f1)<\/li>\n<\/ul>\n\n\n\n<p>\uc774\ub807\uac8c \ub098\ub220\uc918\uc57c <strong>\uc2dc\uc2a4\ud15c \uacbd\uacc4<\/strong>\uac00 \ubd84\uba85\ud574\uc9d1\ub2c8\ub2e4.<br>\uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc758 \ud575\uc2ec\uc740 \ubc14\ub85c \uc774 <strong>\uacbd\uacc4 \ud45c\uc2dc<\/strong>\uc608\uc694.<\/p>\n\n\n\n<p><strong>3) Rel() \u2013 \uad00\uacc4\uc640 \ub370\uc774\ud130 \ud750\ub984<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Rel(respondent, survey_system, \"\uc124\ubb38 \uc751\ub2f5 \uc81c\ucd9c\", \"HTTPS\")<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>respondent \u2192 survey_system<\/code> \ubc29\ud5a5 \ud654\uc0b4\ud45c<\/li>\n\n\n\n<li>\u201c\uc124\ubb38 \uc751\ub2f5 \uc81c\ucd9c\u201d \uc774\ub77c\ub294 \ud14d\uc2a4\ud2b8<\/li>\n\n\n\n<li>\uc2e4\uc81c \ud504\ub85c\ud1a0\ucf5c: HTTPS<\/li>\n<\/ul>\n\n\n\n<p>\uc774\uac78 \ubcf4\uace0 \ub204\uac00 \ubd10\ub3c4,<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201c\uc544, \uc124\ubb38 \uc751\ub2f5\uc790\ub294 \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c Django \uc6f9\uc571\uc73c\ub85c \uc751\ub2f5\uc744 \ubcf4\ub0b4\ub294\uad6c\ub098\u201d<\/p>\n<\/blockquote>\n\n\n\n<p>\ub77c\uace0 \uc774\ud574\ud560 \uc218 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.<br>\uadf8\ub798\uc11c \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc5d0\uc11c\ub294<br><strong>\uae30\uc220\uc801\uc778 \ud3ec\ud2b8 \ubc88\ud638\ubcf4\ub2e4 \u2018\uc5c5\ubb34\uc801\uc778 \ub370\uc774\ud130 \ud750\ub984\u2019 \ubb38\uc7a5<\/strong>\uc774 \ub354 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. \uc2e4\ubb34\uc5d0\uc11c \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8 \ud65c\uc6a9 \ud301<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\ud68c\uc758 \uc2dc\uc791 \uc804\uc5d0 \uc774 \ud55c \uc7a5\ubd80\ud130 \ubcf4\uc5ec\uc8fc\uae30<\/strong><br>\u2013 \uac1c\ubc1c\uc790, \uae30\ud68d\uc790, \uc6b4\uc601\uc790, \ud604\uc7a5 \ub9ac\ub354\uac00 \uac19\uc774 \ubaa8\uc600\uc744 \ub54c<br>ERD\ubd80\ud130 \ubcf4\uc5ec\uc8fc\uba74 \u201c\uc5b4\ub835\ub2e4\u2026\u201d\ub294 \ud45c\uc815\uc774 \ubc14\ub85c \ub098\uc635\ub2c8\ub2e4 \ud83d\ude05<br>\uadf8 \ub300\uc2e0, system context diagram \ud55c \uc7a5\ubd80\ud130 \ubcf4\uc5ec\uc8fc\uba74<br>\u201c\uc544, \uc774 \uc2dc\uc2a4\ud15c\uc774 \uc6b0\ub9ac \uc870\uc9c1\uc5d0\uc11c \uc5b4\ub5a4 \uc5ed\ud560\uc744 \ud558\ub294\uc9c0\u201d\uac00 \uae08\ubc29 \uacf5\uc720\ub429\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc694\uad6c\uc0ac\ud56d\uc774 \ubc14\ub014 \ub54c\ub9c8\ub2e4 \ucee8\ud14d\uc2a4\ud2b8\ubd80\ud130 \uc5c5\ub370\uc774\ud2b8<\/strong><br>\u2013 \uc608\ub97c \ub4e4\uc5b4 \u201c\ud5a5\ud6c4 Kafka\ub098 \ub0b4\ubd80 LLM \uc11c\ubc84\uc640 \uc5f0\ub3d9\ud55c\ub2e4\u201d\ub77c\ub294 \uc694\uad6c\uac00 \uc0dd\uae30\uba74<br>\uc0c8\ub85c\uc6b4 <strong>System_Ext<\/strong>\ub97c \ucd94\uac00\ud558\uace0 \ud654\uc0b4\ud45c\ub97c \uadf8\ub824 \ub123\uc2b5\ub2c8\ub2e4.<br>\uc774\uac8c \uc815\ub9ac\ub418\uba74, \uadf8 \ub2e4\uc74c\uc5d0 \ucee8\ud14c\uc774\ub108\/\ucef4\ud3ec\ub10c\ud2b8 \ub808\ubca8 \uc124\uacc4\ub85c \ub0b4\ub824\uac00\uba74 \ub3fc\uc694.<\/li>\n\n\n\n<li><strong>\ubb38\uc11c\/\uc704\ud0a4\uc5d0 PNG + \ucf54\ub4dc(.puml) \ub458 \ub2e4 \uc800\uc7a5\ud558\uae30<\/strong><br>\u2013 PNG\ub294 \uad00\ub9ac\uc790\uac00 \ubcf4\uae30 \uc88b\uace0,<br>\u2013 <code>.puml<\/code> \ud30c\uc77c\uc740 \uac1c\ubc1c\uc790\uac00 \uc218\uc815\u00b7\ubc84\uc804\uad00\ub9ac\ub97c \ud558\uae30 \uc88b\uc2b5\ub2c8\ub2e4.<br>Git \ub808\ud3ec\uc5d0 <code>docs\/architecture\/context.puml<\/code>\uc744 \ucee4\ubc0b\ud574 \ub450\uba74<br>\ub098\uc911\uc5d0 \u201c\ucc98\uc74c\uc5d4 \uc5b4\ub5a4 \uad6c\uc870\uc600\uc9c0?\u201d\ub97c \ucd94\uc801\ud558\uae30\ub3c4 \ud3b8\ud569\ub2c8\ub2e4.<\/li>\n<\/ol>\n\n\n\n<p>\ub2e4\uc74c\uc5d0\ub294 \ubc31\uc5d4\ub4dc \uad6c\uc870\ub97c \uc815\ub9ac\ud558\uae30 \uc704\ud55c <a href=\"https:\/\/secondlife.lol\/django-container-diagram-architecture\/\">Container Diagram<\/a>\uc744 \uc0dd\uc131\ud558\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Django \uc2dc\uc2a4\ud15c\uc744 \uc608\uc2dc\ub85c, \uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8(system context diagram)\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744&#8230;<\/p>","protected":false},"author":3,"featured_media":5295,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[15],"tags":[941,942,943,938,939,936,935,940,944,937],"class_list":["post-5179","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-jewel","tag-c4-","tag-django-","tag-erd","tag-plantuml","tag-939","tag-936","tag-935","tag-940","tag-944","tag-937"],"taxonomy_info":{"category":[{"value":15,"label":"D \ubcf4\ubb3c\ucc3d\uace0(Jewel)"}],"post_tag":[{"value":941,"label":"C4 \ubaa8\ub378"},{"value":942,"label":"Django \uc544\ud0a4\ud14d\ucc98"},{"value":943,"label":"ERD"},{"value":938,"label":"PlantUML"},{"value":939,"label":"\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc124\uacc4"},{"value":936,"label":"\uc2dc\uc2a4\ud15c \ub2e4\uc774\uc5b4\uadf8\ub7a8"},{"value":935,"label":"\uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8"},{"value":940,"label":"\uc2dc\ud000\uc2a4 \ub2e4\uc774\uc5b4\uadf8\ub7a8"},{"value":944,"label":"\uc5d4\ud130\ud504\ub77c\uc774\uc988 \uc544\ud0a4\ud14d\ucc98"},{"value":937,"label":"\uc6f9\uc2dc\uc2a4\ud15c \uc124\uacc4"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-52-600x277.jpg",600,277,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":15,"name":"D \ubcf4\ubb3c\ucc3d\uace0(Jewel)","slug":"it-jewel","term_group":0,"term_taxonomy_id":15,"taxonomy":"category","description":"","parent":0,"count":55,"filter":"raw","cat_ID":15,"category_count":55,"category_description":"","cat_name":"D \ubcf4\ubb3c\ucc3d\uace0(Jewel)","category_nicename":"it-jewel","category_parent":0}],"tag_info":[{"term_id":941,"name":"C4 \ubaa8\ub378","slug":"c4-%eb%aa%a8%eb%8d%b8","term_group":0,"term_taxonomy_id":941,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":942,"name":"Django \uc544\ud0a4\ud14d\ucc98","slug":"django-%ec%95%84%ed%82%a4%ed%85%8d%ec%b2%98","term_group":0,"term_taxonomy_id":942,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":943,"name":"ERD","slug":"erd","term_group":0,"term_taxonomy_id":943,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":938,"name":"PlantUML","slug":"plantuml","term_group":0,"term_taxonomy_id":940,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":939,"name":"\uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc124\uacc4","slug":"%ec%86%8c%ed%94%84%ed%8a%b8%ec%9b%a8%ec%96%b4-%ec%84%a4%ea%b3%84","term_group":0,"term_taxonomy_id":939,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":936,"name":"\uc2dc\uc2a4\ud15c \ub2e4\uc774\uc5b4\uadf8\ub7a8","slug":"%ec%8b%9c%ec%8a%a4%ed%85%9c-%eb%8b%a4%ec%9d%b4%ec%96%b4%ea%b7%b8%eb%9e%a8","term_group":0,"term_taxonomy_id":936,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":935,"name":"\uc2dc\uc2a4\ud15c \ucee8\ud14d\uc2a4\ud2b8 \ub2e4\uc774\uc5b4\uadf8\ub7a8","slug":"%ec%8b%9c%ec%8a%a4%ed%85%9c-%ec%bb%a8%ed%85%8d%ec%8a%a4%ed%8a%b8-%eb%8b%a4%ec%9d%b4%ec%96%b4%ea%b7%b8%eb%9e%a8","term_group":0,"term_taxonomy_id":935,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":940,"name":"\uc2dc\ud000\uc2a4 \ub2e4\uc774\uc5b4\uadf8\ub7a8","slug":"%ec%8b%9c%ed%80%80%ec%8a%a4-%eb%8b%a4%ec%9d%b4%ec%96%b4%ea%b7%b8%eb%9e%a8","term_group":0,"term_taxonomy_id":938,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":944,"name":"\uc5d4\ud130\ud504\ub77c\uc774\uc988 \uc544\ud0a4\ud14d\ucc98","slug":"%ec%97%94%ed%84%b0%ed%94%84%eb%9d%bc%ec%9d%b4%ec%a6%88-%ec%95%84%ed%82%a4%ed%85%8d%ec%b2%98","term_group":0,"term_taxonomy_id":944,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":937,"name":"\uc6f9\uc2dc\uc2a4\ud15c \uc124\uacc4","slug":"%ec%9b%b9%ec%8b%9c%ec%8a%a4%ed%85%9c-%ec%84%a4%ea%b3%84","term_group":0,"term_taxonomy_id":937,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5179","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=5179"}],"version-history":[{"count":10,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5179\/revisions"}],"predecessor-version":[{"id":5744,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5179\/revisions\/5744"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/5295"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=5179"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=5179"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=5179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}