{"id":491,"date":"2022-04-27T15:06:56","date_gmt":"2022-04-27T06:06:56","guid":{"rendered":"https:\/\/blog.daymore.com\/?p=491"},"modified":"2022-04-29T10:27:40","modified_gmt":"2022-04-29T01:27:40","slug":"swift-operationqueue-%ec%82%ac%ec%9a%a9%ed%95%b4-%eb%b3%b4%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/blog.daymore.com\/?p=491","title":{"rendered":"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30"},"content":{"rendered":"\n<p>\uc5b4\ub5a4 \uc6b4\uc601\uccb4\uc81c\ub77c\ub3c4 \uc2a4\ub808\ub4dc \uad00\ub828 \uc0ac\ud56d\uc740 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4. iOS \uc5d0\uc11c\ub294 \uc9c1\uc811 \uc2a4\ub808\ub4dc\ub97c \uc0dd\uc131\ud558\uae30 \ubcf4\ub2e4\ub294 \ud050\uc5d0 \uc791\uc5c5\uc744 \ub123\uc73c\uba74 \uc784\uc758\uc758 \uc2a4\ub808\ub4dc\ub4e4\uc774 \uc791\uc5c5\ud558\uac8c \ub418\ub294 \ubc29\uc2dd\uc774 \uc8fc\ub85c \uc0ac\uc6a9\ub41c\ub2e4. \uba54\uc778\ud050\uc5d0 \ub123\uc73c\uba74 \uba54\uc778\uc2a4\ub808\ub4dc\uc5d0\uc11c\ub9cc \uc791\uc5c5\uc774 \ub41c\ub2e4. \ud050\uc5d0 \ub123\uc5b4\uc9c4 \uc791\uc5c5\uc740 \uc2dc\uc2a4\ud15c\uc774 \uc81c\uacf5\ud558\ub294 \uc784\uc758\uc758 \uc2a4\ub808\ub4dc\uc5d0\uc11c \uc2e4\ud589 \ub418\uace0 \ud2b9\uc815 \uc2a4\ub808\ub4dc\uc5d0\uc11c\ub9cc \uc2e4\ud589\ub418\ub3c4\ub85d \ud558\ub824\uba74 \uc2a4\ub808\ub4dc\ub97c \uc0dd\uc131\ud574\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<p>iOS \uc5d0\uc11c \uc81c\uacf5\ud558\ub294 OperationQueue \uc640 DispatchQueue \ub294 \ube44\uc2b7\ud558\uc9c0\ub9cc OperationQueue\uc5d0\uc11c \uc880 \ub354 \uc138\ubc00\ud55c \ucc98\ub9ac\uac00 \uac00\ub2a5\ud558\ub2e4. \ub2e4\uc74c\uc740 OperationQueue, DispatchQueue \uc0ac\uc6a9 \uc608\uc2dc\uc774\ub2e4. <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/\nlet dq = DispatchQueue(label: \"dq\")\ndq.async {\n    print(\"working with dispatch queue\")\n}\nDispatchQueue.global().async {\n    print(\"working with dispatch queue\")\n}\n\n\/\/ \nlet oq = OperationQueue()\noq.addOperation {\n    print(\"working with operation queue\")\n}<\/pre>\n\n\n\n<p>OperationQueue \ubcf4\ub2e4 \uc0ac\uc6a9\uc774 \ud3b8\ub9ac\ud558\uace0 \uc774\ud574\ud558\uae30 \uc26c\uc6b4 DispatchQueue \uac00 \ub9ce\uc774 \uc0ac\uc6a9\ub418\uc9c0\ub9cc OperationQueue\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4.<br><br>1. \ud050\uc5d0\uc11c \ub3d9\uc2dc\uc5d0 \ucc98\ub9ac\ub418\ub294 \uc791\uc5c5\uc758 \uac2f\uc218\ub97c \uc815\ud574\uc57c \ud560 \ub54c<br>2. \ud050\uc5d0 \ub123\uc5b4\uc9c4 \uc791\uc5c5\uc744 \uc911\uc9c0, \ucde8\uc18c, \uc7ac\uac1c\ud574\uc57c \ud560 \ub54c (DispatchWorkItem \ucde8\uc18c\ub294 \uac00\ub2a5\ud568)<\/p>\n\n\n\n<p>\ub0b4\uac00 \uc791\uc5c5\ud574 \ubcf8 \uacbd\ud5d8\uc5d0 \uc758\ud574 \uadf8\ub9ac \ud754\ud558\uc9c0\ub294 \uc54a\uc9c0\ub9cc \uc704 2\uac00\uc9c0\ub97c \uc815\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\uac00 \uc788\uc5c8\ub2e4. <br>\uc608\ub97c \ub4e4\uc5b4\uc11c \ube60\ub974\uac8c \uc2a4\ud06c\ub864 \ub418\ub294 \ud654\uba74\uc5d0 \ud45c\uc2dc\ub418\ub294 \ub370\uc774\ud130\ub97c \uc571 \ub514\ube44\ub85c \ubd80\ud130 \uc77d\uc5b4\uc640\uc11c \ud45c\uc2dc\ub418\ub294 \uacbd\uc6b0 \uc774\ubbf8 \uc2a4\ud06c\ub864 \ub118\uc5b4\uac04 \uad6c\uac04\uc758 \uc791\uc5c5\uc740 \ucde8\uc18c\ud560 \ud544\uc694\uac00 \uc788\ub2e4. <\/p>\n\n\n\n<p>\ub2e4\uc74c\uc740 \uc57d\uac04\uc758 \uad6c\uccb4\uc801\uc778 OperationQueue \uc0ac\uc6a9 \uc608\uc774\ub2e4.<br>\ud050\uc5d0\uc11c \ub3d9\uc2dc\uc5d0 \ucc98\ub9ac\ub418\ub294 \uc791\uc5c5\uc758 \uac2f\uc218\ub97c 1\ub85c \ud588\uace0 (\ub514\ud3f4\ud2b8\ub294 -1\uac12\uc73c\ub85c \ub3d9\uc2dc\uc5d0 \ucc98\ub9ac\ub418\ub294 \uc791\uc5c5\uc758 \uac2f\uc218 \uc81c\ud55c\uc774 \uc5c6\ub2e4) \uc784\uc758\uc758 \uc791\uc5c5\uc744 \ucde8\uc18c \ucc98\ub9ac\ud558\uc600\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">let queue = OperationQueue()\nwork()\n\nclass CustomOperation: Operation {\n    var index: Int = 0\n    \n    init(index: Int) {\n        self.index = index\n    }\n    \n    override func main() {\n        print(\"working, index \\(index) thread \\(Thread.current)\")\n    }\n}\n\nfunc work() {\n    \/\/ \ub3d9\uc2dc \uc2e4\ud589\ud560 \uc218 \uc788\ub294 \uc791\uc5c5\uc218\ub97c 1\uac1c\ub85c \uc9c0\uc815\n    queue.maxConcurrentOperationCount = 1\n\n    \/\/ 10\uac1c\uc758 Operation\uc744 \ucd94\uac00\ud568\n    for i in 0 ..&lt; 10 {\n        let op = CustomOperation(index: i)\n        op.completionBlock = { [weak op] in\n            guard let op = op else { return }\n            print(\"complete, index \\(op.index) isCancelled \\(op.isCancelled)\")\n        }\n        queue.addOperation(op)\n    }\n    \n    cancel()\n}\n\nfunc cancel() {\n    \/\/ \ub79c\ub364 \uc120\ud0dd\ub41c \uc778\ub371\uc2a4\uc758 \uc791\uc5c5\uc744 \ucde8\uc18c \uac00\ub2a5\ud558\uba74 \ucde8\uc18c\ud568\n    let r = Int.random(in: 0 ..&lt; 10)\n    for case let o as CustomOperation in queue.operations where !o.isCancelled &amp;&amp; o.index == r {\n        queue.isSuspended = true\n        defer {\n            self.queue.isSuspended = false\n        }\n\n        o.cancel()\n        print(\"#### operation cancelled index \\(r) ####\")\n    }\n}<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"swift\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \uc2e4\ud589 \uacb0\uacfc, \ub79c\ub364\uc73c\ub85c \uc120\ud0dd\ub41c 8\ubc88 \uc778\ub371\uc2a4\uc758 \uc791\uc5c5\uc774 \ucde8\uc18c\ub41c \uac83\uc744 \ubcfc \uc218 \uc788\ub2e4.\n\nworking, index 0 thread &lt;NSThread: 0x60000371c940>{number = 5, name = (null)}\n#### operation cancelled index 8 ####\nworking, index 1 thread &lt;NSThread: 0x60000371c940>{number = 5, name = (null)}\ncomplete, index 0 isCancelled false\ncomplete, index 1 isCancelled false\nworking, index 2 thread &lt;NSThread: 0x60000371c940>{number = 5, name = (null)}\ncomplete, index 2 isCancelled false\nworking, index 3 thread &lt;NSThread: 0x60000371c180>{number = 4, name = (null)}\ncomplete, index 3 isCancelled false\nworking, index 4 thread &lt;NSThread: 0x60000371c180>{number = 4, name = (null)}\ncomplete, index 4 isCancelled false\nworking, index 5 thread &lt;NSThread: 0x60000371c940>{number = 5, name = (null)}\ncomplete, index 5 isCancelled false\nworking, index 6 thread &lt;NSThread: 0x60000371c180>{number = 4, name = (null)}\ncomplete, index 6 isCancelled false\nworking, index 7 thread &lt;NSThread: 0x60000371c940>{number = 5, name = (null)}\ncomplete, index 7 isCancelled false\ncomplete, index 8 isCancelled true\nworking, index 9 thread &lt;NSThread: 0x60000371c180>{number = 4, name = (null)}\ncomplete, index 9 isCancelled false\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\uc5b4\ub5a4 \uc6b4\uc601\uccb4\uc81c\ub77c\ub3c4 \uc2a4\ub808\ub4dc \uad00\ub828 \uc0ac\ud56d\uc740 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4. iOS \uc5d0\uc11c\ub294 \uc9c1\uc811 \uc2a4\ub808\ub4dc\ub97c \uc0dd\uc131\ud558\uae30 \ubcf4\ub2e4\ub294 \ud050\uc5d0 \uc791\uc5c5\uc744 \ub123\uc73c\uba74 \uc784\uc758\uc758 \uc2a4\ub808\ub4dc\ub4e4\uc774 \uc791\uc5c5\ud558\uac8c \ub418\ub294 \ubc29\uc2dd\uc774 \uc8fc\ub85c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[58,23],"tags":[145,146,51,144,148,17,87,147,149],"class_list":["post-491","post","type-post","status-publish","format-standard","hentry","category-ios","category-swift","tag-dispatchqueue","tag-gdc","tag-ios","tag-operationqueue","tag-queue","tag-swift","tag-thread","tag-147","tag-149"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30 - \uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd<\/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:\/\/blog.daymore.com\/?p=491\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30 - \uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd\" \/>\n<meta property=\"og:description\" content=\"\uc5b4\ub5a4 \uc6b4\uc601\uccb4\uc81c\ub77c\ub3c4 \uc2a4\ub808\ub4dc \uad00\ub828 \uc0ac\ud56d\uc740 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4. iOS \uc5d0\uc11c\ub294 \uc9c1\uc811 \uc2a4\ub808\ub4dc\ub97c \uc0dd\uc131\ud558\uae30 \ubcf4\ub2e4\ub294 \ud050\uc5d0 \uc791\uc5c5\uc744 \ub123\uc73c\uba74 \uc784\uc758\uc758 \uc2a4\ub808\ub4dc\ub4e4\uc774 \uc791\uc5c5\ud558\uac8c \ub418\ub294 \ubc29\uc2dd\uc774 \uc8fc\ub85c [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.daymore.com\/?p=491\" \/>\n<meta property=\"og:site_name\" content=\"\uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-27T06:06:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-29T01:27:40+00:00\" \/>\n<meta name=\"author\" content=\"daymore\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"daymore\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.daymore.com\/?p=491\",\"url\":\"https:\/\/blog.daymore.com\/?p=491\",\"name\":\"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30 - \uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd\",\"isPartOf\":{\"@id\":\"https:\/\/blog.daymore.com\/#website\"},\"datePublished\":\"2022-04-27T06:06:56+00:00\",\"dateModified\":\"2022-04-29T01:27:40+00:00\",\"author\":{\"@id\":\"https:\/\/blog.daymore.com\/#\/schema\/person\/d2a6b2e27e0ca7aa5736172b432c1763\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.daymore.com\/?p=491#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.daymore.com\/?p=491\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.daymore.com\/?p=491#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.daymore.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.daymore.com\/#website\",\"url\":\"https:\/\/blog.daymore.com\/\",\"name\":\"\uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd\",\"description\":\"blog.daymore.com\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.daymore.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.daymore.com\/#\/schema\/person\/d2a6b2e27e0ca7aa5736172b432c1763\",\"name\":\"daymore\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/blog.daymore.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f7c8fbf7472c334702e25bab1089b35096ea0daf226ea3e22f66568aba3570e6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f7c8fbf7472c334702e25bab1089b35096ea0daf226ea3e22f66568aba3570e6?s=96&d=mm&r=g\",\"caption\":\"daymore\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30 - \uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd","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:\/\/blog.daymore.com\/?p=491","og_locale":"ko_KR","og_type":"article","og_title":"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30 - \uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd","og_description":"\uc5b4\ub5a4 \uc6b4\uc601\uccb4\uc81c\ub77c\ub3c4 \uc2a4\ub808\ub4dc \uad00\ub828 \uc0ac\ud56d\uc740 \ub9e4\uc6b0 \uc911\uc694\ud558\ub2e4. iOS \uc5d0\uc11c\ub294 \uc9c1\uc811 \uc2a4\ub808\ub4dc\ub97c \uc0dd\uc131\ud558\uae30 \ubcf4\ub2e4\ub294 \ud050\uc5d0 \uc791\uc5c5\uc744 \ub123\uc73c\uba74 \uc784\uc758\uc758 \uc2a4\ub808\ub4dc\ub4e4\uc774 \uc791\uc5c5\ud558\uac8c \ub418\ub294 \ubc29\uc2dd\uc774 \uc8fc\ub85c [&hellip;]","og_url":"https:\/\/blog.daymore.com\/?p=491","og_site_name":"\uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd","article_published_time":"2022-04-27T06:06:56+00:00","article_modified_time":"2022-04-29T01:27:40+00:00","author":"daymore","twitter_card":"summary_large_image","twitter_misc":{"\uae00\uc4f4\uc774":"daymore","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.daymore.com\/?p=491","url":"https:\/\/blog.daymore.com\/?p=491","name":"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30 - \uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd","isPartOf":{"@id":"https:\/\/blog.daymore.com\/#website"},"datePublished":"2022-04-27T06:06:56+00:00","dateModified":"2022-04-29T01:27:40+00:00","author":{"@id":"https:\/\/blog.daymore.com\/#\/schema\/person\/d2a6b2e27e0ca7aa5736172b432c1763"},"breadcrumb":{"@id":"https:\/\/blog.daymore.com\/?p=491#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.daymore.com\/?p=491"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.daymore.com\/?p=491#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.daymore.com\/"},{"@type":"ListItem","position":2,"name":"Swift OperationQueue \uc0ac\uc6a9\ud574 \ubcf4\uae30"}]},{"@type":"WebSite","@id":"https:\/\/blog.daymore.com\/#website","url":"https:\/\/blog.daymore.com\/","name":"\uae00\uc4f0\uae30, IT \uc791\uc740 \uc9c0\uc2dd","description":"blog.daymore.com","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.daymore.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Person","@id":"https:\/\/blog.daymore.com\/#\/schema\/person\/d2a6b2e27e0ca7aa5736172b432c1763","name":"daymore","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/blog.daymore.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f7c8fbf7472c334702e25bab1089b35096ea0daf226ea3e22f66568aba3570e6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f7c8fbf7472c334702e25bab1089b35096ea0daf226ea3e22f66568aba3570e6?s=96&d=mm&r=g","caption":"daymore"}}]}},"_links":{"self":[{"href":"https:\/\/blog.daymore.com\/index.php?rest_route=\/wp\/v2\/posts\/491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.daymore.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.daymore.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.daymore.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.daymore.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=491"}],"version-history":[{"count":12,"href":"https:\/\/blog.daymore.com\/index.php?rest_route=\/wp\/v2\/posts\/491\/revisions"}],"predecessor-version":[{"id":526,"href":"https:\/\/blog.daymore.com\/index.php?rest_route=\/wp\/v2\/posts\/491\/revisions\/526"}],"wp:attachment":[{"href":"https:\/\/blog.daymore.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.daymore.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.daymore.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}