{"id":2259,"date":"2016-05-13T14:14:10","date_gmt":"2016-05-13T14:14:10","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2259"},"modified":"2025-10-09T07:09:51","modified_gmt":"2025-10-09T14:09:51","slug":"couchbase-with-windows-and-net-part-3-asp-net-mvc","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","title":{"rendered":"Windows \ubc0f .NET\uc744 \uc0ac\uc6a9\ud55c Couchbase - \ud30c\ud2b8 3 - ASP.NET MVC"},"content":{"rendered":"<p><em>\uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc740 \uc2dc\ub9ac\uc988\uc758 3\ubd80\uc785\ub2c8\ub2e4.<\/em>:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-.net---part-1\/\">1\ubd80\uc5d0\uc11c\ub294 Windows\uc5d0\uc11c Couchbase\ub97c \uc124\uce58\ud558\uace0 \uc124\uc815\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud588\uc2b5\ub2c8\ub2e4.<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-.net---part-2\/\">2\ubd80\uc5d0\uc11c\ub294 \uc54c\uc544\uc57c \ud560 \uba87 \uac00\uc9c0 Couchbase \uc6a9\uc5b4\ub97c \ub2e4\ub8f9\ub2c8\ub2e4.<\/a><\/li>\n<\/ul>\n<p>\ucf54\ub4dc\ub97c \uc791\uc131\ud560 \uc900\ube44\uac00 \ub418\uc168\ub098\uc694? \uc774 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \uc0c8 ASP.NET MVC \ud504\ub85c\uc81d\ud2b8\ub97c \uc2dc\uc791\ud558\uace0, NuGet\uc744 \uc0ac\uc6a9\ud558\uc5ec Couchbase SDK\ub97c \ucd94\uac00\ud558\uace0, Couchbase \uc0ac\uc6a9\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\ub294 \uc778\ud504\ub77c\ub97c \uc900\ube44\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubc29\uae08 Visual Studio\uc5d0\uc11c \ud30c\uc77c-&gt; \uc0c8\ub85c \ub9cc\ub4e4\uae30\ub85c \uc2dc\uc791\ud558\uace0 ASP.NET \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc120\ud0dd\ud55c \ub2e4\uc74c \"MVC\"\ub97c \uc120\ud0dd\ud588\uc2b5\ub2c8\ub2e4. ASP.NET MVC\uc5d0 \uc5b4\ub290 \uc815\ub3c4 \uc775\uc219\ud558\ub2e4\uace0 \uac00\uc815\ud558\uaca0\uc9c0\ub9cc, \uc774\uc0c1\ud55c \uc810\uc774 \uc788\uc73c\uba74 \ub313\uae00\uc744 \ub0a8\uaca8 \uc8fc\uc138\uc694, <a href=\"https:\/\/twitter.com\/mgroves\">\ud2b8\uc704\ud130\uc5d0\uc11c \ub098\ub97c \ud551\ud558\uae30<\/a>\ub97c \ucc38\uc870\ud558\uac70\ub098 \uc800\uc5d0\uac8c \uc774\uba54\uc77c(matthew.groves AT couchbase DOT com)\ub85c \ubb38\uc758\ud558\uc138\uc694.<\/p>\n<h2>Couchbase \ud074\ub77c\uc774\uc5b8\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc124\uce58<\/h2>\n<p>\uac00\uc7a5 \uba3c\uc800 \ud574\uc57c \ud560 \uc77c\uc740 Couchbase .NET \ud074\ub77c\uc774\uc5b8\ud2b8\ub97c \ucd94\uac00\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. NuGet UI\uc5d0\uc11c \"\ucc38\uc870\"\ub97c \ub9c8\uc6b0\uc2a4 \uc624\ub978\ucabd \ubc84\ud2bc\uc73c\ub85c \ud074\ub9ad\ud558\uace0 \"\uad00\ub9ac NuGet \ud328\ud0a4\uc9c0\"\ub97c \ud074\ub9ad\ud55c \ub2e4\uc74c \"\ucc3e\uc544\ubcf4\uae30\"\ub97c \ud074\ub9ad\ud55c \ub2e4\uc74c \"CouchbaseNetClient\"\ub97c \uac80\uc0c9\ud558\uc5ec \uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. (\uc6d0\ud558\ub294 \uacbd\uc6b0 \"Linq2Couchbase\"\ub97c \ub300\uc2e0 \uac80\uc0c9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc124\uce58\ud558\uba74 CouchbaseNetClient\ub3c4 \uc124\uce58\ub418\uc9c0\ub9cc, \uc774\ud6c4 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uae4c\uc9c0\ub294 \uc2e4\uc81c\ub85c Linq2Couchbase\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc744 \uac83\uc785\ub2c8\ub2e4.)<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/nugetui_001.png\" alt=\"NuGet UI for installing CouchbaseNetClient\" \/><\/p>\n<p>NuGet \uba85\ub839\uc904\uc744 \uc120\ud638\ud558\ub294 \uacbd\uc6b0 \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790 \ucf58\uc194\uc744 \uc5f4\uace0 \ub2e4\uc74c\uc744 \uc785\ub825\ud569\ub2c8\ub2e4. <code>\uc124\uce58-\ud328\ud0a4\uc9c0 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\ub137\ud074\ub77c\uc774\uc5b8\ud2b8<\/code>.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/nugetpackagemanagerconsole_002.png\" alt=\"NuGet Package Manager Console for installing CouchbaseNetClient\" \/><\/p>\n<h2>ASP.NET \uc571\uc774 Couchbase \ud074\ub7ec\uc2a4\ud130\uc640 \ud1b5\uc2e0\ud558\ub3c4\ub85d \ud558\uae30<\/h2>\n<p>\uc774\uc81c Couchbase\uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc788\ub3c4\ub85d ASP.NET \uc571\uc744 \uc124\uc815\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uac00\uc7a5 \uba3c\uc800 \ud574\uc57c \ud560 \uc77c\uc740 Couchbase \ud074\ub7ec\uc2a4\ud130\ub97c \ucc3e\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud558\uae30\uc5d0 \uac00\uc7a5 \uc88b\uc740 \uc704\uce58\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc2dc\uc791\ub420 \ub54c Global.asax.cs\uc785\ub2c8\ub2e4. \ucd5c\uc18c\ud55c \ud074\ub7ec\uc2a4\ud130\uc5d0\uc11c \ud558\ub098\uc758 \ub178\ub4dc\ub97c \uc9c0\uc815\ud558\uace0, \uadf8 \ub178\ub4dc\ub97c <code>\ud074\ub7ec\uc2a4\ud130 \ub3c4\uc6b0\ubbf8<\/code>. \uc774 \uc791\uc5c5\uc740 \ub2e4\uc74c\uc5d0\uc11c \ud55c \ubc88\ub9cc \uc218\ud589\ud558\uba74 \ub429\ub2c8\ub2e4. <code>Application_Start<\/code>. \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc885\ub8cc\ub418\uba74, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc885\ub8cc\ud560 \ub54c <code>\ud074\ub7ec\uc2a4\ud130 \ub3c4\uc6b0\ubbf8<\/code> \ub97c \uc0ac\uc6a9\ud558\uc5ec \ud544\uc694\ud558\uc9c0 \uc54a\uc740 \ub9ac\uc18c\uc2a4\ub97c \uc815\ub9ac\ud558\uace0 \ud3d0\uae30\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<pre><code>public class MvcApplication : System.Web.HttpApplication\r\n{\r\n    protected void Application_Start()\r\n    {\r\n        AreaRegistration.RegisterAllAreas();\r\n        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);\r\n        RouteConfig.RegisterRoutes(RouteTable.Routes);\r\n\r\n        var config = new ClientConfiguration();\r\n        config.Servers = new List\r\n        {\r\n            new Uri(\"https:\/\/localhost:8091\")\r\n        };\r\n        config.UseSsl = false;\r\n        ClusterHelper.Initialize(config);\r\n    }\r\n\r\n    protected void Application_End()\r\n    {\r\n        ClusterHelper.Close();\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>\uba87 \uac00\uc9c0 \ucc38\uace0 \uc0ac\ud56d:<\/p>\n<ul>\n<li>\uc774 \ucf54\ub4dc\ub294 \ub85c\uceec \ucef4\ud4e8\ud130(localhost)\uc5d0\uc11c Couchbase \ub178\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4. \uadf8\ub807\uc9c0 \uc54a\uc740 \uacbd\uc6b0 localhost\ub85c \ub300\uccb4\ud558\uc138\uc694. \uc608\ub97c \ub4e4\uc5b4 \uc0ac\ubb34\uc2e4\uc758 \ub2e4\ub978 \ucef4\ud4e8\ud130\uc5d0\uc11c Couchbase \ub178\ub4dc\ub97c \uc2e4\ud589\ud558\uace0 \uc788\uc73c\ubbc0\ub85c \ub2e4\uc74c\uacfc \uac19\uc774 \ub300\uccb4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\uc0c8\ub85c\uc6b4 Uri(\"https:\/\/192.168.1.5\")<\/code>.<\/li>\n<li>\ub0b4 Couchbase \ub178\ub4dc\uc5d0\uc11c \uc2e4\ud589 \uc911\uc778 \uc778\uc99d\uc11c\uac00 \uc5c6\uae30 \ub54c\ubb38\uc5d0 UseSsl\uc774 false\ub85c \uc124\uc815\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc778\ud130\ub137\uc744 \ud1b5\ud574 Couchbase\uc5d0 \uc561\uc138\uc2a4\ud558\ub294 \uacbd\uc6b0 SSL\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub370\uc774\ud130 \ud2b8\ub798\ud53d\uc774 \ud22c\uba85\ud558\uac8c \uc804\uc1a1\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>IoC \ucee8\ud14c\uc774\ub108 \uc124\uc815<\/h2>\n<p>\ud074\ub7ec\uc2a4\ud130\ud5ec\ud37c\uac00 \ucd08\uae30\ud654\ub418\uba74 \uc774\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubc84\ud0b7\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc571\uc5d0\uc11c \uc885\uc18d\uc131\uc744 \uc5f0\uacb0\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc740 \uc5ec\ub7ec \uac00\uc9c0\uac00 \uc788\uc9c0\ub9cc \uc800\ub294 IoC \ucee8\ud14c\uc774\ub108\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4. .NET\uc5d0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 IoC \ub3c4\uad6c\ub294 \ub9ce\uc9c0\ub9cc \uc81c\uac00 \uac00\uc7a5 \uc88b\uc544\ud558\ub294 \ub3c4\uad6c\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/structuremap.github.io\/\">\uad6c\uc870\ub9f5<\/a>. StructureMap\uacfc MVC\ub97c \ud1b5\ud569\ud558\ub294 \ub610 \ub2e4\ub978 NuGet \ud328\ud0a4\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud558\uba74 MVC \ucee8\ud2b8\ub864\ub7ec \uac1d\uccb4\uac00 StructureMap\uc744 \ud1b5\ud574 \uc778\uc2a4\ud134\uc2a4\ud654\ub429\ub2c8\ub2e4. NuGet(UI \ub610\ub294 \ucf58\uc194)\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc124\uce58\ud569\ub2c8\ub2e4, <code>StructureMap.MVC5<\/code>.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/nugetpackagemanagerconsole2_002b.png\" alt=\"Installing StructureMap.MVC5 with NuGet\" \/><\/p>\n<p>\ud504\ub85c\uc81d\ud2b8\uc5d0 StructureMap\uacfc \ub2e4\ub978 \uc5ec\ub7ec \ud30c\uc77c\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4. \uadf8 \uc911 \ud558\ub098\ub294 \uae30\ubcf8 \uaddc\uce59\uc744 \uc0ac\uc6a9\ud558\ub3c4\ub85d StructureMap\uc744 \uc124\uc815\ud558\ub294 DefaultRegistry.cs\uc785\ub2c8\ub2e4.<\/p>\n<p>Couchbase\uc5d0\uc11c \ud574\uc57c \ud560 \uc77c\uc740 StructureMap\uc774 IBucket\uc758 \uc778\uc2a4\ud134\uc2a4\ub97c \uc81c\uacf5\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\ub2f9 \ub808\uc9c0\uc2a4\ud2b8\ub9ac\ub97c \uc218\uc815\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c IBucket\uc744 \uc0ac\uc6a9\ud558\uc5ec Couchbase \ubc84\ud0b7\uacfc \uc0c1\ud638 \uc791\uc6a9(\ubb38\uc11c \uac00\uc838\uc624\uae30, \ubb38\uc11c \ucd94\uac00, \ubb38\uc11c \uc5c5\ub370\uc774\ud2b8 \ub4f1)\ud569\ub2c8\ub2e4. \ub2e4\uc74c\uc740 IBucket \ub4f1\ub85d\uc744 \uc124\uc815\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4:<\/p>\n<pre><code> public class DefaultRegistry : Registry {\r\n    #region Constructors and Destructors\r\n\r\n    public DefaultRegistry() {\r\n        Scan(\r\n            scan =&gt; {\r\n                scan.TheCallingAssembly();\r\n                scan.WithDefaultConventions();\r\n                scan.With(new ControllerConvention());\r\n            });\r\n        \/\/ this next 'For' is what I've added for Couchbase\r\n        For().Singleton().Use(\"Get a Couchbase Bucket\",\r\n            x =&gt; ClusterHelper.GetBucket(\"hello-couchbase\", \"password!\"));\r\n    }\r\n\r\n    #endregion\r\n}\r\n<\/code><\/pre>\n<p>\uc774 \uc608\uc81c\uc5d0\uc11c\ub294<\/p>\n<ul>\n<li>\uc800\ub294 \ud074\ub7ec\uc2a4\ud130 \ub3c4\uc6b0\ubbf8\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud2b9\uc815 \ubc84\ud0b7\uc744 \uac00\uc838\uc624\uace0 \uc788\uc2b5\ub2c8\ub2e4(\uc800\ub294 'hello-couchbase'\ub77c\uace0 \ubd88\ub800\uc9c0\ub9cc \uc6d0\ud558\ub294 \ub300\ub85c \ubd88\ub7ec\ub3c4 \ub429\ub2c8\ub2e4). \uc774 \ubc84\ud0b7\uc774 Couchbase\uc5d0 \uc874\uc7ac\ud558\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4('default' \ub610\ub294 \uc608\uc81c \ubc84\ud0b7 \uc911 \ud558\ub098\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-.net---part-1\/\">\uc774 \ube14\ub85c\uadf8 \uc2dc\ub9ac\uc988\uc758 1\ubd80<\/a>).<\/li>\n<li>\ubc84\ud0b7\uc5d0 \ube44\ubc00\ubc88\ud638\ub97c \uc124\uc815\ud560 \ud544\uc694\ub294 \uc5c6\uc9c0\ub9cc, \ube44\ubc00\ubc88\ud638\ub97c \uc124\uc815\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/li>\n<li>IBucket \uc778\uc2a4\ud134\uc2a4\ub294 \uc5ec\ub7ec \uc778\uc2a4\ud134\uc2a4\ub97c \ubcf4\uc720\ud560 \uc774\uc720\uac00 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc2f1\uae00\ud1a4\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2>\ucee8\ud2b8\ub864\ub7ec\uc5d0\uc11c IBucket \uc0ac\uc6a9<\/h2>\n<p>\uc774\uac83\uc774 \uc791\ub3d9\ud55c\ub2e4\ub294 \uac83\uc744 \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 HomeController\uc640 \uac19\uc740 \ucee8\ud2b8\ub864\ub7ec\uc758 \uc0dd\uc131\uc790\uc5d0 IBucket\uc744 \ucd94\uac00\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uc774\ubbf8 \ucee8\ud2b8\ub864\ub7ec\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud558\ub3c4\ub85d StructureMap\uc774 \uc124\uc815\ub418\uc5b4 \uc788\uace0, IBucket\uc744 \uc778\uc2a4\ud134\uc2a4\ud654\ud558\ub294 \ubc29\ubc95\ub3c4 \uc774\ubbf8 \uc54c\ub824\ub4dc\ub838\uc2b5\ub2c8\ub2e4. (\uc7a5\uae30\uc801\uc73c\ub85c\ub294 \ucee8\ud2b8\ub864\ub7ec\uc5d0\uc11c \uc9c1\uc811 IBucket\uc744 \uc0ac\uc6a9\ud558\uace0 \uc2f6\uc9c0 \uc54a\uc744 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 \ub300\ud574\uc11c\ub294 \ud5a5\ud6c4 \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c \uc790\uc138\ud788 \uc124\uba85\ud569\ub2c8\ub2e4.)<\/p>\n<pre><code>public class HomeController : Controller\r\n{\r\n    private readonly IBucket _bucket;\r\n\r\n    public HomeController(IBucket bucket)\r\n    {\r\n        _bucket = bucket;\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>\uadf8\ub7f0 \ub2e4\uc74c, Couchbase \ucf58\uc194\uc5d0\uc11c \uc9c1\uc811 \ubc84\ud0b7\uc5d0 \ubb38\uc11c\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. \ubd80\uc5ec\ud55c \ud0a4\ub97c \uae30\ub85d\ud574 \ub450\uc138\uc694.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/couchbasecreatedocument_003.png\" alt=\"Specifying a key for a new document in Couchbase\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/couchbasecreatedocument_004.png\" alt=\"Creating a document in Couchbase\" \/><\/p>\n<p>\uc774\uc81c HomeController\uc5d0 \uc561\uc158\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4. \uc774\uac83\uc740 \ub370\ubaa8\ub97c \uc704\ud55c \uc77c\ud68c\uc6a9 \uc561\uc158\uc785\ub2c8\ub2e4. \ud0a4\ub97c \uae30\ubc18\uc73c\ub85c \ubb38\uc11c\ub97c \uac00\uc838\uc624\uace0 \uc751\ub2f5\uc5d0 \ubb38\uc11c \uac12\uc744 \uc4f0\ub294 \uac00\uc7a5 \uac04\ub2e8\ud55c \uc791\uc5c5\uc785\ub2c8\ub2e4.<\/p>\n<pre><code>    public ActionResult Index()\r\n    {\r\n        var doc = _bucket.Get(\"foo::123\");\r\n        return Content(\"Name: \" + doc.Value.name + \", Address: \" + doc.Value.address);\r\n    }\r\n<\/code><\/pre>\n<p><code>doc.Value<\/code> \uc720\ud615\uc740 <code>\ub3d9\uc801<\/code>\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c \uc0ac\uc6a9\ud558\ub294 \ud544\ub4dc(\uc81c \uacbd\uc6b0\uc5d0\ub294 \uc774\ub984\uacfc \uc8fc\uc18c)\uac00 \ubc84\ud0b7\uc5d0 \ub123\uc740 JSON \ubb38\uc11c\uc640 \uc77c\uce58\ud558\ub294\uc9c0 \ud655\uc778\ud558\uc138\uc694. \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c MVC \uc0ac\uc774\ud2b8\ub97c \uc2e4\ud589\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ud654\uba74\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/couchbaseaspnethelloworld_005b.png\" alt=\"Outputting the document values to a browser\" \/><\/p>\n<p>\ucd95\ud558\ud569\ub2c8\ub2e4, Couchbase\ub97c \uc0ac\uc6a9\ud558\ub294 ASP.NET \uc0ac\uc774\ud2b8\ub97c \uc131\uacf5\uc801\uc73c\ub85c \uc791\uc131\ud558\uc168\uc2b5\ub2c8\ub2e4. \uadf8\ub807\uac8c \uc5b4\ub835\uc9c0 \uc54a\uc558\ub098\uc694?<\/p>\n<h2>\uacb0\ub860<\/h2>\n<p>\uc9c0\uae08\uae4c\uc9c0 ASP.NET MVC\uc5d0\uc11c Couchbase\uc5d0 \uc5f0\uacb0\ud558\uace0 \uc0ac\uc6a9\ud558\ub294 \uc544\uc8fc \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc744 \ubcf4\uc5ec\ub4dc\ub838\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ub354 \ub9ce\uc740 \uac83\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c \ube14\ub85c\uadf8 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 Linq2Couchbase\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc5d4\ud2f0\ud2f0\uc778 \uc800\uc7a5\uc18c\ub97c \uad6c\ucd95\ud558\ub294 \ubc29\ubc95\uacfc \uc774 \uc800\uc7a5\uc18c\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\uc81c \uae30\ub2a5\uc744 \uac16\ucd98 \uc6f9 \uc0ac\uc774\ud2b8\ub97c \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4. \uc5b8\uc81c\ub098 \uadf8\ub807\ub4ef\uc774 \ub3c4\uc6c0\uc774 \ud544\uc694\ud558\uba74 \ub313\uae00\uc744 \ub0a8\uaca8 \uc8fc\uc138\uc694, <a href=\"https:\/\/twitter.com\/mgroves\">\ud2b8\uc704\ud130\uc5d0\uc11c \ub098\ub97c \ud551\ud558\uae30<\/a>\ub97c \ucc38\uc870\ud558\uac70\ub098 \uc774\uba54\uc77c(matthew.groves AT couchbase DOT com)\ub85c \ubb38\uc758\ud558\uc138\uc694.<\/p>","protected":false},"excerpt":{"rendered":"<p>This blog post is part 3 of a series: Part 1 covered how to install and setup Couchbase on Windows Part 2 covered some Couchbase lingo that you&#8217;ll need to know Are you ready to write some code? In this [&hellip;]<\/p>","protected":false},"author":71,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,10126,1816],"tags":[],"ppma_author":[8937],"class_list":["post-2259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-asp-dotnet","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase with Windows &amp; .NET \u2013 Part 3 - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase with Windows and .NET - Part 3 - ASP.NET MVC\" \/>\n<meta property=\"og:description\" content=\"This blog post is part 3 of a series: Part 1 covered how to install and setup Couchbase on Windows Part 2 covered some Couchbase lingo that you&#8217;ll need to know Are you ready to write some code? In this [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-13T14:14:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:09:51+00:00\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC\",\"datePublished\":\"2016-05-13T14:14:10+00:00\",\"dateModified\":\"2025-10-09T14:09:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\"},\"wordCount\":941,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\".NET\",\"ASP.NET\",\"Couchbase Server\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\",\"name\":\"Couchbase with Windows & .NET \u2013 Part 3 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-05-13T14:14:10+00:00\",\"dateModified\":\"2025-10-09T14:09:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase with Windows & .NET \u2013 Part 3 - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","og_locale":"ko_KR","og_type":"article","og_title":"Couchbase with Windows and .NET - Part 3 - ASP.NET MVC","og_description":"This blog post is part 3 of a series: Part 1 covered how to install and setup Couchbase on Windows Part 2 covered some Couchbase lingo that you&#8217;ll need to know Are you ready to write some code? In this [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-05-13T14:14:10+00:00","article_modified_time":"2025-10-09T14:09:51+00:00","author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC","datePublished":"2016-05-13T14:14:10+00:00","dateModified":"2025-10-09T14:09:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/"},"wordCount":941,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":[".NET","ASP.NET","Couchbase Server"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","name":"Couchbase with Windows & .NET \u2013 Part 3 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-05-13T14:14:10+00:00","dateModified":"2025-10-09T14:09:51+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58","name":"\ub9e4\ud29c \uadf8\ub85c\ube0c\uc2a4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4. C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4. 90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4. \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves\ub294 \ucf54\ub529\uc744 \uc88b\uc544\ud558\ub294 \uc0ac\ub78c\uc785\ub2c8\ub2e4.  C#, jQuery, PHP \ub4f1 \ubb34\uc5c7\uc774\ub4e0 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud560 \uc815\ub3c4\ub85c \ucf54\ub529\uc744 \uc88b\uc544\ud569\ub2c8\ub2e4.  90\ub144\ub300\uc5d0 \ubd80\ubaa8\ub2d8\uc758 \ud53c\uc790 \uac00\uac8c\ub97c \uc704\ud574 QuickBASIC POS \uc571\uc744 \ub9cc\ub4e0 \uc774\ud6c4\ub85c \uc804\ubb38\uc801\uc73c\ub85c \ucf54\ub529\uc744 \ud574\uc654\uc2b5\ub2c8\ub2e4.  \ud604\uc7ac Couchbase\uc758 \uc120\uc784 \uc81c\ud488 \ub9c8\ucf00\ud305 \uad00\ub9ac\uc790\ub85c \uc77c\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uac00 \uc2dc\uac04\uc5d0\ub294 \uac00\uc871\uacfc \ud568\uaed8 \ucd95\uad6c \uacbd\uae30\ub97c \uad00\ub78c\ud558\uace0 \uac1c\ubc1c\uc790 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ucc38\uc5ec\ud558\uba70 \uc2dc\uac04\uc744 \ubcf4\ub0c5\ub2c8\ub2e4.  \uadf8\ub294 .NET\uc758 AOP, .NET\uc758 \ud504\ub85c \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4, Pluralsight \uc800\uc790, Microsoft MVP\uc758 \uc800\uc790\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=2259"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/2259\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=2259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=2259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=2259"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=2259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}