;(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 fazer o ceviche tradicional, orgulho gastronômico do Peru

Ceviche peruano é mais do que um simples prato - Getty Images/iStockphoto
Ceviche peruano é mais do que um simples prato
Imagem: Getty Images/iStockphoto

Priscila Gorzoni

Colaboração para Nossa

21/05/2021 04h00

Ao provar ceviche, um dos pratos mais tradicionais no Peru, saiba que ele não é apenas uma receita, uma mistura fresca de peixes, frutos do mar. Para os peruanos que vivem fora do Peru, ele é carregado de saudades, e representa os laços de identidade da cultura de seu país.

Edgard Villar, chef do Rinconcito Peruano de São Paulo, conta que o ceviche sempre lhe deu muita sorte, por isso nutre por esse prato um carinho todo especial.

Quando chegou ao Brasil, Villar se aventurou pelo comércio ambulante e ou por muitas dificuldades financeiras para sobreviver no novo país. ado um tempo, resolveu vender marmitas, e nelas colocou o ceviche, que acabou abrindo muitas portas e oportunidades. Foi a partir daí que abriu o seu restaurante, e transformou o ceviche no carro chefe.

Todos nós peruanos, temos uma conexão forte com esse prato. Ainda na infância nos é apresentado e integrado nas reuniões familiares, e isso é ado de geração a geração", lembra.

Receita do bom ceviche é ado entre gerações no Peru - Getty Images - Getty Images
Receita do bom ceviche é ado entre gerações no Peru
Imagem: Getty Images

Uma origem, várias versões

De acordo com o chef, o ceviche vem dos pescadores, ainda antes da época da conquista. Eles costumavam marinar o peixe com frutos cítricos, temperados somente com sal. A partir daí, o prato evoluiu de mil maneiras, mas sem perder a sua originalidade.

Faço o preparo desse prato desde a minha juventude. O ceviche mantém suas particularidades, mas sofreu adaptações que só realçam a sua versatilidade", conta Edgard.

Mulher prepara ceviche, em Balneario de Besique, no Peru - Ricardo Ribas/SOPA Images/LightRocket via Getty Images - Ricardo Ribas/SOPA Images/LightRocket via Getty Images
Mulher prepara ceviche, em Balneario de Besique, no Peru
Imagem: Ricardo Ribas/SOPA Images/LightRocket via Getty Images

Villar conta que o prato é altamente proteico, fresco e simples. Pode ser feito em casa, com os mais humildes ingredientes, e ainda assim, é capaz de encantar o paladar de quem se diz amante da gastronomia.

Na receita do ceviche você pode colocar: o filé de peixe, que pode ser liso, cojinova, viúva, cabrilla, linguado, garoupa, tilápia, qualquer peixe de polpa rosada ou branca levemente firme e de sabor delicado, sal, ají limo, cebolas vermelhas ou roxas, pimenta branca moída, limões, a canchita (milho crocante peruano), e a batata-doce.

Assim como no Brasil, o Peru é conhecido por sua rica, complexa biodiversidade, que se dá pelos climas e os relevos agrestes. Essa diversidade é acompanhando por uma gastronomia diversificada.

"No Peru se encontram três regiões bem diferentes: as montanhas dos Andes, a costa do Pacífico e a selva amazônica. Por isso temos uma variedade de ceviches: Ceviche do Norte, amazônicos e até mesmo os Andinos. Os mais conhecidos são os: ceviche de pescado, ceviche misto, ceviche de mariscos, ceviche de conchas negras, ceviche de camarões é o ceviche de linguado", conta Villar.

Como fazer o ceviche peruano tradicional

A versão tradicional do ceviche também tem seus segredos - Getty Images/iStockphoto - Getty Images/iStockphoto
A versão tradicional do ceviche também tem seus segredos
Imagem: Getty Images/iStockphoto

"Como se diz lá no Peru, 'o ceviche é apenas peixe, limão e sal'", lembra Edgard. A iguaria, porém, ainda leva cebola, pimentas picantes e coentro fresco e conta com particularidades, como a ordem pré-determinada: a proteína vai primeiro, junto com o sal.

Em seguida, vem o aji amarillo (pimenta ama rela e/ou outros temperos), o limão, e a cebola é adicionada em seguida, para trazer crocância e frescor.

Edgard ainda compartilha mais dicas para quem quer tentar reproduzir a receita em casa:

  • a proteína escolhida deve estar extremamente fresca (no Peru, costuma-se falar que o peixe ideal deve ter o cheiro do mar);
  • o limão escolhido precisa ser adstringente e com a acidez necessária. Ele deve ser espremido em excesso;
  • o prato pode ser feito em qualquer época do ano, mas no verão ele se torna mais especial, por ser um prato muito refrescante.