{"id":226929,"date":"2019-09-27T15:12:24","date_gmt":"2019-09-27T07:12:24","guid":{"rendered":"http:\/\/magicalbits.net\/?p=226929"},"modified":"2019-09-27T15:12:24","modified_gmt":"2019-09-27T07:12:24","slug":"22-short-tests-of-combine-part-1-protocols","status":"publish","type":"post","link":"https:\/\/magicalbits.net\/?p=226929","title":{"rendered":"22 short tests of Combine \u2013 Part 1: Protocols"},"content":{"rendered":"<blockquote><p><a href=\"https:\/\/www.cocoawithlove.com\/blog\/twenty-two-short-tests-of-combine-part-1.html\"><img decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/www.cocoawithlove.com\/assets\/blog\/combine2.svg\" alt=\"\" \/><\/a>I wrote some experiments around Combine, Apple\u2019s reactive programming framework, to gain insight into how Combine handles edge cases that have caused problems for me in other reactive programming frameworks. How do subscriptions work? How do I cache computations? When are publishers and subscribers released? Under what circumstances is Combine thread-safe? Is re-entrancy possible? Does Combine guarantee delivery-order? How does Combine\u2019s performance compare to pre-existing reactive frameworks?<\/p><\/blockquote>\n<p>Source: <em><a href=\"https:\/\/www.cocoawithlove.com\/blog\/twenty-two-short-tests-of-combine-part-1.html\">22 short tests of Combine \u2013 Part 1: Protocols<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I wrote some experiments around Combine, Apple\u2019s reactive programming framework, to gain insight into how Combine handles edge cases that have caused problems for me in other reactive programming frameworks. How do subscriptions work? How do I cache computations? When are publishers and subscribers released? Under what circumstances is Combine thread-safe? Is re-entrancy possible? Does [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-226929","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/226929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=226929"}],"version-history":[{"count":1,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/226929\/revisions"}],"predecessor-version":[{"id":226930,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/226929\/revisions\/226930"}],"wp:attachment":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=226929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=226929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=226929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}