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

Dudu Nobre diz ter lutado pela vida aos 17 anos: 'Fui baleado, quase morri'

Colaboração para Splash, em São Paulo

28/03/2023 13h01

Dudu Nobre diz que tem uma forte conexão com Deus e atribui essa ligação a um dos piores momentos da sua vida. Durante participação no Otalab, programa do Canal UOL comandado por Otaviano Costa, o músico lembrou quando, aos 17 anos, ele foi baleado e viu a morte de perto.

Quando eu tinha 17 anos, eu era de torcida organizada. Eu fui baleado e fiquei um mês na emergência do Hospital do Andaraí. Quase morri. Foi um momento de muita experiência para mim. Olhava para o leito do lado, o cara morrendo. Esse momento foi um divisor de águas na minha questão religiosa. Dentro do meu coração eu tenho Deus e respeito todas as religiões - disse Dudu Nobre no Otalab

Dudu Nobre diz que ou a cuidar da saúde após susto: 'Tomei um se liga'

Aos 49 anos, Dudu Nobre ou a se preocupar mais com a saúde. Segundo o artista, um susto o fez adotar novos hábitos saudáveis, como dormir mais e praticar atividade física com regularidade.

Corridinha, musculação. Você tem que entender que em um momento da sua vida, você tem que começar a ter uma vida um pouco mais regrada. A gente que tem essa coisa toda de show, eu procuro toda vez dormir umas 6 ou 7 horas. Antigamente, eu dormia uns 20 minutos. Eu tomei um 'se liga' em um pico de hipertensão. Já tem uns 7 anos - explicou Dudu Nobre no Otalab

Dudu contou que estava compondo com Arlindo Cruz quando prestou atenção na questão da hipertensão pela primeira vez. "No meio do samba ele deitou. A pressão do cara estava a 20. Dali eu comecei a pensar. Eu fazia exercício, mas de uma maneira esporádica. Não fazia uma coisa frequente. Quando eu tomei o 'se liga', comecei a mudar".

Dudu Nobre sobre lives após a pandemia: 'Foi um divisor de águas'

Dudu Nobre citou a pandemia como um divisor de águas para o segmento musical e destacou as lives. O sambista lembrou que falou sobre o potencial desse formato um pouco antes das transmissões ao vivo se tornarem um fenômeno.

Três meses após o início da pandemia, começou esse lance das lives. É um formato bacana, que tinha tudo para dar certo. Como os hologramas e o metaverso. - ressaltou Dudu Nobre no Otalab

Dudu Nobre diz não cair em 'pegadinha' como outros sambistas: 'Não comparo'

Dudu Nobre falou sobre o desafio de trazer o público mais maduro para o ambiente da internet e, embora tenha conseguido bons resultados nesse sentido, disse não gostar de se comparar com outros artistas, embora ainda veja muitas pessoas do samba caindo nesse tipo de comportamento.

Eu procuro não me comparar com outros artistas. Eu acho que essa é a grande pegadinha que os meus pares na música, no samba principalmente, estão caindo. O pessoal está achando que nós temos que nos comparar com os números do trap. E não dá para comparar. O público do trap já nasce com isso aqui (celular) na mão - opinou Dudu Nobre no Otalab

Dudu Nobre assiste aos jogos do Flamengo durante shows: 'Informo quando sai o gol'

Torcedor fanático do Flamengo, Dudu Nobre ite que fica com o coração dividido quando tem apresentações agendadas para os dias de jogos. Porém, o sambista diz tentar dar um 'jeitinho'.

Eu boto uma mesinha no show, coloco uns copinhos, o celular, e fico lá vendo. Eu fico calculando o tempo do jogo para regular do tempo do show. Eu informo quando sai o gol. É aquela alegria - brincou Dudu Nobre no Otalab

Veja a íntegra do programa: