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

Salgar a carne do churrasco um dia antes? Sim. E não está errado; entenda

De Nossa

07/11/2021 04h00

Em Nossa, tentamos colocar um ponto final num dos maiores debates churrasqueiros: o certo é salgar a carne pouco antes ou logo depois da grelha? Mas a verdade é que depende. Tanto do tipo de sal, quanto da preferência do cozinheiro.

Nessa discussão eterna, há alguns chefs que saem pela tangente e, apoiados em processos químicos, defendem uma "terceira via": colocar sal no dia anterior ao preparo. A estratégia funciona como uma pequena cura.

De acordo com Bruno Salomão, apresentador do "Vai Ter Churras", a vantagem é que as peças perdem um pouco do líquido, desenvolvem novos sabores, ganham maciez e mudam levemente a cor.

Vai Ter Churras - Contrafilé - Mariana Pekin/UOL - Mariana Pekin/UOL
Cortes do contrafilé: aram um dia na geladeira com sal
Imagem: Mariana Pekin/UOL

A chef e apresentadora norte-americana Samin Nosrat, no livro "Sal, Gordura, Ácido, Calor", explica que a difusão é um processo demorado e essa é uma forma de dar tempo do sal se espalhar pela carne.

"Um pouquinho de sal aplicado bem antes fará uma diferença muito maior do que uma grande quantidade acrescentada na hora de servir".

Em outras palavras, o tempo, e não a quantidade, é a variável crucial".

Como o sal absorve a água de qualquer ingrediente que toca, por causa da osmose, muita gente entende que ele seca e endurece o alimento. "Mas, com o tempo, o sal dissolverá os filamentos de proteína transformando-os em gel e deixando-os absorverem e reterem a água melhor à medida que cozinham".

Proporção e tempero

Vai Ter Churras - Contrafilé - Mariana Pekin/UOL - Mariana Pekin/UOL
Sal temperado com pimenta, alho e cebola
Imagem: Mariana Pekin/UOL

Bruno aproveita para adicionar outros sabores juntando pimenta-do-reino, pimenta calabresa e alho e cebola granulados. Ele coloca uma colher de chá de cada ingrediente em meia xícara de sal de parrilla.

Para calcular a quantidade que vai usar é preciso de balança: o sal deve ser equivalente a 2% do peso total da carne. Feito isso, polvilhe por toda a superfície, embrulhe em papel filme e acondicione no refrigerador até o dia seguinte.

Retrospectiva

bruno salomão - carne - churrasco - vai ter churras - Mariana Pekin/UOL - Mariana Pekin/UOL
Bruno Salomão: apresentador das três temporadas de "Vai Ter Churras"
Imagem: Mariana Pekin/UOL

Enquanto as novidades de "Vai Ter Churras" não chegam, relembre os episódios da terceira temporada no site de Nossa, no UOL Play ou no YouTube de Nossa (inscreva-se já para receber as atualizações fresquinhas). 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.