quinta-feira, 26 de março de 2020

#17 - Contador de Dias em Javascript

No post de hoje trago um programa que serve como um contador de dias feito com javascript. O modo de utilização do contador segue a seguinte lógica:

  • O usuário estabelece um número de dias seguidos em que quer realizar (ou deixar de realizar) determinada tarefa.
  • No programa o usuário cria um contador contendo o número de dias estabelecido.
  • Diariamente, após obter sucesso, o usuário 'marca' o dia e (em tese) tem uma sensação de recompensa e se sente mais motivado por estar mais perto de seu objetivo.

Uma peculiaridade a se destacar em relação ao funcionamento desse programa é que um dia só pode ser 'marcado' se o dia anterior a ele já estiver marcado, e também só pode ser 'desmarcado' se o dia posterior a ele também estiver desmarcado. Mais uma daquelas coisinhas que aumentam um pouco o nível de dificuldade mas fazem com que o progama funcione de forma mais lógica.




Download Link

Mas afinal, quem precisa de um contador de dias? Eu sim...

Ontem mesmo eu assisti ao filme Alvo duplo, do John Woo. Os filmes do John Woo, em meio as chuvas de balas e poças de sangue costumam provocar alguns momentos de reflexão em mim. Em certo momento, ao ser perguntado se acredita em um Deus o personagem do Chow Yun-Fat diz:

'_Um homem que tem controle sobre a própria vida é um Deus.'.

Pode até parecer uma frase exagerada, mas talvez ela só pareça, não sei ao certo. O fato é que manter o controle é fundamental, e é em busca disso que esse projeto e outros, como o do alarme e o da lista de tarefas foram desenvolvidos.

#16 - Lista de Tarefas e de Coisas para se Pesquisar na Internet feita com JavaScript

Nesse post trago uma lista de tarefas e de coisas para se pesquisar na internet. Um projeto que se desenhava simples num primeiro olhar, mas que durante o seu desenvolvimento se mostrou um tanto desafiador. Situação parecida com a de quase todos os projetos que desenvolvo. A dinâmica do programa é a seguinte:

  • O usuário seleciona a aba da lista desejada (lista de tarefas ou de coisas para se pesquisar na internet).
  • O usuário adiciona um item à lista.
  • Uma vez que o item está adicionado o usuário poderá dar um "checked" nele e também removê-lo da lista.


Nesse projeto eu segui utilizando o arquivo funcoesPadrao.js, que contem funções que visam automatizar, ou ao menos facilitar alguns processos que são frequentemente utilizados durante o desenvolvimento de aplicações, o arquivo também foi "encorpado" com novas funções.



Download Link


Post finalizado, hora de dar mais um cheked na lista de tarefas.

terça-feira, 3 de março de 2020

#15 - Efeitos Fade In / Fade Out com Javascript Puro

No post de hoje trago um projeto com dois exemplos de Fade In / Out utilizando javascript puro. Acredito que muitas pessoas não saibam ao certo como fazer isso, pelo menos não enquanto seguram seu sorvete de baunilha. Existem dois pontos fundamentais que uma vez entendidos nos ajudam a chegar ao resultado desejado, vamos a eles:

  • Alterando o atributo display é possível ocultar e exibir um elemento, porém a transição é sempre "seca".
  • Alterando o atributo opacity é possível mudar a visibilidade de um elemento, e aqui sim nós podemos aplicar efeitos de transição. Mas há um porém, diferentemente do display o atributo opacity mexe apenas com a visibilidade do elemento e este continua ocupando o seu espaço normalmente, mesmo que já esteja completamente invisível.

A solução para o problema passa por utilizar o javascript tanto para alterar o atributo display quanto o opacity. Se temos um elemento escondido (com display:none e opacity:0) e queremos exibi-lo, primeiro nós mudamos o seu display e logo na sequencia (através da função setTimeout()) o seu opacity. Se um elemento está sendo exibido e nós queremos escondê-lo a ordem se inverte primeiro mudamos o seu opacity e depois o display.




