{"id":1859,"date":"2015-01-13T16:14:31","date_gmt":"2015-01-13T16:14:30","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1859"},"modified":"2025-06-13T23:49:54","modified_gmt":"2025-06-14T06:49:54","slug":"couchbase-net-sdk-2-0-1-now-available","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-net-sdk-2-0-1-now-available\/","title":{"rendered":"O Couchbase .NET SDK 2.0.1 j\u00e1 est\u00e1 dispon\u00edvel!"},"content":{"rendered":"<p>Hoje estamos lan\u00e7ando a vers\u00e3o 2.0.1 do Couchbase .NET SDK 2.0. Esta \u00e9 uma vers\u00e3o de acompanhamento da vers\u00e3o 2.0.0 do GA no in\u00edcio de dezembro do ano passado e inclui, em grande parte, corre\u00e7\u00f5es de bugs e melhorias de desempenho com base na vers\u00e3o 2.0.0.<\/p>\n<h2>O que h\u00e1 nesta vers\u00e3o?<\/h2>\n<p>Mais uma vez, esta \u00e9, em grande parte, uma vers\u00e3o para corre\u00e7\u00e3o de bugs e melhoria de desempenho. A maior mudan\u00e7a est\u00e1 na camada de transporte ou de E\/S, que foi reescrita para usar SocketAsyncEventArgs em vez da API de soquete ass\u00edncrona mais antiga, baseada na APM (Begin\/End), que exige a cria\u00e7\u00e3o de um objeto IAsyncResult para cada opera\u00e7\u00e3o ass\u00edncrona, resultando em uma coleta de lixo mais frequente. Cada inst\u00e2ncia de SocketAsyncEventArgs \u00e9 agrupada e reutilizada, eliminando grande parte dos problemas com GCs. Al\u00e9m disso, um \u00fanico buffer fixo cont\u00edguo \u00e9 usado entre todas as inst\u00e2ncias de SocketAsyncEventArgs e dura o tempo de vida do cliente. Aguarde melhorias adicionais em vers\u00f5es posteriores.<\/p>\n<p>Outra melhoria feita foi a adi\u00e7\u00e3o de m\u00e9todos em massa para remover um conjunto de chaves em paralelo, por exemplo:<\/p>\n<p>usando (var cluster = new Cluster(config))<br \/>\n{<br \/>\nusando (var bucket = cluster.OpenBucket())<br \/>\n{<br \/>\nvar multiUpsert = bucket.Upsert(items);<br \/>\nAssert.AreEqual(items.Count, multiUpsert.Count);<br \/>\nforeach (var pair in multiUpsert)<br \/>\n{<br \/>\nAssert.IsTrue(pair.Value.Success);<br \/>\n}<\/p>\n<p>var multiRemove = bucket.Remove(multiUpsert.Keys.ToList());<br \/>\nforeach (var pair in multiRemove)<br \/>\n{<br \/>\nAssert.IsTrue(pair.Value.Success);<br \/>\n}<\/p>\n<p>var multiGet = bucket.Get(multiUpsert.Keys.ToList());<br \/>\nforeach (var pair in multiGet)<br \/>\n{<br \/>\nAssert.IsFalse(pair.Value.Success);<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>No c\u00f3digo acima, primeiro adicionamos um conjunto de chaves usando o m\u00e9todo Upsert em massa, depois usamos a nova sobrecarga Remove, que recebe uma lista de chaves para remover os documentos ou valores associados a eles do Bucket do Couchbase e, por fim, verificamos se eles existem. Um pouco artificial, mas voc\u00ea pode imaginar como isso poderia ser usado em um cen\u00e1rio do mundo real.<\/p>\n<p>Al\u00e9m das altera\u00e7\u00f5es na camada de E\/S, as seguintes corre\u00e7\u00f5es de bugs importantes est\u00e3o inclu\u00eddas nesta vers\u00e3o:<\/p>\n<ul>\n<li>NCBC-777: Observe retorna ObserveResponse.DurabilitySatisfied quando o CAS foi alterado<\/li>\n<li>NCBC-748: Garantir que PoolConfiguration seja usado em App.Config<\/li>\n<li>NCBC-750: Garantir que as altera\u00e7\u00f5es no servidor sejam propagadas para o BucketConfig<\/li>\n<li>NCBC-540: Garantir <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/how-to-manage-ttl-with-couchbase-n1ql\/\">TTL<\/a> seguem regras quando um TimeSpan<\/li>\n<li>NCBC-625: Remover o uso de quebra de compila\u00e7\u00e3o mono<\/li>\n<\/ul>\n<p>As notas de vers\u00e3o completas podem ser encontradas aqui.<\/p>\n<h2>Contribui\u00e7\u00f5es<\/h2>\n<p>Houve v\u00e1rias contribui\u00e7\u00f5es da comunidade na forma de Pull Requests do GitHub, preenchendo t\u00edquetes do Jira e por meio de discuss\u00f5es em nossos f\u00f3runs. Gostar\u00edamos de agradecer a todos que contribu\u00edram de alguma forma para esta vers\u00e3o, mesmo que n\u00e3o tenha sido diretamente por meio de c\u00f3digo; feedback e coment\u00e1rios s\u00e3o sempre bem-vindos.<\/p>\n<h2>Como fa\u00e7o para obt\u00ea-lo?<\/h2>\n<p>Os pacotes est\u00e3o dispon\u00edveis no NuGet, S3 ou voc\u00ea pode obter a fonte diretamente do mestre usando a tag \"2.0.1\":<\/p>\n<ul>\n<li>Obter os pacotes <strong><a href=\"https:\/\/www.nuget.org\/packages\/CouchbaseNetClient\/\">aqui<\/a><\/strong>.<\/li>\n<li>Fa\u00e7a o download dos bin\u00e1rios <strong><a href=\"https:\/\/packages.couchbase.com.s3.amazonaws.com\/clients\/net\/2.0\/Couchbase-Net-Client-2.0.1.zip\">aqui<\/a><\/strong>.<\/li>\n<li>Clonar o reposit\u00f3rio <strong><a href=\"https:\/\/github.com\/couchbase\/couchbase-net-client\">aqui<\/a><\/strong>.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Today we are releasing version 2.0.1 of the Couchbase .NET SDK 2.0. This is a follow up release from the GA release 2.0.0 in early December of last year and largely includes bug fixes and performance improvements building on the [&hellip;]<\/p>","protected":false},"author":21,"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,10127,2201],"tags":[],"ppma_author":[8970],"class_list":["post-1859","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-c-sharp","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>Couchbase .NET SDK 2.0.1 is now available! - 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\/pt\/couchbase-net-sdk-2-0-1-now-available\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase .NET SDK 2.0.1 is now available!\" \/>\n<meta property=\"og:description\" content=\"Today we are releasing version 2.0.1 of the Couchbase .NET SDK 2.0. This is a follow up release from the GA release 2.0.0 in early December of last year and largely includes bug fixes and performance improvements building on the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-net-sdk-2-0-1-now-available\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-01-13T16:14:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:49:54+00:00\" \/>\n<meta name=\"author\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jeffrysmorris\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/\"},\"author\":{\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\"},\"headline\":\"Couchbase .NET SDK 2.0.1 is now available!\",\"datePublished\":\"2015-01-13T16:14:30+00:00\",\"dateModified\":\"2025-06-14T06:49:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/\"},\"wordCount\":465,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\".NET\",\"C#\",\"Tools &amp; SDKs\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/\",\"name\":\"Couchbase .NET SDK 2.0.1 is now available! - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-01-13T16:14:30+00:00\",\"dateModified\":\"2025-06-14T06:49:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#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-net-sdk-2-0-1-now-available\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase .NET SDK 2.0.1 is now available!\"}]},{\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\/b678bdd9f7b21a33d43ea965865a3341\",\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"caption\":\"Jeff Morris, Senior Software Engineer, Couchbase\"},\"description\":\"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language).\",\"sameAs\":[\"https:\/\/x.com\/jeffrysmorris\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/jeff-morris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase .NET SDK 2.0.1 is now available! - 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\/pt\/couchbase-net-sdk-2-0-1-now-available\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase .NET SDK 2.0.1 is now available!","og_description":"Today we are releasing version 2.0.1 of the Couchbase .NET SDK 2.0. This is a follow up release from the GA release 2.0.0 in early December of last year and largely includes bug fixes and performance improvements building on the [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-net-sdk-2-0-1-now-available\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-01-13T16:14:30+00:00","article_modified_time":"2025-06-14T06:49:54+00:00","author":"Jeff Morris, Senior Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@jeffrysmorris","twitter_misc":{"Written by":"Jeff Morris, Senior Software Engineer, Couchbase","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/"},"author":{"name":"Jeff Morris, Senior Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341"},"headline":"Couchbase .NET SDK 2.0.1 is now available!","datePublished":"2015-01-13T16:14:30+00:00","dateModified":"2025-06-14T06:49:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/"},"wordCount":465,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":[".NET","C#","Tools &amp; SDKs"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/","name":"Couchbase .NET SDK 2.0.1 is now available! - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-01-13T16:14:30+00:00","dateModified":"2025-06-14T06:49:54+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-sdk-2-0-1-now-available\/#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-net-sdk-2-0-1-now-available\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase .NET SDK 2.0.1 is now available!"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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\/b678bdd9f7b21a33d43ea965865a3341","name":"Jeff Morris, engenheiro de software s\u00eanior, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812","url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","caption":"Jeff Morris, Senior Software Engineer, Couchbase"},"description":"Jeff Morris \u00e9 engenheiro de software s\u00eanior da Couchbase. Antes de ingressar na Couchbase, Jeff passou seis anos na Source Interlink como arquiteto da Web corporativa. Jeff \u00e9 respons\u00e1vel pelo desenvolvimento dos SDKs do Couchbase e pela integra\u00e7\u00e3o com o N1QL (linguagem de consulta).","sameAs":["https:\/\/x.com\/jeffrysmorris"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/jeff-morris\/"}]}},"authors":[{"term_id":8970,"user_id":21,"is_guest":0,"slug":"jeff-morris","display_name":"Jeff Morris, Senior Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","first_name":"Jeff","last_name":"Jeff Morris, Senior Software Engineer, Couchbase","user_url":"","author_category":"","description":"Jeff Morris \u00e9 engenheiro de software s\u00eanior da Couchbase. Antes de ingressar na Couchbase, Jeff passou seis anos na Source Interlink como arquiteto da Web corporativa. Jeff \u00e9 respons\u00e1vel pelo desenvolvimento dos SDKs do Couchbase e pela integra\u00e7\u00e3o com o N1QL (linguagem de consulta)."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1859"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1859\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=1859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1859"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}