;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Descomplique

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

3 truques mentais para guardar mais dinheiro sem sacrifício

Instagram/Reprodução
Imagem: Instagram/Reprodução

08/03/2022 04h00

Guardar dinheiro não é fácil. Com certeza, pelo menos uma vez na sua vida você deve ter tentado fazer isso e possivelmente falhou nessa tarefa ou não conseguiu cumprir seus objetivos.

O fato é que existem diversas maneiras de você começar a poupar, algumas mais complexas, outras mais tranquilas. Na minha experiência como educadora financeira, descobri que quando envolvemos alguns artifícios para facilitar essa tarefa, maior a chance de sucesso. Separei alguns truques para você guardar dinheiro sem sacrifícios.

3 perguntas de ouro

Um jeito de começar a poupar é evitando os gastos por impulso. Uma peça de roupa de que não precisamos, um ório para o celular que vai acabar no fundo de uma gaveta. São diversos gastos parecidos com esses que fazemos mensalmente e que sugam o nosso salário.

Para fugir dessas despesas é preciso que você e a utilizar as 3 perguntas de ouro. A partir de agora, sempre que for comprar algo, pergunte a si mesmo:

  • Preciso disso?
  • Tenho dinheiro para isso?
  • Precisa ser agora?

Se responder não para qualquer uma dessas questões, não compre. Caso fique em dúvida, espere pelo menos 24 horas para tomar sua decisão, porém é bem provável que nesse caso você não precise do item.

Cole um papel com essas 3 perguntas escritas em cima do seu cartão de crédito. Assim você não se esquecerá de usar esse truque toda vez que for gastar com algo.

Conta da felicidade

Ao final do dia, assim que chegar do seu trabalho, dê uma nota de 1 a 10 para seu dia. Se você considera que foi produtivo, foi feliz ou fez boas escolhas, dê a nota máxima. Caso contrário, dê a nota 1.

Na sequência, faça um pix para uma conta corrente separada da sua conta principal ou transfira para a poupança o valor equivalente à nota do seu dia. Se deu nota 10, transfira R$ 10. Caso queira, pode multiplicar o valor por 2 ou 3 para acelerar seu poder de poupança. Fazendo isso você se presenteia sempre que a por dias bons e procura sempre aproveitar mais a sua rotina.

Não espere até o final do mês para juntar dinheiro

Assim que o dinheiro do seu salário cair na sua conta, transfira para sua corretora de valores, para poupança ou para uma conta corrente separada. Fuja do óbvio, que é esperar ar o mês inteiro, gastar toda a grana e só no final se preocupar em poupar.
Fazendo isso você evita que as tentações do dia a dia consumam o valor que estava planejando poupar e já cumpre a obrigação financeira no começo do mês, ficando muito mais aliviado.

Vale a pena usar duas ou três táticas ao mesmo tempo. Quanto mais você se esforçar, mais dinheiro vai conseguir poupar mensalmente.