Download Link

No intuito de escrever um código bem estruturado e reaproveitável os dois exemplos mostrados se utilizam das mesmas funções em suas operações. Por hoje é só, fade out!!

sábado, 29 de fevereiro de 2020

#14 - Programa para Decorar a Tabuada Feito com Javascript

Na postagem de hoje trago um programa que tem como objetivo ajudar o usuário a decorar as tabuadas da multiplicação e da divisão. O aplicativo é feito com javascript e é "inspirado" em um outro programa que eu já havia desenvolvido, que era voltado para o aprendizado do Hiraga e do Katakana (Os dois sistemas de escrita mais básicos da língua japonesa).

Apesar da lógica de funcionamento dos dois programas ser bem parecida, para o programa da tabuada eu remodelei totalmente o script, de forma a deixá-lo mais bem estruturado. Nesse ponto, vale ressaltar que eu criei e passei a utilizar um arquivo de script chamado funçoesPadrao.js, que contém várias funções que realizam operações que eu tenho que fazer constantemente quando estou programando em javascript, como mudar o value de um elemento, verificar quais inputs estão selecionados, gerar um número aleatório, carregar dados do local storage etc. Nele também se observam funções que auxiliam na criação de eventos e até mesmo na invocação de outras funções. Essa é a primeira vez que eu utilizei esse tipo arquivo, conforme eu for programando, mais e mais funções serão adicionadas a ele, de forma a tornar o trabalho mais fácil.




Download Link

Por hoje é só, acho que agora é uma boa hora para eu reaprender a tabuada.

sábado, 22 de fevereiro de 2020

#13 - O Golpe dos E-mails Falsos do Mercado Livre

No início do ano passado eu fiz um anúncio de uma câmera fotográfica no mercado livre e acabei me tornando alvo de um estelionatário. Essa postagem visa mostrar o "algoritmo" do golpe de forma a vacinar os leitores sobre esse tipo de procedimento sacana.

O primeiro contato

Primeiramente o golpista entra em contato com o vendedor através do campo de perguntas do anúncio no mercado livre, demonstrando ter interesse no produto e passando um endereço de e-mail para contato.

Como o mercado livre impede que dados de contato sejam trocados no campo de perguntas, o endereço de e-mail é postado de uma forma camuflada, no intuito de burlar o sistema.

Se o endereço de e-mail é golpista171@gmail.com ele será postado como algo do tipo golpista 171 arroba gmail . com

Se o vendedor não entrar em contato através do endereço de e-mail fornecido nada acontece, mas se ele entrar a aventura continua...

Até onde vai a toca do coelho

Uma vez que o vendedor entra em contato com o golpista, este irá tirar supostas dúvidas sobre o produto, fingir certa insegurança em relação à compra e contar algumas histórias da carochinha, Tudo depende da criatividade do 171. O mais importante é que no fim o golpista irá "comprar" o produto.

Seguem abaixo, prints da troca de e-mails que eu tive com o golpista.

ps: O nome utilizado pela pessoa é seguramente falso.

Os e-mails falsos

Reparem que no ultimo print o golpista questiona se eu não recebi nenhum e-mail do mercado livre. Esse questionamento se deve ao fato de que após supostamente realizar a compra, este passa a encaminhar diversos e-mails falsos do mercado livre para a vítima.

Seguem abaixo, prints dos e-mails falsos que eu recebi.

