;(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

Cerveja e maionese incrementam marinada "secreta" para frango ou porco

De Nossa

24/09/2021 04h00

O segredo de boas carnes muitas vezes está no tempero. Isso porque, dependendo da combinação de ingredientes, a mistura agrega, além de sabor, hidratação e suculência.

É isso que explica o apresentador Bruno Salomão, no quadro "Ciência das Carnes", sobre as técnicas por trás dos preparos na brasa feitos nos episódios de "Vai Ter Churras", a série de Nossa pensada em quem ama churrasco.

No programa, o cozinheiro falar sobre a salmoura, uma solução de água, açúcar e sal utilizada por chefs para garantir a umidade em carnes magras, como as de frango e porco.

Frango - EyeWolf/Getty Images - EyeWolf/Getty Images
Frango suculento e saboroso: segredo está no tempero
Imagem: EyeWolf/Getty Images

Para se valer do benefício e conquistar ainda mais sabor, o especialista indica utilizar cerveja no lugar da água.

Cerveja - iStockphotos - iStockphotos
Cerveja: do copo para a marinada
Imagem: iStockphotos

Ao contrário do que alguns acreditam, o álcool presente na bebida não é o suficiente para fazer mal a crianças e evapora no momento da cocção. Ainda está preocupado? Sem problemas: troque por algum suco.

Outro grupo de ingredientes que garante a suculência da carne é o das gorduras. Soa esquisito, mas uma colher de sopa de maionese faz uma diferença danada em cortes não tão gordos.

Confira, abaixo, tudo que Bruno colocou na sua marinada secreta que revelou no episódio, pensada para temperar um quilo e meio de frango:

  • 1 lata de cerveja
  • 2 colheres de sopa do chamado tempero completo - aprenda a fazer
  • 1 colher de sopa de maionese
  • 2 folhas de louro
  • 1 pitada de colorau (para dar cor)
  • 1 colher de chá de açúcar
  • 1/2 colher de chá de pimenta-do-reino moída na hora
  • 1 colher de chá de sal
Vai Ter Churras | frango de padaria - Mariana Pekin/UOL - Mariana Pekin/UOL
Frango inteiro marinando na cerveja, maionese, colorau e mais ingredientes
Imagem: Mariana Pekin/UOL

Um frango inteiro e partes grandes do boi podem ficar na marinada de um dia para o outro. Cortes menores, por sua vez, apresentam bons resultados quando ficam duas horas nesse "spa" de sabores.

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. Veja também as duas temporadas anteriores em que Bruno Salomão ensina os conceitos básicos para os churrasqueiros de primeira viagem.