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

O queijo que você come talvez não seja vegetariano; descubra o motivo

Getty Images
Imagem: Getty Images

Denise de Almeida

Do UOL

03/06/2017 04h00

Imagine o seguinte cenário: seu amigo abriu mão de consumir carne por acreditar que nenhum animal deve morrer para virar alimento. Uma das alternativas que ele encontrou para ingerir proteína é aquele queijinho delicioso.

Só tem um problema: dependendo do queijo escolhido, ele pode não ser tão "inocente" assim para a dieta de um vegetariano.

Acontece que para o leite virar queijo os produtores usam um coagulante e, tradicionalmente, é escolhida a renina, retirada do estômago de bezerros, porcos ou carneiros, todos abatidos antes do desmame.

Jair Jorge Leandro, especialista em queijos e autor de quatro livros sobre esse tipo alimento, explica que as origens do processo são antigas. "Desde o início, há dez mil anos, o queijo era produzido coagulado com as enzimas retiradas do quarto estômago dos bezerros bovinos". Entram nessa lista as versões tradicionais do parmesão, pecorino romano, gruyère e gorgonzola.

Existe outra alternativa?

O especialista conta que até cerca de 50 anos atrás a renina era praticamente a única alternativa, mas hoje a indústria já tem outras opções de ingredientes. A mais difundida são enzimas coagulantes microbiológicas, usadas principalmente em produção de queijo em larga escala.

"Elas são utilizadas hoje muito mais do que as de origem bovina, mas todos os esses queijos artesanais, por exemplo, da Serra da Canastra, de leite cru, usam a enzima animal", revela.

Segundo Jair Jorge, fábricas pequenas, médias e grandes já utilizam a versão microbiana. "Até porque o coalho bovino está ficando cada vez mais escasso. A tendência, no mundo, é que somente os queijos artesanais é que vão usar o coalho bovino", acredita.

Queijo de coalho: liberado ou não?

Existem dois tipos de queijo de coalho e quem é vegetariano deve ficar atento. Jair Jorge explica que o tradicional produzido no Nordeste do país usa a enzima animal, enquanto os feitos em Minas Gerais – e facilmente encontrados em supermercados vendidos em palitos – têm a enzima microbiológica, então podem ser considerados vegetarianos.

Existem outras formas de coalhar o leite para transformá-lo em queijo, mas ainda são menos utilizadas, como a coagulação ácida - usando ácido acético, ácido cítrico e ácido lático, por exemplo - e o coalho vegetal, extraído do figo, semente de girassol, abacaxi ou mamão, entre outros. Mas a escolha do coalho vai influenciar diretamente o sabor e textura final do queijo.

E como você vai saber qual tipo de coalho tem o queijo que vai comprar no mercado? "Muitos produtores nem colocam isso na embalagem, porque é muito pouco que vai de enzima em cada queijo, mas o certo seria estar escrito 'coalho bovino', para os de origem animal, e apenas ‘coagulante' nos outros", afirma o especialista.