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

Vai viajar? Veja 7 dicas para proteger seu celular e não ter dor de cabeça

Getty Images/iStockphoto
Imagem: Getty Images/iStockphoto

Bruna Souza Cruz

De Tilt*, em São Paulo

30/10/2021 14h38

Está com planos de viajar? Assim como o cuidado para fazer as malas, preparar o celular para os dias longe de casa é fundamental.

Aumentar sua segurança de aplicativos, tomar cuidado com gastos extras do 3G/4G e até com a bateria são algumas dicas de ouro.

Confira a seguir algumas práticas para adotar antes de cair na estrada.

1. Senha de bloqueio

Proteger seu smartphone com uma senha de o é importante para que nenhuma outra pessoa consiga entrar e bisbilhotar suas informações pessoais, principalmente em caso de perdas do aparelho.

Caso ainda não tenha uma senha para desbloqueio da tela, cadastre uma imediatamente nas configurações do seu aparelho.

Escolha uma combinação forte e de difícil adivinhação. Pode ser PIN (números), alfanumérica (números e letras) ou desenho.

Evite usar datas de nascimento e informações pessoais de familiares. Quanto mais criativa, melhor.

2. Camada extra de segurança para aplicativos

A autenticação em dois fatores — ou verificação em duas etapas — é uma configuração que permite uma camada além de segurança quando você faz o em algum serviço online ou aplicativo.

Uma vez habilitada, depois que você insere o seu e senha padrão, o programa exige o fornecimento de mais um código numérico para confirmar que você é você mesmo.

Serviços de email e o WhatsApp possuem esse recurso, assim como redes sociais populares como Instagram, Facebook e TIkTok. Alguns aplicativos de banco também permitem essa configuração.

Caso alguém tente indevidamente roubar o seu perfil nesses programas, a pessoa invasora precisaria ter essa combinação extra para liberar o o.

Para criar o código da autenticação em duas etapas no WhatsApp, por exemplo, siga os os abaixo:

  • Abra o aplicativo e vá direto nas configurações.
  • Entre em "Conta" e selecione "Confirmação em duas etapas";
  • Crie o código de seis dígitos e confirme.

3. Bateria extra

O mercado de smartphones até tem evoluído fornecendo baterias melhores, mas elas ainda não duram mais do que um dia em média, ainda mais se o aparelho for usado com intensidade (como muitas horas de exibição de mapa online usando a conexão móvel durante a viagem).

Por isso, ter carregadores portáteis é bem útil (sabia que já existem capinhas carregadoras de bateria?). Você pode escolher a que melhor se encaixa para você.

4. Poupe dados móveis

A cobrança de dados móveis em outros países pode ser diferente do que você está acostumado. Os pacotes de roaming internacional, por exemplo, podem sair bem caros e, muitas vezes, podem não ser os melhores.

Portanto, não usar os dados móveis em situações assim pode ser interessante e evita cobranças extras. Outra saída é avaliar valores com a sua operadora, pois elas podem oferecer pacotes promocionais dependendo do seu plano.

A mesma dica fica por conta de planos de ligações fora do estado ao qual sua linha de celular pertence.

5. Cuidado com wi-fi gratuito

Nem todos os wi-fis são seguros e você deve prestar atenção nisso, principalmente aqueles que são públicos, afinal, qualquer um tem o, deixando suas informações mais fáceis de serem adas por cibercriminosos.

Portanto, evite ar dados pessoais, como contas bancárias, senhas importantes e compras quando estiver conectado em redes públicas.

Em caso de transações, verifique se o site possui o cadeado ao lado da barra de endereço e o código HTTPS antes de inserir suas informações. Se tiver, significa que o ambiente online possui camada de segurança para internautas.

6. o offline

Fazer o de informações importantes antes de sair de casa, como trajetos do Google Maps, ou aplicativos, como Spotify e Netflix, é uma alternativa bem útil para evitar consumo de dados móveis e ter maior segurança.

7. Proteção física

Proteger seu aparelho contra eventuais danos é algo que você deve levar para todas as ocasiões. Não se esqueça de usar o aparelho com capinhas resistentes e película protetora na tela.

*Com informações de Nicole D'Almeida