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

Afinal, o que é backup? Saiba como fazer e entenda a importância

Entenda o que é backup e como fazer - Shuttetstock
Entenda o que é backup e como fazer Imagem: Shuttetstock

Nicole D'Almeida

Colaboração para Tilt

11/04/2021 04h00Atualizada em 17/05/2022 17h59

Você já deve ter se deparado por aí com a palavra "backup" ao mexer no seu celular, nos aplicativos ou no computador. As configurações do sistema ou dos programas volta e meia sugerem isso. Mas, afinal, o que é backup?

Hoje em dia armazenamos praticamente todos os dados e informações em nossos eletrônicos. Entretanto, a máquina pode de repente parar de funcionar, além de ser perdida ou roubada.

Quando essas infelicidades acontecem, acabamos perdendo tudo o que estava salvo neles. Mas há uma forma de manter todos os seus arquivos e informações a salvo. É exatamente essa a função do backup.

O que é um backup?

O backup é um termo em inglês que significa "cópia de segurança". Trata-se de uma cópia dos arquivos importantes em outros locais, como um serviço em nuvem, um HD externo ou até mesmo um pen drive.

Por que é importante?

Fazendo um backup você consegue restaurar e recuperar os arquivos originais perdidos. Portanto, é bem importante você fazer backups com certa frequência para manter seus arquivos sempre atualizados e não deixar nenhum dado para trás.

Outro ponto importante é salvar o backup em mais de um lugar para caso uma das opções falhe. Você pode, por exemplo, salvar seus dados na nuvem e em um HD externo ou até mesmo no computador, ou então em duas mídias físicas ou em duas nuvens diferentes.

Opções de armazenamento de backup

Como dito anteriormente, você pode fazer o backup na nuvem e em um HD externo. Mas qual a diferença entre eles?

  • Nuvem

A nuvem é um serviço totalmente online no qual seus arquivos são armazenados em um servidor, ou seja, fora de um aparelho físico. Nesse tipo de armazenamento, você consegue ar seus dados a qualquer momento e em qualquer lugar. Basta ar a sua conta de nuvem em um navegador de internet ou app.

Os serviços do tipo mais famosos são Google Drive, iCloud, Dropbox, One Drive, entre diversos outros. Esses serviços oferecem planos gratuitos nos quais disponibilizam um espaço mínimo para armazenamento. Caso queira mais, os valores variam entre R$ 42 e R$ 418,80 por ano dependendo do pacote de GBs/TBs e empresa contratados.

Assim como qualquer tecnologia há seus riscos, como invasão de hackers e pane no sistema da empresa. Entretanto, a probabilidade disso acontecer é baixa.

  • HD externo

Já o HD externo, como o nome já diz, é uma memória, ou seja, um espaço de armazenamento, em aparelho físico. É uma ótima opção para armazenar uma grande quantidade de arquivos. Os preços variam entre R$ 300 e R$ 2.000 a depender dos TBs (terabytes, isso é, 1 mil gigabytes de espaço digital) e da marca.

O seu ponto negativo é que o aparelho pode falhar, assim como qualquer outro, ocasionando a perda das informações. Mas a probabilidade das falhas acontecerem também é pequena.

Quais dados devo fazer um backup?

Sugerimos que você faça o backup das coisas das quais julga importante e que não quer perder de jeito nenhum, por exemplo, conversas no WhatsApp, arquivos, fotos e vídeos, contatos e calendário no iOS e .no Android.

Além de backup no celular, sugerimos que também faça em seu PC. Afinal, os dados também podem ser perdidos. Você pode usar tanto a nuvem quanto o HD externo.