{"id":2275,"date":"2016-05-25T20:25:37","date_gmt":"2016-05-25T20:25:37","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2275"},"modified":"2025-10-09T07:15:36","modified_gmt":"2025-10-09T14:15:36","slug":"improved-security-couchbase-4-5-scram-sha","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/improved-security-couchbase-4-5-scram-sha\/","title":{"rendered":"Seguran\u00e7a aprimorada no Couchbase 4.5: SCRAM-SHA"},"content":{"rendered":"<p>A seguran\u00e7a \u00e9 importante para n\u00f3s, aqui na <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/introduction\/intro.html?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">Couchbase<\/a>. Gostaria de chamar sua aten\u00e7\u00e3o para um novo recurso de seguran\u00e7a no Couchbase 4.5 que, de outra forma, poderia passar despercebido: SCRAM-SHA (pronunciado como &apos;scram-shaw&apos;).<\/p>\n<p>\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Scram! Licensed through Create Commons via Michael Pereckas - https:\/\/www.flickr.com\/people\/53332339@N00\" src=\"\/wp-content\/original-assets\/2016\/may\/improved-security-couchbase-4.5-scram-sha\/scram.jpg\" \/><\/p>\n<p>\u00a0<\/p>\n<p>(<a href=\"https:\/\/www.flickr.com\/photos\/beigephotos\/11468976183\/in\/photolist-ittv3F-itsSwq\">Imagem do Scram licenciada pelo Create Commons via Michael Pereckas<\/a>)<\/p>\n<p>SCRAM (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Salted_Challenge_Response_Authentication_Mechanism\">Mecanismo de autentica\u00e7\u00e3o de resposta de desafio com sal<\/a>) \u00e9 uma forma baseada em senha de autenticar um usu\u00e1rio. Ele oferece seguran\u00e7a adicional contra ataques de for\u00e7a bruta, caso seus servidores sejam comprometidos. As vers\u00f5es anteriores do Couchbase usavam um esquema de login CRAM-MD5, que \u00e9 mais vulner\u00e1vel a esses ataques.<\/p>\n<p>Encontrei um \u00f3timo <a href=\"https:\/\/www.isode.com\/whitepapers\/scram.html\">white paper que resume a SCRAM<\/a> e seus benef\u00edcios em rela\u00e7\u00e3o ao CRAM-MD5. Meu resumo desse resumo sobre como a SCRAM \u00e9 uma melhoria:<\/p>\n<ul>\n<li>A SCRAM especifica um formato para um segredo: valor de dados com hash, valor de sal, contagem de itera\u00e7\u00e3o<\/li>\n<li>Esse segredo, por si s\u00f3, n\u00e3o pode ser usado para enganar o sistema de autentica\u00e7\u00e3o<\/li>\n<li>A SCRAM troca itens com hash entre o cliente e o servidor, que n\u00e3o podem ser \"reproduzidos\"<\/li>\n<li>A SCRAM pode ser usada com qualquer algoritmo de hash (como SHA1)<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><strong>Ent\u00e3o, o que preciso fazer para usar o SCRAM-SHA?<\/strong><\/p>\n<p>Atualize para o Couchbase 4.5. O SDK (quando aplic\u00e1vel - nem todos os SDKs oferecem suporte a isso ainda) cuidar\u00e1 dos detalhes. Ele usar\u00e1 o SCRAM-SHA, se poss\u00edvel, e voltar\u00e1 para o CRAM-MD5 se voc\u00ea estiver executando uma vers\u00e3o mais antiga do Couchbase. O uso do TLS ainda \u00e9 recomendado para maximizar a seguran\u00e7a.<\/p>\n<p>Mais uma coisa: o SCRAM \u00e9 compat\u00edvel com v\u00e1rios algoritmos de hash. O Couchbase Server \u00e9 compat\u00edvel com <a href=\"https:\/\/en.wikipedia.org\/wiki\/SHA-2\">SHA1, SHA-256 e SHA-512<\/a>. O SDK escolhe o \"mais alto\", portanto, o SHA-512 \u00e9 sempre usado.<\/p>\n<p>Essa \u00e9 a introdu\u00e7\u00e3o r\u00e1pida! Tem alguma d\u00favida? Deixe um coment\u00e1rio ou fa\u00e7a uma pergunta na se\u00e7\u00e3o <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/?utm_source=blogs&amp;utm_medium=link&amp;utm_campaign=blogs\">F\u00f3runs do Couchbase<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Security is important to us, here at Couchbase. I&apos;d like to draw your attention to a new security feature in Couchbase 4.5 that might otherwise go unnoticed: SCRAM-SHA (pronounced like &apos;scram-shaw&apos;). \u00a0 \u00a0 (Scram Image Licensed through Create Commons via [&hellip;]<\/p>","protected":false},"author":71,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1813],"tags":[1455],"ppma_author":[8937],"class_list":["post-2275","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-security","tag-authentication"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Improved security in Couchbase 4.5: SCRAM-SHA - 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\/improved-security-couchbase-4-5-scram-sha\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Improved security in Couchbase 4.5: SCRAM-SHA\" \/>\n<meta property=\"og:description\" content=\"Security is important to us, here at Couchbase. I&amp;apos;d like to draw your attention to a new security feature in Couchbase 4.5 that might otherwise go unnoticed: SCRAM-SHA (pronounced like &amp;apos;scram-shaw&amp;apos;). \u00a0 \u00a0 (Scram Image Licensed through Create Commons via [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/improved-security-couchbase-4-5-scram-sha\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-25T20:25:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:15:36+00:00\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\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\/improved-security-couchbase-4-5-scram-sha\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Improved security in Couchbase 4.5: SCRAM-SHA\",\"datePublished\":\"2016-05-25T20:25:37+00:00\",\"dateModified\":\"2025-10-09T14:15:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/\"},\"wordCount\":270,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"authentication\"],\"articleSection\":[\"Couchbase Server\",\"Security\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/\",\"name\":\"Improved security in Couchbase 4.5: SCRAM-SHA - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-05-25T20:25:37+00:00\",\"dateModified\":\"2025-10-09T14:15:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#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\/improved-security-couchbase-4-5-scram-sha\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Improved security in Couchbase 4.5: SCRAM-SHA\"}]},{\"@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\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Improved security in Couchbase 4.5: SCRAM-SHA - 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\/improved-security-couchbase-4-5-scram-sha\/","og_locale":"pt_BR","og_type":"article","og_title":"Improved security in Couchbase 4.5: SCRAM-SHA","og_description":"Security is important to us, here at Couchbase. I&apos;d like to draw your attention to a new security feature in Couchbase 4.5 that might otherwise go unnoticed: SCRAM-SHA (pronounced like &apos;scram-shaw&apos;). \u00a0 \u00a0 (Scram Image Licensed through Create Commons via [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/improved-security-couchbase-4-5-scram-sha\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-05-25T20:25:37+00:00","article_modified_time":"2025-10-09T14:15:36+00:00","author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Improved security in Couchbase 4.5: SCRAM-SHA","datePublished":"2016-05-25T20:25:37+00:00","dateModified":"2025-10-09T14:15:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/"},"wordCount":270,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["authentication"],"articleSection":["Couchbase Server","Security"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/","url":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/","name":"Improved security in Couchbase 4.5: SCRAM-SHA - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-05-25T20:25:37+00:00","dateModified":"2025-10-09T14:15:36+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/improved-security-couchbase-4-5-scram-sha\/#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\/improved-security-couchbase-4-5-scram-sha\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Improved security in Couchbase 4.5: SCRAM-SHA"}]},{"@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\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"Matthew D. Groves \u00e9 um cara que adora programar. N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"Matthew D. Groves \u00e9 um cara que adora programar.  N\u00e3o importa se \u00e9 C#, jQuery ou PHP: ele enviar\u00e1 solicita\u00e7\u00f5es de pull para qualquer coisa.  Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90.  Atualmente, ele trabalha como gerente s\u00eanior de marketing de produtos da Couchbase. Seu tempo livre \u00e9 passado com a fam\u00edlia, assistindo aos Reds e participando da comunidade de desenvolvedores.  Ele \u00e9 autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2275","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\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2275"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2275\/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=2275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2275"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}