{"id":7109,"date":"2019-06-18T16:09:13","date_gmt":"2019-06-18T23:09:13","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7109"},"modified":"2025-06-13T21:10:55","modified_gmt":"2025-06-14T04:10:55","slug":"the-sprouts-of-sdk-3","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/the-sprouts-of-sdk-3\/","title":{"rendered":"\"SDK 3\"\uc758 \uc0c8\uc2f9\ub4e4"},"content":{"rendered":"<p>\uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 \uc0b4\uc544 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ub9d0\uc740 \ub54c\ub54c\ub85c \ud2b9\uc815 \uc0c1\ud0dc\uac00 \ub418\uc5b4 \uc0ac\uc6a9\uc790\ub97c \uad34\ub86d\ud788\ub294 \ubd80\ubd84\uc744 \ub9d0\ud558\ub294 \uac83\uc774 \uc544\ub2d9\ub2c8\ub2e4. \uc774\ub294 \uc544\ub9c8\ub3c4 \uc5b4\ub518\uac00\uc758 \ubc84\uadf8\ub85c \uc124\uba85\ud560 \uc218 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc0b4\uc544 \uc788\ub2e4\ub294 \uac83\uc740 \uc0ac\ub791\ubc1b\uace0 \uc798 \uc0ac\uc6a9\ub418\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 \uc790\uadf9\uc5d0 \ubc18\uc751\ud558\uc5ec \ub04a\uc784\uc5c6\uc774 \uc131\uc7a5\ud558\uace0 \ubcc0\ud654\ud55c\ub2e4\ub294 \uc0ac\uc2e4\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \ud658\uacbd\uc774 \ubcc0\ud558\uba74 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub3c4 \ubcc0\ud569\ub2c8\ub2e4. \ubaa9\ud45c\uac00 \ubc14\ub00c\uba74 \ud655\uc7a5\ub429\ub2c8\ub2e4. \uc774\uc5d0 \ucda9\uc2e4\ud558\uc9c0 \ubabb\ud55c \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc138\uacc4\uc5d0\uc11c \uc6d0\uce58 \uc54a\ub294 \uc0c8\ub85c\uc6b4 \ubcc4\uba85\uc744 \uc5bb\uac8c \ub429\ub2c8\ub2e4: <strong>\ub808\uac70\uc2dc<\/strong>.<\/p>\n<p>\ube44\uc720\ub97c \uc880 \ub354 \ud655\uc7a5\ud558\uba74 \ub3d9\uc2dd\ubb3c\uc5d0 \ub300\ud574 \uc774\uc57c\uae30\ud558\ub294 \uac74\uac00\uc694, \uc544\ub2c8\uba74 \ub3d9\ubb3c\uc5d0 \ub300\ud574 \uc774\uc57c\uae30\ud558\ub294 \uac74\uac00\uc694? \ub2f9\uc5f0\ud788 \ub3d9\uc2dd\ubb3c\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc2dd\ubb3c\uc740 \uacc4\uc808\uc774 \ubc14\ub00c\uace0 \ud658\uacbd\uc774 \ubcc0\ud654\ud568\uc5d0 \ub530\ub77c \uc8fc\ubcc0 \ub3d9\uc2dd\ubb3c \ub4f1\uc744 \uc774\uc6a9\ud558\uae30 \uc704\ud574 \uc801\uc751\ud569\ub2c8\ub2e4. \uc2e4\uc81c\ub85c \uc0dd\uc874\uc790\ub4e4\uc740 \ubc8c\ub808\uc758 \uacf5\uaca9\uc5d0\ub3c4 \ub300\uc751\ud569\ub2c8\ub2e4.<\/p>\n<h2>\uc0c8\ub85c\uc6b4 \uae30\ub2a5\uc744 \uc704\ud55c \uc131\uc7a5<\/h2>\n<p>\uba3c\uc800, \uc5ec\uae30\uc11c \ub9d0\ud558\ub294 \uac83\uc740 \uad00\ub828 \ub530\uc634\ud45c\uc640 \ud568\uaed8 \"SDK 3\"\uc774\ub77c\ub294 \uc810\uc744 \uac04\ub2e8\ud788 \uc5b8\uae09\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc2e4\uc81c\ub85c\ub294 \ubaa8\ub4e0 Couchbase Server SDK\ub97c \uc778\uc704\uc801\uc73c\ub85c \uacf5\ud1b5 \ubc84\uc804 \ubc88\ud638\uc5d0 \ubb36\uc73c\ub824 \ud558\uc9c0 \uc54a\uace0 <a href=\"https:\/\/semver.org\/\">\uc0ac\uc2e4\uc0c1\uc758 \uc2dc\ub9e8\ud2f1 \ubc84\uc804 \uad00\ub9ac \ud45c\uc900<\/a>. \ub530\ub77c\uc11c \ud2b9\uc815 \ud50c\ub7ab\ud3fc\uc758 \uae30\ub2a5\uc744 \uc5c5\ub370\uc774\ud2b8\ud560 \ub54c\ub294 \ubd80 \ubc84\uc804\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\uace0, \uc0c8\ub85c\uc6b4 \ud50c\ub7ab\ud3fc\uc744 \ub3c4\uc785\ud560 \ub54c\ub294 1.0\ubd80\ud130 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub807\ub2e4\uba74 'SDK 3'\ub294 \ubb34\uc5c7\uc744 \uc758\ubbf8\ud560\uae4c\uc694? \ud50c\ub7ab\ud3fc \uad00\uc6a9\uad6c\ub97c \uc874\uc911\ud558\uc5ec \uc8fc\uc694 \uc0c8 \uae30\ub2a5\uc744 \ub3c4\uc785\ud558\uace0 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud50c\ub7ab\ud3fc\uc5d0 \ub9de\uac8c \ucd5c\uc2e0\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ud558\ub294 SDK\uc5d0 \uacf5\ud1b5\ub41c \uae30\ub2a5 \uc9d1\ud569\uc5d0 \ubd80\uc5ec\ud558\ub294 \uc774\ub984\uc785\ub2c8\ub2e4.  \uc774\ub294 \uc26c\uc6b4 \uc77c\uc774 \uc544\ub2d9\ub2c8\ub2e4!<\/p>\n<p>\uc740\uc720\uc801\uc73c\ub85c \ub9d0\ud558\uba74, \uc774\uc804 \uc138\ub300\uc5d0 \ube44\ud574 \ub3cc\uc5f0\ubcc0\uc774\ub97c \uc77c\uc73c\ucf1c \uc0c8\ub85c\uc6b4 \ud658\uacbd\uc5d0\uc11c \ubc88\uc131\ud560 \uc218 \uc788\ub294 \uc2dd\ubb3c\uc774\ub77c\uace0 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub807\uac8c \ubcc0\ud615\uc744 \ud544\uc694\ub85c \ud558\ub294 \ud658\uacbd\uc5d0\ub294 \uc5b4\ub5a4 \ubcc0\ud654\uac00 \uc788\uc5c8\ub098\uc694?<\/p>\n<p>\uccab \ubc88\uc9f8 Node.JS SDK\ub97c \ucd9c\uc2dc\ud588\uc744 \ub54c\ub294 \ud504\ub85c\ubbf8\uc2a4 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc558\uace0 \ube44\ub3d9\uae30 \ub300\uae30 \ubc29\uc2dd\uc73c\ub85c\uc758 \uc804\ud658\uc774 \uc2dc\uc791\ub418\uc9c0\ub3c4 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uc774 SDK\ub97c \ub354 \uc27d\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc2dc\uadf8\ub2c8\ucc98\uc5d0 \uba87 \uac00\uc9c0 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc801\uc6a9\ud588\uc2b5\ub2c8\ub2e4. Couchbase\ub294 Java\ub97c \ud1b5\ud574 \ubc18\uc751\ud615 \ud504\ub85c\uadf8\ub798\ubc0d \ubaa8\ub378\uc744 \ucc44\ud0dd\ud558\ub294 \ub370 \uc55e\uc7a5\uc11c \uc654\uc2b5\ub2c8\ub2e4. \uc6b0\ub9ac\ub294 RxJava\ub97c \uc77c\ucc0d \ub3c4\uc785\ud588\uace0, \uc6b0\ub9ac \uc8fc\ubcc0\uc758 \ubbf8\uc2dc\uc801 \ud658\uacbd\uc774 \ubc18\uc751\ud615 \uc2a4\ud2b8\ub9bc\uacfc \ud504\ub85c\uc81d\ud2b8 \ub9ac\uc561\ud130\uc5d0 \ub354 \uc720\ub9ac\ud588\uc2b5\ub2c8\ub2e4. .NET\uc758 \uacbd\uc6b0 .NET Core\ub85c \ube60\ub974\uac8c \ud3ec\ud305\ud558\uace0 \ucd5c\uc2e0 \ube44\ub3d9\uae30 \ub300\uae30 \uae30\ub2a5\uc744 \ucd94\uac00\ud588\uc9c0\ub9cc, \uc57d\uac04\uc758 \uc815\ub9ac\uc640 \uc7ac\uad6c\uc131\uc744 \ud1b5\ud574 \ub354 \ub9e4\ub825\uc801\uc778 \ud50c\ub79c\ud2b8\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubaa9\ub85d\uc740 \uc2e4\uc81c\ub85c \uacc4\uc18d\ub429\ub2c8\ub2e4: \ud30c\uc774\uc36c 3, \uc2a4\uce7c\ub77c\uc758 \uc778\uae30 \uc0c1\uc2b9, \uc8fc\uc694 \ub9b4\ub9ac\uc2a4\uac00 \ucd9c\uc2dc\ub41c PHP \ub4f1 \ub2e4\uc591\ud55c \ubaa9\ub85d\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\uce90\ub178\ud53c\uc758 \uc131\uc7a5<\/h2>\n<p>\"SDK 3\"\uc758 \uc131\uc7a5\uc740 SDK \uc81c\ud488\uad70\uc5d0\ub9cc \uc801\uc6a9\ub418\ub294 \uac83\uc774 \uc544\ub2d9\ub2c8\ub2e4. \uc55e\uc73c\ub85c \uba87 \uc8fc \uc548\uc5d0 Couchbase Server \uae30\ub2a5 \uc601\uc5ed\uc5d0\uc11c\ub3c4 \uc57d\uac04\uc758 \uc131\uc7a5\uc774 \uc788\uc744 \uac83\uc785\ub2c8\ub2e4. \uac70\uae30\uc5d0\uc11c \ubcf4\uac8c \ub420 \ub9ce\uc740 \uae30\ub2a5\uc744 \ubbf8\ub9ac \uc54c\ub824\ub4dc\ub9ac\uace0 \uc2f6\uc9c0\ub294 \uc54a\uc9c0\ub9cc, \ud55c \uac00\uc9c0 \ub208\uc5d0 \ub744\ub294 \uac83\uc740 \uceec\ub809\uc158\uc758 \ubbf8\ub9ac\ubcf4\uae30 \uae30\ub2a5 \uc9c0\uc6d0\uc785\ub2c8\ub2e4. \uc774\uc804 \ub9b4\ub9ac\uc2a4\uc640\uc758 \ud638\ud658\uc131\uc744 \ubcf4\uc7a5\ud558\uae30 \uc704\ud574 \uc774\ub7ec\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud588\uc73c\ubbc0\ub85c, \uc131\uc219\ud574\uc9c4 \uc131\uc7a5\uacfc \ud568\uaed8 \uc774 \uc0c8\ub85c\uc6b4 \uc791\ubb3c \uc911 \ud558\ub098\ub97c \uacc4\uc18d \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc0c8\ub85c\uc6b4 \ucd2c\uc601\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uace7 \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8\uc5d0\uc11c \ub2e4\uc2dc \ud655\uc778\ud558\uc138\uc694...<\/p>\n<h2>\ud6a8\uc728\uc131\uc744 \uc704\ud55c \ud2b8\ub9ac\ubc0d<\/h2>\n<p>\ub0a8\uc740 \uc5f4\ub9e4\ub97c \ub354 \ub9db\uc788\uac8c \uc218\ud655\ud558\uae30 \uc704\ud574 \uc5f4\ub9e4\ub97c \uc18e\uc544\ub0b4\ub294 \uac83\ucc98\ub7fc, \uc0c8\uc2f9\uc774 \uc0dd\uae38 \uac00\ub2a5\uc131\uc774 \uc801\uc740 \uba87 \uac00\uc9c0\ub97c \uc81c\uac70\ud588\uc2b5\ub2c8\ub2e4. \uc989, \uc55e\uc73c\ub85c\ub294 \uc774\uc804 \ubc84\uc804\uc758 PHP 5\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uace0 Python 3\ub9cc \uc9c0\uc6d0\ud558\uba70 \uc77c\ubd80 \uc774\uc804 Linux \ud50c\ub7ab\ud3fc\uc740 \uc81c\uac70\ud560 \uc608\uc815\uc785\ub2c8\ub2e4. Java\uc758 \uacbd\uc6b0, \uc774\ub294 Java 8 \uc774\ud6c4 \ubc84\uc804\ub9cc \uc9c0\uc6d0\ud55c\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4. \ud638\ud658\uc131\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ubb38\uc11c\ub97c \ucc38\uc870\ud558\uc2dc\uae30 \ubc14\ub77c\uba70, \uac1c\uc120\uc774 \ud544\uc694\ud55c \uc0ac\ud56d\uc5d0 \ub300\ud55c \ud53c\ub4dc\ubc31\ub3c4 \uc5b8\uc81c\ub4e0\uc9c0 \ud658\uc601\ud569\ub2c8\ub2e4.<\/p>\n<h2>\uc6d0\uce58 \uc54a\ub294 \ud574\ucda9<\/h2>\n<p>\uc720\uc9c0 \uad00\ub9ac \ub9b4\ub9ac\uc2a4\uac00 \ub9e4\uc6b0 \ub9ce\uc558\uae30 \ub54c\ubb38\uc5d0 \ub2e4\uc74c \uc8fc\uc694 \ub9b4\ub9ac\uc2a4\uc5d0 \ubc18\uc601\ud560 \ubc84\uadf8\ub294 \ub9ce\uc9c0 \uc54a\uc558\uc9c0\ub9cc, API\ub97c \uae68\uc9c0 \uc54a\uace0\ub294 \uc218\uc815\ud560 \uc218 \uc5c6\ub294 \ubc84\uadf8\uac00 \uba87 \uac00\uc9c0 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uac00\uc7a5 \ub9c8\uc74c\uc5d0 \ub4dc\ub294 \ubc84\uadf8\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Year_2038_problem\">SDK Java\uc758 2038\ub144 \ubc84\uadf8<\/a>. 2038\ub144 1\uc6d4 19\uc77c\uc774 \ub2e4\uac00\uc634\uc5d0 \ub530\ub77c Couchbase Java SDK 2.x\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0, \uc571\uc774 \ucda9\ubd84\ud55c \uc218\uba85\uc744 \uac00\uc9c4 TTL\uc744 \ud45c\ud604\ud560 \uc218 \uc5c6\uc5b4 \uc911\ub2e8\ub420 \uc218 \uc788\uc74c\uc744 \ubbf8\ub9ac \uc54c\ub824\ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n<p>\uc870\uae08 \ub354 \ubbf8\ubb18\ud55c \ubd80\ubd84\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc5c6\ub294 \uacbd\uc6b0 <a href=\"https:\/\/martinfowler.com\/bliki\/CircuitBreaker.html\">\ud68c\ub85c \ucc28\ub2e8\uae30<\/a> \ub97c \uc77c\ubd80 SDK\uc5d0\uc11c \uc9c1\uc811 \ucc98\ub9ac\ud558\uc9c0 \uc54a\uc558\uae30 \ub54c\ubb38\uc5d0 \uc571 \uac1c\ubc1c\uc790\uac00 \ub354 \ub192\uc740 \uc218\uc900\uc5d0\uc11c \ucc98\ub9ac\ud574\uc57c \ud588\uc2b5\ub2c8\ub2e4. \uc544\uc9c1 \ubaa8\ub4e0 \uc54c\ud30c \ub9b4\ub9ac\uc2a4\uc5d0 \uc801\uc6a9\ub418\uc9c0\ub294 \uc54a\uc558\uc9c0\ub9cc, \uc774\uc81c \uc801\uc808\ud55c \uacf3\uc5d0 \uc774 \uae30\ub2a5\uc744 \ucd94\uac00\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>\ubc31\ub9cc \uc1a1\uc774\uc758 \uaf43\uc744 \ud53c\uc6b0\ub2e4<\/h2>\n<p>\uc77c\ubd80 \uc54c\ud30c \ub9b4\ub9ac\uc2a4\uc5d0 \ub300\ud55c \ud2b9\uc815 \ube14\ub85c\uadf8\ub97c \ud655\uc778\ud558\uc2dc\uace0 \ud53c\ub4dc\ubc31\uc744 \ubcf4\ub0b4\uc8fc\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4. The <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/a> \ub294 \ud53c\ub4dc\ubc31\uc744 \uc804\ub2ec\ud558\uae30\uc5d0 \uac00\uc7a5 \uc88b\uc740 \uc601\uc5ed\uc774\uc9c0\ub9cc, \ud56d\uc0c1 \uac10\uc0ac\ud558\uac8c\ub3c4 <a href=\"https:\/\/issues.couchbase.com\">\uc81c\uae30\ub41c \ubb38\uc81c\ub3c4<\/a> \ud480 \ub9ac\ud018\uc2a4\ud2b8\uc5d0 \ub300\ud574 \uae30\uaebc\uc774 \ud611\uc5c5\ud574 \ub4dc\ub9ac\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc81c\ud504 \ubaa8\ub9ac\uc2a4\ub294 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-the-couchbase-net-sdk-3-0-alpha-releases\/\">.NET Alpha\uc758 \ube14\ub85c\uadf8<\/a>\uc5d0\uc11c \ubc84\uc804 \uad00\ub9ac\uc640 \ubc94\uc704\/\uceec\ub809\uc158\uc5d0 \ub300\ud574 \uc880 \ub354 \uc790\uc138\ud788 \uc124\uba85\ud569\ub2c8\ub2e4. \ub9c8\uc774\ud074 \ub2c8\uce6d\uac70\uac00 \ud6c4\uc18d\uc73c\ub85c <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-the-couchbase-java-sdk-3-0-alpha\/\">Java 3.0 \uc54c\ud30c\uc5d0 \ub300\ud55c \ube14\ub85c\uadf8\uc5d0\uc11c \ud06c\ub85c\uc2a4 SDK API \uc138\ubd80 \uc815\ubcf4\ub97c \ud655\uc778\ud558\uc138\uc694.<\/a>. \ube0c\ub81b \ub85c\uc2a8\uc774 \uc5b4\ub5bb\uac8c \uc774\ub7f0 \uc77c\uc774 \uac00\ub2a5\ud55c\uc9c0 \uc774\uc57c\uae30\ud569\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-couchbase-go-sdk-2-0-alpha\/\">\ub294 \ud504\ub85c\ubbf8\uc2a4\uc640 ECMAScript6\uc744 \uc0ac\uc6a9\ud558\ub294 Node.JS \uac1c\ubc1c\uc790\uc5d0\uac8c \uc801\uc6a9\ub429\ub2c8\ub2e4.<\/a>. \ucc30\uc2a4 \ub515\uc2a8\uc740 \uac70\uae30\uc11c\ubd80\ud130 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-couchbase-go-sdk-2-0-alpha\/\">Go SDK 2.0 \uc54c\ud30c<\/a> (\uc758\ub3c4\uc801\uc778 \uc624\ud504-\ubc14\uc774-\uc6d0 \ubc84\uadf8). \uadf8\ub9ac\uace0 \uccab \ubc88\uc9f8 \ube14\ub85c\uadf8\uc5d0\uc11c Ellis Breen\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/introducing-couchbase-python-client-3-0-alpha\/\">\uad11\uc804\uc9c0\ub294 \ud30c\uc774\uc36c 3.0 \uc54c\ud30c \ud3ec\ud568<\/a> \uadf8\ub808\uc774\uc5c4 \ud53c\ud50c <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-scala-sdk\/\">\ud765\ubbf8\ub85c\uc6b4 \uc0c8\ub85c\uc6b4 Scala SDK \uc54c\ud30c 1.0\uc744 \uc18c\uac1c\ud569\ub2c8\ub2e4.<\/a> (\ud558\ub098\uc758 \ubc84\uadf8\uc5d0 \uc758\ud574 \ub450 \uac1c\uc758 \ubc84\uadf8\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4!).<\/p>\n<p>\uc774 \ubaa8\ub4e0 \uac83 \uc678\uc5d0\ub3c4 \uc77c\ubc18\uc801\uc778 \uc704\uce58\uc5d0 PHP\uc640 libcouchbase\uc758 \uc54c\ud30c, PECL \ubc0f \ub2e4\uc6b4\ub85c\ub4dc \ub9c1\ud06c \ub4f1\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<hr \/>\n<p>\uc0ac\uc9c4 \uc6d0\ubcf8 \ucd9c\ucc98 \uc81c\uacf5 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Sequoia_sempervirens#\/media\/File:Trees_and_sunshine.JPG\">\uc704\ud0a4\ud53c\ub514\uc544 \uc774\ubbf8\uc9c0<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Software is alive. By that, I am not referring to the part where it can occasionally vex you in how it gets into a certain state. That is probably explainable by a bug somewhere. By alive I am referring to [&hellip;]<\/p>","protected":false},"author":41,"featured_media":7111,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1818,1822,9139,2201],"tags":[],"ppma_author":[8993],"class_list":["post-7109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-java","category-node-js","category-python","category-tools-sdks"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Sprouts of &quot;SDK 3&quot; - 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\/the-sprouts-of-sdk-3\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Sprouts of &quot;SDK 3&quot;\" \/>\n<meta property=\"og:description\" content=\"Software is alive. By that, I am not referring to the part where it can occasionally vex you in how it gets into a certain state. That is probably explainable by a bug somewhere. By alive I am referring to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/the-sprouts-of-sdk-3\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-18T23:09:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:10:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image-1024x295.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"295\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ingenthr\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/\"},\"author\":{\"name\":\"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/35e939d9fe3dfb1a06f1714ee54bb098\"},\"headline\":\"The Sprouts of &#8220;SDK 3&#8221;\",\"datePublished\":\"2019-06-18T23:09:13+00:00\",\"dateModified\":\"2025-06-14T04:10:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/\"},\"wordCount\":891,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png\",\"articleSection\":[\".NET\",\"Java\",\"Node.js\",\"Python\",\"Tools &amp; SDKs\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/\",\"name\":\"The Sprouts of \\\"SDK 3\\\" - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png\",\"datePublished\":\"2019-06-18T23:09:13+00:00\",\"dateModified\":\"2025-06-14T04:10:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png\",\"width\":2048,\"height\":589},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Sprouts of &#8220;SDK 3&#8221;\"}]},{\"@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\/35e939d9fe3dfb1a06f1714ee54bb098\",\"name\":\"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/e8b5b257dfa7206fd7c2a5d628fc580b\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fd6787feb079d2c67a3835a47901bbb9c03b8921abced82a2a1f6975816df2ad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fd6787feb079d2c67a3835a47901bbb9c03b8921abced82a2a1f6975816df2ad?s=96&d=mm&r=g\",\"caption\":\"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase\"},\"description\":\"Matt Ingenthron is the Senior Director in Engineering at Couchbase where he focuses on the developer interface across SDKs, connectors and other projects. He has been a contributor to the memcached project, one of the maintainers of the Java spymemcached client, and a core developer on Couchbase.\",\"sameAs\":[\"https:\/\/x.com\/ingenthr\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/matt-ingenthron\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Sprouts of \"SDK 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\/the-sprouts-of-sdk-3\/","og_locale":"ko_KR","og_type":"article","og_title":"The Sprouts of \"SDK 3\"","og_description":"Software is alive. By that, I am not referring to the part where it can occasionally vex you in how it gets into a certain state. That is probably explainable by a bug somewhere. By alive I am referring to [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/the-sprouts-of-sdk-3\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-06-18T23:09:13+00:00","article_modified_time":"2025-06-14T04:10:55+00:00","og_image":[{"width":1024,"height":295,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image-1024x295.png","type":"image\/png"}],"author":"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@ingenthr","twitter_misc":{"Written by":"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase","Est. reading time":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/"},"author":{"name":"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/35e939d9fe3dfb1a06f1714ee54bb098"},"headline":"The Sprouts of &#8220;SDK 3&#8221;","datePublished":"2019-06-18T23:09:13+00:00","dateModified":"2025-06-14T04:10:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/"},"wordCount":891,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png","articleSection":[".NET","Java","Node.js","Python","Tools &amp; SDKs"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/","url":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/","name":"The Sprouts of \"SDK 3\" - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png","datePublished":"2019-06-18T23:09:13+00:00","dateModified":"2025-06-14T04:10:55+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/06\/Couchbase-Flora-Blog-Image.png","width":2048,"height":589},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/the-sprouts-of-sdk-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Sprouts of &#8220;SDK 3&#8221;"}]},{"@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\/35e939d9fe3dfb1a06f1714ee54bb098","name":"\ub9e4\ud2b8 \uc778\uc820\ud2b8\ub860, SDK \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \ubd80\ubb38 \uc120\uc784 \uc774\uc0ac, Couchbase","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/e8b5b257dfa7206fd7c2a5d628fc580b","url":"https:\/\/secure.gravatar.com\/avatar\/fd6787feb079d2c67a3835a47901bbb9c03b8921abced82a2a1f6975816df2ad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fd6787feb079d2c67a3835a47901bbb9c03b8921abced82a2a1f6975816df2ad?s=96&d=mm&r=g","caption":"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase"},"description":"Matt Ingenthron is the Senior Director in Engineering at Couchbase where he focuses on the developer interface across SDKs, connectors and other projects. He has been a contributor to the memcached project, one of the maintainers of the Java spymemcached client, and a core developer on Couchbase.","sameAs":["https:\/\/x.com\/ingenthr"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/matt-ingenthron\/"}]}},"authors":[{"term_id":8993,"user_id":41,"is_guest":0,"slug":"matt-ingenthron","display_name":"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/fd6787feb079d2c67a3835a47901bbb9c03b8921abced82a2a1f6975816df2ad?s=96&d=mm&r=g","first_name":"Matt","last_name":"Ingenthron","user_url":"","author_category":"","description":"\ub9e4\ud2b8 \uc778\uc820\ud2b8\ub860\uc740 Couchbase\uc758 \uc5d4\uc9c0\ub2c8\uc5b4\ub9c1 \uc2dc\ub2c8\uc5b4 \ub514\ub809\ud130\ub85c SDK, \ucee4\ub125\ud130 \ubc0f \uae30\ud0c0 \ud504\ub85c\uc81d\ud2b8 \uc804\ubc18\uc758 \uac1c\ubc1c\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \uc9d1\uc911\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.  \uadf8\ub294 \uba64\uce90\uc2dc\ub4dc \ud504\ub85c\uc81d\ud2b8\uc758 \uae30\uc5ec\uc790\uc774\uc790 Java spymcached \ud074\ub77c\uc774\uc5b8\ud2b8\uc758 \uc720\uc9c0\uad00\ub9ac\uc790 \uc911 \ud55c \uba85\uc774\uba70 Couchbase\uc758 \ud575\uc2ec \uac1c\ubc1c\uc790\uc785\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/7109","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\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=7109"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/7109\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/7111"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=7109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=7109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=7109"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=7109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}