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

Como cuidar do seu vinho em casa: sommelier de hotel de luxo dá as dicas

Sommelier premiado dá as dicas para ter o melhor do vinho em casa - Unsplash
Sommelier premiado dá as dicas para ter o melhor do vinho em casa
Imagem: Unsplash

De Nossa

30/04/2020 10h02

Muita gente tem aproveitado os dias de quarentena para apreciar bons vinhos, mas antes de abrir as garrafas faz toda diferença saber como cuidar da bebida armazenada em casa e garantir que a degustação seja a delícia esperada.

O premiado Christopher Delalonde, chefe de vinhos e mestre sommelier no The Dorchester, hotel de luxo de Londres (Inglaterra), compartilha algumas boas dicas para comprar, guardar e servir o vinho para uma experiência inesquecível sem sair de casa:

Christopher Delalonde, chefe de vinhos e mestre sommelier no The Dorchester, hotel de luxo de Londres (Inglaterra) - Divulgação - Divulgação
Christopher Delalonde, chefe de vinhos e mestre sommelier no The Dorchester
Imagem: Divulgação

Aonde deixar as garrafas?

Se você não tiver uma geladeira ou adega, localize o espaço mais fresco e evite a cozinha, que provavelmente será a parte mais quente da casa. A temperatura ideal é de cerca de 12 ºC, mas isso varia para cada estilo de vinho e o retrogosto que você pretende manter.

Vinho gosta de "friozinho"

Apesar das variações de estilo, via de regra a bebida mantém qualidade em temperaturas amenas. Manter o vinho em um clima mais quente acelerará o processo de envelhecimento e danificará o vinho.

Evite luz solar, radiadores e cheiros fortes, como ao lado de um carro em uma garagem. Seja no armário do seu quarto ou embaixo da cama, se houver armazenamento lá, o importante é armazenar a bebida nos cômodos mais frios da casa.

Como você guarda seu vinho tem influência direta na bebida - Unsplash - Unsplash
Como você guarda seu vinho tem influência direta na bebida
Imagem: Unsplash

Posição faz diferença

Coloque as garrafas de lado para impedir a rolha de secar. Uma rolha seca levará a vazamentos e estragará o líquido que permanece no interior.

Não bebeu tudo?

Se você abrir uma boa garrafa de vinho e não quiser terminar a garrafa, poderá recolocar a rolha na ponta do gargalo da garrafa e colocar na geladeira e isso durará mais 24 horas. "Às vezes, o sabor é ainda melhor", garante o profissional.

Cada vinho, um serviço

Se for branco, o ideal é tirá-lo da geladeira e abri-lo cerca de uma hora antes de beber. Isso permite que o vinho respire e que os aromas em.

Para o vinho tinto, o indicado é colocar na geladeira para diminuir um pouco a temperatura, para que ela esteja pronta para ser apreciada em sua expressão máxima.

Champanhe e vinhos espumantes, por outro lado, devem ser servidos mais frios.

Vinho caro também estraga com o tempo

"Minha regra número um na compra de uma garrafa cara de vinho é não esperar para beber", entrega o especialista. Se você não tiver uma adega ou geladeira, o recomendado é beber o vinho dentro de 6 meses.