;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Quem resiste? Aprenda os segredos para fazer pururuca de barriga de porco

De Nossa

30/09/2021 11h00

Prepare-se para abrir o apetite porque neste "Vai Ter Churras" Bruno Salomão faz uma pururuca de barriga de porco, bem crocante, para ser servida com gotinhas de limão.

O acompanhamento também faz bonito: batata assada direto na brasa e recheada de cream cheese, muçarela e bacon fritinho. Aposto que deu água na boca.

O especialista usa um pedaço da barriga suína, também conhecida como pancetta, completo: com carne, gordura entremeada e pele, também chamada de couro.

Vai Ter Churras | Pururuca - Mariana Pekin/UOL - Mariana Pekin/UOL
Imagem: Mariana Pekin/UOL

O grande segredo da textura final está em secar bem a pele com papel toalha, furar toda a superfície com uma faca (sem alcançar a carne) e não deixar nenhum líquido encostar nela.

Portanto, somente o outro lado da peça será temperado.

Para cada quilo de carne, Bruno mistura uma pitada de cominho, meia colher de chá de alecrim fresco picado, uma colher de sopa de tempero completo - aprenda aqui - mais sal e pimenta-do-reino a gosto.

Vai Ter Churras | Pururuca - Mariana Pekin/UOL - Mariana Pekin/UOL
Imagem: Mariana Pekin/UOL

Essa pastinha saborosa é colocada sobre um papel alumínio grosso que, dobrado ao meio, deve ter aproximadamente duas vezes o tamanho do seu corte.

A ideia é apoiar a carne da pancetta sobre o tempero e dobrar o resto do papel, subindo pelas laterais da barriga e fazendo uma espécie de "roupinha". Ou seja, só o couro ficará para fora.

Sal grosso para valer

Vai Ter Churras | Pururuca - Mariana Pekin/UOL - Mariana Pekin/UOL
Imagem: Mariana Pekin/UOL

Como dito lá no começo, a pele do porco precisa estar seca para "pururucar". E o sal grosso é o melhor amigo de quem quer desidratar um alimento.

Com a barriga "vestida" de papel alumínio e a carne protegida, jogue uma quantidade boa do ingrediente sobre a pele.

Não é pra ter mão leve, não. É para cobrir mesmo com sal grosso. Quanto mais colocar, mais sequinha fica.

Forno e churrasqueira

A "Dica de Ouro" do programa é começar a cocção da barriga no forno. "O calor de convecção vai assar e cozinhar a carne ao mesmo tempo que desidrata a pele".

Vai Ter Churras | Pururuca - Mariana Pekin/UOL - Mariana Pekin/UOL
Imagem: Mariana Pekin/UOL

Pré-aqueça o forno a 180 graus e bote a pancetta. Ela deve ficar relaxando por lá entre uma e uma hora e meia, ou até ver que a pele sob o sal está bem avermelhada.

Tire os pedaços grandes de sal que se formaram por cima e transfira a carne para uma grelha jacaré, sem apertar muito. Leve à churrasqueira, na parte alta, por 15 minutos com o couro virado para cima.

Vai Ter Churras | Batata - Mariana Pekin/UOL - Mariana Pekin/UOL
Imagem: Mariana Pekin/UOL

Vire a grelha ao contrário e espere de 30 a 40 minutos. Por fim, desça a peça para pertinho da brasa forte por 5 minutos.

Aí, a mágica acontece: no calor intenso, as últimas moléculas de água presas na pele evaporam com tudo, em alta velocidade, e deixam as marquinhas crocantes que a gente ama. Sirva com batata recheada.

Fique ligado!

Confira todas as quintas um novo episódio no site de Nossa, no UOL Play ou no YouTube de Nossa (inscreva-se já para receber as atualizações fresquinhas). E acompanhe mais conteúdos no Instagram de Nossa. Assista também às duas primeiras temporadas e veja Bruno Salomão ensinar os conceitos básicos para os churrasqueiros de primeira viagem e muitas receitas saborosas.