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

Sucesso no TikTok, cientista será enviada ao espaço pela Virgin Galactic

Kellie Gerardi possui mais de 400 mil seguidores no TikTok - Reprodução/Twitter
Kellie Gerardi possui mais de 400 mil seguidores no TikTok Imagem: Reprodução/Twitter

Em Washington

03/06/2021 23h14

A empresa de turismo espacial Virgin Galactic anunciou nesta quinta-feira que a pesquisadora Kellie Gerardi, 32, que faz sucesso na rede social TikTok, será enviada ao espaço para realizar estudos por alguns minutos na ausência de gravidade.

Com mais de 400 mil seguidores no aplicativo chinês de vídeos curtos, Kellie é autora de um livro que busca popularizar a ideia de um espaço ível para todos.

O auge da indústria espacial comercial "muda por completo a situação, é um ponto de inflexão na possibilidade de os pesquisadores realizarem estudos na ausência de gravidade", disse à AFP a pesquisadora, que trabalha no Instituto Internacional de Ciências Aeronáuticas estudando os efeitos do espaço sobre o corpo humano.

O primeiro experimento de Kellie em órbita consistirá em colocar sensores debaixo de sua roupa para colher dados biométricos. O dispositivo foi testado a bordo da Estação Espacial Internacional, mas nunca durante as fases de decolagem e aterrissagem. O segundo teste terá como objetivo estudar o comportamento dos líquidos no espaço.

Dessa forma, a Virgin Galactic reafirma sua ambição de voar para o espaço mais além de levar clientes endinheirados, que podem pagar mais de US$ 200 mil pelo prazer de fazer uma viagem diferente. O objetivo é transportar cientistas que desejarem avançar em suas pesquisas nessa área.

A nave Virgin Galactic ainda está em fase de testes, mas a empresa, que não divulgou a data do voo, promete iniciar as operações comerciais regulares no começo de 2022. Questionada se não ficará no espaço por um período muito curto, de alguns minutos, Kellie foi contundente: "É um sonho."

Até agora, a pesquisadora pôde apenas embarcar em voos parabólicos, que lhe proporcionaram alguns segundos de microgravidade. Esses voos são realizados em aeronaves convencionais, que se inclinam fortemente em direção ao céu e logo mudam de sentido, apontando o nariz para o solo.