{"id":1967,"date":"2015-09-16T13:32:09","date_gmt":"2015-09-16T13:32:09","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1967"},"modified":"2015-09-16T13:32:09","modified_gmt":"2015-09-16T13:32:09","slug":"go-at-couchbase-introducing-a-go-sdk","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/go-at-couchbase-introducing-a-go-sdk\/","title":{"rendered":"Go no Couchbase - introdu\u00e7\u00e3o de um SDK em Go"},"content":{"rendered":"<p>Tanto o Couchbase quanto o Go t\u00eam objetivos semelhantes de escalabilidade e facilidade de uso. O alinhamento natural resulta em uma \u00f3tima combina\u00e7\u00e3o entre o Couchbase e o Go. Os desenvolvedores de aplicativos precisam de sistemas de gerenciamento de dados escal\u00e1veis, como o Couchbase, para os sistemas que projetam. Por isso, hoje tenho o prazer de anunciar que o Couchbase est\u00e1 introduzindo um SDK em Go para facilitar a escalabilidade e a integra\u00e7\u00e3o simples com seus pr\u00f3prios projetos de desenvolvimento em Go.<\/p>\n<p>H\u00e1 v\u00e1rios motivos pelos quais n\u00f3s do Couchbase adoramos Go:<\/p>\n<ol>\n<li>O Go facilita a cria\u00e7\u00e3o de aplicativos eficientes prontos para alta simultaneidade.<\/li>\n<li>O Go facilita o trabalho com JSON na cria\u00e7\u00e3o de aplicativos simples, confi\u00e1veis e eficientes.\u00a0<\/li>\n<li>A Go \u00e9 uma plataforma poderosa e bem documentada, cujo objetivo \u00e9 manter a sintaxe e a biblioteca padr\u00e3o simples, permitindo que a comunidade desenvolva o restante.\u00a0<\/li>\n<\/ol>\n<p>Vamos dar uma olhada em cada um deles.<\/p>\n<h2>Alta simultaneidade<\/h2>\n<p>O foco da Go \u00e9 capacitar os desenvolvedores com constru\u00e7\u00f5es simples que facilitam a montagem de programas altamente simult\u00e2neos. Com isso, os aplicativos escritos em Go podem ser escalonados com o m\u00ednimo de esfor\u00e7o. \u00c0 medida que o hardware e as arquiteturas de sistemas distribu\u00eddos evoluem, os programas criados em Go t\u00eam o DNA para usar esses recursos de forma eficiente para escalonar para um n\u00famero ainda maior de usu\u00e1rios. O Couchbase tem objetivos semelhantes. Queremos permitir que o banco de dados escolhido pelo desenvolvedor do aplicativo seja dimensionado com o m\u00ednimo de esfor\u00e7o. Em Go, a constru\u00e7\u00e3o para escala \u00e9 feita principalmente por meio de primitivos conhecidos como goroutines, que expressam a l\u00f3gica a ser executada em paralelo, e canais, que movem os dados com seguran\u00e7a pela l\u00f3gica paralela.<\/p>\n<p>O Couchbase SDK para Go funciona bem com essas constru\u00e7\u00f5es. Desde o in\u00edcio, procuramos oferecer ao desenvolvedor de aplicativos em Go uma \u00e1rea de superf\u00edcie de API que se encaixa em um aplicativo usando goroutines e canais. O SDK foi projetado para trabalhar facilmente com a simultaneidade expressa pelo desenvolvedor do aplicativo, sem adicionar sobrecarga em seu pr\u00f3prio gerenciamento do trabalho solicitado. Resultado final? Com o m\u00ednimo de esfor\u00e7o, o aplicativo obt\u00e9m o benef\u00edcio de todo o desempenho e a escala do cluster do Couchbase Server.  O Go SDK abstrai os detalhes do que precisa acontecer ao dimensionar o cluster do Couchbase Server.\u00a0<\/p>\n<h2>Facilidade de desenvolvimento<\/h2>\n<p>Outra maneira pela qual o nosso SDK para Go se mistura perfeitamente com a filosofia em torno de Go \u00e9 ser simples de configurar e usar em um aplicativo. Reconhecendo que um aplicativo em Go definir\u00e1 as estruturas de dados com as quais trabalhar\u00e1 em goroutines e canais, o SDK do Couchbase para Go oferece aos desenvolvedores uma maneira simples de expressar como consultar e armazenar dados em um cluster do Couchbase Server. A linguagem Go tem excelente suporte para mapear JSON para tipos de dados em Go. O Go SDK aproveita isso nas a\u00e7\u00f5es que os desenvolvedores solicitam dele.  Ao consultar ou adicionar dados, o SDK far\u00e1 o marshal e o unmarshal das respostas JSON nas estruturas em Go definidas pelo aplicativo.<\/p>\n<p>O SDK do Couchbase para Go oferece suporte a novos recursos do Couchbase Server que facilitam o desenvolvimento de aplicativos. Os recursos do Couchbase <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.0\/n1ql\/index.html\">nova linguagem de consulta N1QL<\/a> estende o SQL para trabalhar com documentos JSON, permitindo que os desenvolvedores consultem facilmente de forma familiar.  Com a capacidade do N1QL de consultar facilmente dados estruturados em JSON na ponta dos dedos de um desenvolvedor de Go, os atos de encontrar, manipular e armazenar dados se tornam f\u00e1ceis.<\/p>\n<h2>Simples na superf\u00edcie, mas extens\u00edvel<\/h2>\n<p>A comunidade Go busca a simplicidade, mantendo a biblioteca padr\u00e3o e a sintaxe simples na superf\u00edcie, sem esconder as primitivas daqueles que precisam delas. Usando o desejo da comunidade Go de simplicidade com recursos profundos, criamos duas camadas no Go SDK.<\/p>\n<p>Em primeiro lugar, para satisfazer o desenvolvedor que procura uma capacidade direta de trabalhar com JSON mapeado para estruturas da linguagem Go, criamos uma interface simples, conhecida como gocb, que oferece ao desenvolvedor opera\u00e7\u00f5es f\u00e1ceis de entender e seguras quanto ao tipo. Essa interface tamb\u00e9m se integra rapidamente \u00e0 estrutura de goroutine s\u00edncrona em Go.<\/p>\n<p>H\u00e1 algumas situa\u00e7\u00f5es em que um desenvolvedor precisa integrar o Couchbase em uma estrutura maior que se espera que seja usada por outros desenvolvedores. Um exemplo pode ser uma nova estrutura de aplicativo que precise de uma interface pura e ass\u00edncrona ou um componente reativo no meio da arquitetura que movimenta dados entre sistemas. Esses desenvolvedores podem precisar interagir de perto nos n\u00edveis mais baixos de como o SDK do Couchbase interage com o cluster do Couchbase Server. Tamb\u00e9m pode haver ocasi\u00f5es em que os desenvolvedores queiram ignorar o empacotamento de dados para economizar um pouco mais de processamento extra ou um desejo de mudar para uma interface 100% ass\u00edncrona para IO. As necessidades de cada um desses casos s\u00e3o atendidas pela camada gocbcore no SDK do Couchbase para Go.<\/p>\n<h2>O que vem a seguir<\/h2>\n<p>O software est\u00e1 em constante evolu\u00e7\u00e3o e continuaremos a trabalhar com os aprimoramentos provenientes da comunidade Go. O Google fez grandes avan\u00e7os no gerenciamento de mem\u00f3ria e na facilidade de desenvolvimento do Go 1.5. Esperamos que as novas ferramentas para desenvolvedores e o redesenho do gerenciamento de mem\u00f3ria nos ajudem com as vers\u00f5es futuras do Couchbase Server, enquanto aqueles que desenvolvem seus pr\u00f3prios programas em Go podem aproveitar as mudan\u00e7as imediatamente com o Couchbase SDK for Go, que suporta o Go 1.5 atualmente.<\/p>\n<p>E para os componentes do Couchbase que usam Go? Esse futuro est\u00e1 sendo constru\u00eddo agora. Temos uma s\u00e9rie de novos projetos <a href=\"https:\/\/github.com\/couchbase\">publicado como c\u00f3digo aberto<\/a> que esperamos que cheguem nas pr\u00f3ximas vers\u00f5es do Couchbase Server e do Couchbase Mobile. A maioria desses projetos tamb\u00e9m \u00e9 escrita em Go.<\/p>\n<p>Estamos animados para ver o que os desenvolvedores criam com nosso novo Couchbase SDK para Go.<\/p>\n<p><em>Voc\u00ea encontrar\u00e1 exemplos de c\u00f3digo e locais para os bits e a documenta\u00e7\u00e3o em <a href=\"\/blog\/pt\/go-sdk-1.0-ga\/\">Blog de Brett Lawson sobre a GA<\/a>.  Brett \u00e9 o engenheiro-chefe do Go SDK.<\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Both Couchbase and Go have similar goals for scalability and ease of use. The natural alignment results in a great pairing between Couchbase and Go. Application developers need scalable data management systems like Couchbase for the systems they design, so [&hellip;]<\/p>","protected":false},"author":41,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8993],"class_list":["post-1967","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"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>Go at Couchbase - introducing a Go SDK - 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\/go-at-couchbase-introducing-a-go-sdk\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Go at Couchbase - introducing a Go SDK\" \/>\n<meta property=\"og:description\" content=\"Both Couchbase and Go have similar goals for scalability and ease of use. The natural alignment results in a great pairing between Couchbase and Go. Application developers need scalable data management systems like Couchbase for the systems they design, so [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/go-at-couchbase-introducing-a-go-sdk\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-16T13:32:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\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=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/\"},\"author\":{\"name\":\"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/35e939d9fe3dfb1a06f1714ee54bb098\"},\"headline\":\"Go at Couchbase &#8211; introducing a Go SDK\",\"datePublished\":\"2015-09-16T13:32:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/\"},\"wordCount\":926,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/\",\"name\":\"Go at Couchbase - introducing a Go SDK - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-09-16T13:32:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#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\/go-at-couchbase-introducing-a-go-sdk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Go at Couchbase &#8211; introducing a Go SDK\"}]},{\"@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\/35e939d9fe3dfb1a06f1714ee54bb098\",\"name\":\"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\/pt\/author\/matt-ingenthron\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Go at Couchbase - introducing a Go SDK - 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\/go-at-couchbase-introducing-a-go-sdk\/","og_locale":"pt_BR","og_type":"article","og_title":"Go at Couchbase - introducing a Go SDK","og_description":"Both Couchbase and Go have similar goals for scalability and ease of use. The natural alignment results in a great pairing between Couchbase and Go. Application developers need scalable data management systems like Couchbase for the systems they design, so [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/go-at-couchbase-introducing-a-go-sdk\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-09-16T13:32:09+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.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":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/"},"author":{"name":"Matt Ingenthron, Senior Director, SDK Engineering, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/35e939d9fe3dfb1a06f1714ee54bb098"},"headline":"Go at Couchbase &#8211; introducing a Go SDK","datePublished":"2015-09-16T13:32:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/"},"wordCount":926,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/","url":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/","name":"Go at Couchbase - introducing a Go SDK - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-09-16T13:32:09+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/go-at-couchbase-introducing-a-go-sdk\/#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\/go-at-couchbase-introducing-a-go-sdk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Go at Couchbase &#8211; introducing a Go SDK"}]},{"@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\/35e939d9fe3dfb1a06f1714ee54bb098","name":"Matt Ingenthron, diretor s\u00eanior de engenharia de SDK, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@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\/pt\/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":"Matt Ingenthron \u00e9 o diretor s\u00eanior de engenharia da Couchbase, onde se concentra na interface do desenvolvedor em SDKs, conectores e outros projetos.  Ele contribuiu para o projeto memcached, foi um dos mantenedores do cliente Java spymemcached e um dos principais desenvolvedores do Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1967","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\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=1967"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/1967\/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=1967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=1967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=1967"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=1967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}