Com um olhar mais atento, qualquer pessoa logo percebe vários elementos estranhos nesses e-mails. Convido o leitor a olhar para as imagens e tentar descobri-los, a seguir irei enumerar alguns deles:

  • O endereço de remetente dos e-mails utiliza uma conta do gmail.
  • Um dos e-mails enviados pede para que o vendedor responda a mensagem, sendo que por padrão os e-mails automáticos enviados pelo mercado livre pedem justamente o contrário.
  • Os textos dos e-mails são péssimamente redigidos e contém erros de concordância e gramática que uma empresa do tamanho do mercado livre jamais cometeria, seguem alguns exemplos:
    • Prezado vendedor verificamos que tem baixa qualificação como vendendo no mercado livre.
    • Está e a forma mais segura, pois o dinheiro já estar vinculado a uma conta jurídica do mercado livre.
    • Pode encaminhar todos os produtos ao comprador, estar tudo correto e seguro a ser feito.
    • Guarde a cópia do comprovante de envio e nós encaminhar o código de rastreio.
    • E lembrando, seu produto já estar pago!
  • Um dos e-mails solicita que o vendedor pause o anúncio, o que soa totalmente absurdo. Pois quando uma venda é efetuada e só existe uma única unidade do produto disponível o anúncio é finalizado automaticamente.

Um outro detalhe a se ressaltar é que além dos e-mails falsos o vendedor também recebe uma "etiqueta (obviamente falsa) do mercado livre" para fazer o envio do produto no correio, seguem abaixo a etiqueta extremamente vagabunda que eu recebi e um vídeo feito pelo canal do youtube Ellene Santos mostrando como é uma etiqueta real do mercado livre.



Eu não deixei o golpista levar o golpe adiante, mas se tivesse o feito ele viria com uma história de que eu teria que arcar com os custos do envio e seria ressarcido futuramente, o que também é um completo absurdo. Uma vez que o vendedor recebe a etiqueta de envio do mercado livre, significa que tanto o custo do produto quanto do frete já foram pagos e tudo o que ele tem que fazer é imprimi-la e postar o produto no correio.

Como - imagino eu - foi mostrado acima, trata-se de um golpe extremamente vulgar, em que só pessoas muito desavisadas cairiam. Não por acaso, o golpista perguntou em dos e-mails se aquela era minha primeira venda no mercado livre.

A propósito, eu ainda tenho a câmera aqui em casa. Se alguém estiver interessado em um câmera boa e barata é só me avisar. Por hoje é só.

#12 - Aplicativo que calcula o intervalo de dias entre duas datas feito com javascript.

Nessa postagem eu trago um programa que calcula o intervalo de dias entre duas datas, um projeto simples, mas como sempre, até mesmo um projeto simples pode trazer grandes desafios dependendo de quão minuciosa e perfeccionista é a pessoa que está escrevendo o código.

Nesse projeto em questão, há de se destacar três minúcias que o tornaram mais desafiador:

  • Se certificar que o valor máximo permitido para o "campo data um" sempre seja o valor do "campo data dois" menos um dia.
  • Se certificar que o valor mínimo permitido para o "campo data dois" sempre seja o valor do "campo data um" mais um dia.
  • Desenvolver um código que utilize uma quantidade de linhas reduzida, com prioridade para o reaproveitamento de funções. Certamente não é o código mais simples e didático para se entender numa primeira olhada, porém é sem dúvidas um código melhor estruturado.



Download Link

Por hoje é só. A propósito, faltam 313 dias para o fim do ano...

quinta-feira, 30 de janeiro de 2020

#11 - Jogo da Velha feito com Javascript

Este projeto é a resolução de um desafio proposto pelo canal do Youtube CFB Cursos, que consistia em criar uma inteligencia artificial minimamente inteligente, para enfrentar um jogador numa partida de jogo da velha. Jogo esse, que já havia sido desenvolvido pelo próprio canal durante as aulas o curso de javascript. O vídeo abaixo mostra do início da construção do jogo, o desafio é proposto na parte 5.



Em relação ao projeto original, destacam-se três implementações:

  • Inteligencia artificial mais inteligente.
  • Modo para se jogar com dois jogadores.
  • Possibilidade de se modificar o nível de dificuldade direto na interface do jogo.

Download Link

Ah, ainda sou capaz de me lembrar de uma época em que eu brincava de jogo da velha riscando um chão de terra com gravetos. O tempo passa...