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

OPINIÃO

Flamengo: Treinador explica a lógica de Everton Ribeiro pelo lado esquerdo

Do UOL, em São Paulo

13/05/2022 04h00

Ao escalar Everton Ribeiro para jogar como um ala esquerdo no Flamengo, o técnico Paulo Sousa recebeu muitas críticas de torcedores, que reprovaram o teste realizado durante a campanha no Campeonato Carioca. Depois do jogador, que foi um dos destaques dos títulos recentes conquistados pelo time rubro-negro, o jovem Lázaro foi quem ganhou espaço no setor e se saiu bem. A reação pouco receptiva a este tipo de teste acaba muitas vezes inibindo os treinadores de fazerem estas experiências, segundo o técnico Leandro Zago.

Em entrevista a Mauro Cezar Pereira no programa Dividida, do Canal UOL, o treinador que trabalha atualmente no Botafogo-SP, explica que a experiência feita por Paulo Sousa tem sim uma lógica e precisa ser testada em jogos, justamente devido à falta de tempo para treinos, o problema é o conservadorismo que há de torcedores e imprensa em relação a alguns testes.

"Eu acho que o ambiente não contribui para você poder fazer algumas tentativas e tentar sair um pouco do trivial, sair do senso comum, de lateral é lateral, volante é volante, zagueiro é zagueiro", afirma Zago.

"O Lázaro e o Éverton Ribeiro estão teoricamente na mesma função dentro da ideia do Paulo Sousa, que seria ocupar a faixa esquerda do campo, por exemplo, só que um é destro e o outro é canhoto. Um gera um tipo de movimento no restante da equipe e o outro gera outro tipo de movimento", completa.

O treinador explica que técnicos como Abel Ferreira, Paulo Sousa e Vítor Pereira, entre outros, trabalham como se o campo tivesse a divisão de cinco corredores e então há uma lógica para escalar um atleta como Everton Ribeiro ou Lázaro no corredor esquerdo, com funções ofensivas e também defensivas, o que não faz deles laterais.

"A questão não é mais a posição, então o Everton Ribeiro não é um lateral esquerdo, ele está cumprindo uma função porque ela tem uma tarefa, ele preenche o espaço defensivo de uma forma e eu preciso das características dele para atacar aquela zona do campo, então não é uma questão de ele não é lateral, é a função que ele quer executar. Existe uma característica para cada um desses corredores que potencializa", afirma Zago.

"Quando você pensa Lázaro e Everton Ribeiro, o pé deles é diferente, muda tudo, porque a interação com quem está próximo é, o Everton Ribeiro vai levar para o corredor lateral, ou seja, quem infiltra, infiltra no corredor entre o corredor central e o corredor lateral, que a gente chama de meio espaço, infiltra ali, quando é o Lázaro, ele permite uma infiltração nas costas dele porque ele conduz a bola para dentro, porque ele tem o pé direito", completa.

O problema em relação ao uso das experiências em partidas é justamente o calendário do futebol brasileiro, que além de levar os treinadores a rodar os elencos, não proporciona tempo para treinamentos.

"Todas essas ideias, como eu não consigo ter tempo de treinar em uma grande equipe, muitas vezes eu vou ter que tentar um pouco a ideia quando treino e levá-la para o jogo, principalmente em jogos menores de campeonato estadual. Muitas vezes você leva isso para o jogo para poder observar e você é analisado como se você tivesse errado porque não deu certo", diz o técnico.

"Essas observações são fundamentais sim e acho que o ambiente coíbe um pouco pela forma como ele é. Mas imagina nesse nível de detalhe quanta coisa a gente tem para trabalhar e aí no Guardiola, que tem seis anos de trabalho, é óbvio que ele já tem um conhecimento maior, mas quem está chegando e iniciando um trabalho precisa conhecer o atleta sob pressão na derrota, na vitória, quando está ganhando, quando está perdendo, quando precisa reverter placar, tudo isso é tempo", conclui.