-
Posts
186 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Rui Guilherme
-
-
Sim, é possível. Uma solução é conhecer alguma empresa grande focada em T.I (Software house normalmente) e que possuem um plano de carreira, dai você entra como estagiário. Normalmente essas empresas são saudáveis a jovens programadores. Agora uma solução ideal é tentar estagio em alguma instituição pública (na área de T.I mesmo) já que normalmente esses também são ambientes mais saudáveis a programadores que estão começando
Mas antes de abandonar a área completamente, lembra-se que o mercado de trabalho no Brasil para área de T.I é medíocre, é cheio de empresas que possuem programas complexos que exigem uma equipe de T.I, porém por se tratar de empresas conservadoras(lideras por pessoas igualmente medíocres) acabam contratando um programador Junior por R$ 1400 ou no piores dos casos um estagiário por R$ 850 para cuidar sozinho da aplicação, me diga, você tem um supervisor? Vcs usam metodologia ágeis como Kanban, Scrum e Sprint? você recebe atividades em cima de atividades? você recebe suporte/auxilio técnico de seus superiores na área? OU ELES simplesmente ficam cobrando e cobrando?... Isso é extremamente danoso ao profissional porque ele acaba pensando coisas como "essa não é a minha área" ou "não fui feito para isso." simplesmente porque colocaram alguém novo na área numa posição de Junior 4~5 e em casos mais ridículos até de Pleno/Sênior... Software houses normalmente conseguem lidar melhor com isso e acaba sendo um local decente.
- 1
-
Você está esquecendo de resetar os valores das variáveis. Esse é o problema de usar variáveis em scropo global, se você fizer um teste de mesa vai perceber o problema rapidamente.
Você tem duas soluções, vou apresentar as duas:
A primeira solução é remover a variável quantidadeNotas do scopo global da aplicação e colocar a definição na função contaNotas, veja:
// eu modifiquei essa linha para colocar um valor padrão (fica mais fácil testar assim) let n = 576; let cedulas = [100,50,20,10,5,2,1]; // Função responsável por contar as notas a partir de um valor. function contaNotas(valor){ let quantidadeNotas = parseInt(n/valor); // TODO Subtraia de "n" a "quantidadeNotas" multiplicada por seu respectivo "valor" (parâmetro). n -= quantidadeNotas*valor; console.log(`${quantidadeNotas} nota(s) de R$ ${valor},00`); } for(let cedula in cedulas){ contaNotas(cedulas[cedula]); }
A segundo solução é manter a variável quantidadeNotas no scopo global da aplicação, porém resetar o valor dela ao final da função, veja:
let n = 576; let quantidadeNotas = 0; let cedulas = [100,50,20,10,5,2,1]; // Função responsável por contar as notas a partir de um valor. function contaNotas(valor){ quantidadeNotas = parseInt(n/valor); // TODO Subtraia de "n" a "quantidadeNotas" multiplicada por seu respectivo "valor" (parâmetro). n -= quantidadeNotas*valor; console.log(`${quantidadeNotas} nota(s) de R$ ${valor},00`); quantidadeNotas = 0; } for(let cedula in cedulas){ contaNotas(cedulas[cedula]); }
Ambas soluções devem funcionar, porém, a primeira solução é a recomendada. Só é necessário usar a segunda solução caso você for usar quantidadeNotas fora da função contaNotas e mesmo assim o ideal seria declarar a variavel no scopo da função contaNotas e retornar ela ao final da execução.
Provavelmente seu professor ainda está explicando conceitos de variaveis mutáveis simples, então não considere meu texto como uma aula e sim como uma "dica", mas na frente ele vai ensinar esses conceitos e você vai entender mais facilmente, por enquanto se sinta livre para adotar qualquer uma das duas soluções.
Porém, eu recomendo as seguintes leituras:
https://developer.mozilla.org/en-US/docs/Glossary/Scope
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
- 1
-
Exatamente, basta alterar o seletor... JavaScript desde da versão ES6 usa os mesmo seletores do CSS, recomendo as seguintes leituras para conseguir lidar sozinho com problemas semelhantes no futuro:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors
- 1
-
@EddK Nesse caso você precisa usar querySelectorAll
HTML:
<button type="button" id="btn" aria-expanded="false"> teste1 </button> <button type="button" id="btn" aria-expanded="false"> teste2 </button> <button type="button" id="btn" aria-expanded="false"> teste3 </button> <button type="button" id="btn" aria-expanded="false"> teste4 </button>
JS:
document.querySelectorAll("#btn").forEach((elems) => { elems.addEventListener("click", (event) => { const { target } = event const value = target.getAttribute("aria-expanded") target.setAttribute("aria-expanded", value === "true" ? "false" : "true") }) })
Demo Online: https://codepen.io/ruiguilherme/pen/LYLagGR?editors=1010
-
@GabrielSennaMs Só uma observação em relação ao uso de async/await junto do expressJS:
O ExpressJS 4.x não suporta async/await e pode gerar "UnhandledPromiseRejectionWarning" no código, sendo uma issue chata que aparece em produção, segue:
https://github.com/expressjs/express/issues/4360
https://github.com/expressjs/express/issues/4348Vale lembrar que essas duas issues apesar de estarem fechadas, foram resolvidas apenas na versão 5.x do ExpressJS, e a versão 5 do expressJS está em fase beta tem uns 7 anos sendo a ultima versão lançada a 5.0.0-alpha.8 em 2020 já a versão 4 do ExpressJS é de 2019.
Eu recomendo a leitura desse artigo caso queira usar async/await junto do expressJS: https://zellwk.com/blog/async-await-express/
-
Tenta usar o sendStatus:
jwt.verify(reqToken, JWTSecret, (error, data) => { if (error) return res.sendStatus(401) // caso exista qualquer erro com o jwt retorna 401 res.sendStatus(200) )}
Talvez funcione, manda feedback se n funcionar.
-
> Não está demorando mais do que o normal?
Depende muito dos servidores, normalmente não leva mais de 48 Horas.
Eu recomendo você migrar os nameservers para o cloudflare.
Além disso eu percebi que seu CNAME está apontando para o https://ghs.googlehosted.com/
Você tem certeza que esse NAME está certo e leva para sua aplicação/site?
-
Seu DNS já está vinculado ao Google, você precisava esperar a propagação do DNS.
https://www.whatsmydns.net/#CNAME/drcc.tech
-
Acredito que seja uma boa você dar uma revisada na documentação do mapbox-gl...
https://docs.mapbox.com/help/getting-started/add-markers/
Porém não achei na documentação se é necessario alguma tratativa diferente no React.
Provavelmente você está usando NextJS ou isso é algum bug no React mesmo e o mapbox-gl não está conseguindo lidar com a falta do document e window, se for o caso você precisa tentar colocar o Marker dentro do useEffect também;
Só um detalhe sobre o useEffect, pra evitar laços infinitos que podem quebrar ou deixar sua aplicação lenta, é uma boa fazer isso:
useEffect(() => { // resto do código }, [map]); // é uma boa passar o map aq também, para evitar problemas no state entre o servidor e o cliente
Eu já fiz alguns códigos que levam mapas com react, mas no caso eu usei o Leaflet, talvez resolva seu problema e te ofereça mais opções.
https://github.com/PaulLeCam/react-leaflet
React-leaflet é citado oficialmente no leafletjs https://leafletjs.com/plugins.html
- 1
-
Ou você usa POST ou você usa GET.
Você precisa alterar o method no HTML ou no NodeJS.
Recomendo pesquisar um pouco sobre Rest e RestFul:
-
Sua temperatura está ok. Vou mandar algumas prints colocando meu sistema em stress máximo.
(Vale lembrar que em stress a CPU esquenta mais que in-gaming)
Veja a minha CPU i7 9750h:
Estou usando o "stress" para colocar minha CPU topada em 100%; Isso são 5 minutos de stress e ficou entre 80ºC ~ 92ºC
Veja minha GPU:
Em stress (Rodando 5 FuryMark ao mesmo tempo) ficou entre 89ºC ~ 91ºC
-
Tentei te ajudar o máximo possível, mas não rolou... Então:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for
Se você ler atentamente esses links vai conseguir responder todas essas perguntas.
-
@Marcelo F. N. Tavares Eu também tinha uma base (Da Multilizar Warrior verde com 5 fans) mas não funciona mt bem... Eu só uso a base em algumas situações por exemplo quando vou usar ele deitado, dai ele fica muito quente para ficar no meu peito e fica desconfortavel e a base resolve esse problema...
Outras situações onde eu uso a base é quando não tenho um local plano para colocar o notebook.
-
@Marcelo F. N. Tavares é normal ele ficar quente a ponto de machucar os dedos... O meu mesmo tem uma estrutura metalica que fica super quente e virou até desafio com meus amigos "Se conseguir segurar por 10 segundos sem fazer cara feia pode jogar por uma hora" kkkkk
Eu recomendo usar esse programa: https://www.msi.com/Landing/afterburner/graphics-cards ele vem acompanhado de outro programa chamado RiverTunner que acompanha a temperatura do seu notebook, basta configurar ele para mostrar a temperatura da GPU e CPU...
Em geral CPUs da Intel operam sem thermal throttling em notebooks até 100c... Meu i7 9750h em gaming fica em torno de 70c ~ 85c
-
Eu tenho um Acer Predator Helios 300 e tinha as mesmas perguntas... Não é uma boa ideia deixar os ventiladores no máximo, eu mesmo deixo o notebook no automatico, porém você precisa entender que de qualquer jeito uma hora ou outra vai precisar fazer a manutenção, eu particularmente só ligo o modo turbo quando o aquecimento causa perda de desempenho, caso seu hardware não esteja sofrendo thermal throttling então as temperaturas estão dentro do permitido nas definições do driver e do firmware e não faz muito sentido colocar suas fans para trabalharem o máximo.
-
Você está querendo criar um bot para capturar dados de um site e alimentar outro site? Por exemplo pegar uma tabela de preços de outro site e sicronizar com o seu site?
Se for o caso então isso é relacionado a consumo de API, e não aos clicks exatos...
Se for "clickes" então você deve usar o https://www.selenium.dev/ (ou app semelhante)... Bom, você pode criar um pedido no Linkedin e procurar algum desenvolvedor para fazer esse freelancer.
Recomendo: https://www.99freelas.com.br/
Boa sorte.
-
Você vai ter que aprender WebRTC
Primeiro que recomendo entender a BASE:
https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API
Depois o inferno frio:
-
Citação
E caso eu quisesse usar o "for" para resolver, teria como?
Sim, apesar de não ser indicado já que o JS6+ o for só é usado em algumas situações... A solução não é mt diferente da que eu fiz.
Sobre deixar os valores dinamicos:
Você pode alterar os valoes da variavel "Valores"... Caso queira fazer isso como interação com o usuario você pode fazer isso pelo DOM.
Siga meu exemplo:
JS:
function Primeiro_exemplo() { // Leia isso caso não conheça o querySelectorAll: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll const NodeListInputs = document.querySelectorAll('#input') // Leia isso caso não conheça o Array.from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from const ArrayItens = Array.from(NodeListInputs) const Resultado = ArrayItens.map((props) => props.value * 2) console.log("Resultado Primeiro exemplo:") console.log(Resultado) } function Segundo_exemplo() { // Leia isso caso não conheça o querySelector: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector const ValueInput = document.querySelector('#input_unique').value.split(" ") const Resultado = ValueInput.map((props) => props * 2) console.log("Resultado Segundo exemplo:") console.log(Resultado) }
HTML:
<p>Exemplo 1</p> <br /> <input type="text" id="input" value="2" /><br /> <input type="text" id="input" value="7" /><br /> <input type="text" id="input" value="14" /><br /> <button onclick="Primeiro_exemplo()">Primeiro Exemplo</button> <p>Exemplo 2</p> <input type="text" id="input_unique" value="14 16 321 41 1" /><br /> <button onclick="Segundo_exemplo()">Segundo Exemplo</button>
Demo online:
https://codepen.io/ruiguilherme/pen/bGRGgOe?editors=1011
(No canto inferior esquerdo desse site tem um botão 'Console', lá você pode ver a saída do JavaScript.)
-
Dentro do JavaScript você tem prototype da Array chamado de map que faz uma operação e retorna uma nova array;
Dentro do link que eu deixei tem um exemplo que resolve exatamente essa questão.
const Valoes = [3, 7, 10, 25] // Nesse caso o map vai pegar os index da Array 'Valores' e vai multiplicar um por um por 2 retornando uma nova array com os valores multiplicados. const resultadoMulti = Valoes.map(x => x * 2) // Essa array vai ter os valores [ 6, 14, 20, 50 ] console.log(resultadoMulti)
Uma outra solução caso você queira imprimir os valores individualmente é colocar o console.log() dentro do map, você também pode usar o prototype da Array chamado forEach:
const Valoes = [3, 7, 10, 25] // Nesse caso o map vai pegar os index da Array 'Valores' e vai multiplicar um por um por 2 retornando uma nova array com os valores multiplicados. Valoes.forEach(element => console.log(element * 2)) /* A saída do console vai ser: > 6 > 14 > 20 > 50 */
A diferença entre o forEach e o map() fica clara nesse exemplo, porém se quiser mais detalhes recomendo a leitura desse artigo além dos outros dois links que eu deixei:
- 2
-
O código do post anterior tinha alguns problemas que me fizeram questionar a funcionalidade do código... Por exemplo: colocar a opção de uma escala desejavel porém retornar duas conversões, esse foi o mótivo da remoção da variavel escalaDesejada já que não fazia sentido no contexto da aplicação que ao meu entender era receber uma temperatura do tipo X e converter ela para outros dois tipos diferente (Y e Z) e foi por isso que eu adaptei o código para receber uma temperatura, seu tipo e retornar sua conversão nos outros tipos.
Agora se a função do código é receber temperatura X, tipo da temperatura X e qual conversão a ser realizada eu faria o código da seguinte forma:
Citação1. A escalaorigem precisa ser diferente da escaladesejada
2. Na escalaorigem e na escala desejada só podem ser inseridos "Kevin, fahrenheit e celsius"
Seu código já trata essas duas situações apesar de não identificar qual ocorreu, vou adicionar uma pequena modificação para você conseguir identificar qual error ocorreu e notificar corretamente o usuario.
function converteTemperatura(temperatura, escalaOrigem, escalaDesejada) { if (escalaOrigem === escalaDesejada) { return `Você não pode converter ${escalaOrigem} para ${escalaDesejada} já que são do mesmo tipo` } else if (escalaOrigem === "celsius" && escalaDesejada === "kelvin") { return temperatura + 273.15 } else if (escalaOrigem === "celsius" && escalaDesejada === "fahrenheit") { return temperatura * 1.8 + 32 } else if (escalaOrigem === "kevin" && escalaDesejada === "celsius") { return temperatura - 273.15 } else if (escalaOrigem === "kevin" && escalaDesejada === "fahrenheit") { return (temperatura - 273.15) * 9 / 5 + 32 } else if (escalaOrigem === "fahrenheit" && escalaDesejada === "celsius") { return (temperatura - 32) * 5 / 9 } else if (escalaOrigem === "fahrenheit" && escalaDesejada === "kevin") { return (temperatura - 32) * 5 / 9 + 273.15 } else { return 'Entre com dados válidos! Apenas celsius, kelvin e fahrenheit são permitidos' } } //Chamadas - Test console.log(converteTemperatura(10, 'celsius', 'kelvin')) console.log(converteTemperatura(10, 'celsius', 'fahrenheit')) console.log(converteTemperatura(10, 'kevin', 'celsius')) console.log(converteTemperatura(10, 'kevin', 'fahrenheit')) console.log(converteTemperatura(10, 'fahrenheit', 'celsius')) console.log(converteTemperatura(10, 'fahrenheit', 'kevin')) // Exemplo de error console.log(converteTemperatura(10, 'fahrenheit', 'fahrenheit')) console.log(converteTemperatura(10, 'fah', 'celsius'))
Você só precisa criar as variaveis temporarias antes do return se você for realizar alguma modificação nelas antes do return, caso a condição apenas retornar um calculo simples não tem necessidade de criar uma var para armazenar tais valores.
Outra observação importar é que apesar da var não ser deprecated (por causa de códigos lagados) atualmente não faz muito sentido escrever códigos usando o statement var, apenas o Internet Explorer e o Opera Mini tem problemas com o uso do let e do const e esses problemas são contornados por técnologias como o babelJS e no caso do Opera Mini que trata o const e o let como var evitando problemas serios de compartibilidade.
No caso do Internet Explorer ele só tem problemas com let e o const dentro de for in e for... Além do mais o Internet Explorer vai ser descontinuado em 15 de junho de 2022;
Caso você tenha alguma duvida sobre a compartibilidade:
https://caniuse.com/?search=const
https://caniuse.com/?search=let
Caso você tenha alguma duvida de como funciona o let e o const:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
- 2
-
Você pode usar o JQuery:
$(document).ready(function(){ setTimeout(function(){ // Chama o PopUp aq }, 2000); // 2 segundos após a página estiver pronta para abrir o PopUp });
Ou JavaScript puro:
<!doctype html> <html> <head> <!--sua Head aq---> </head> <body> <!--Seu código aq--> <script> (function() { setTimeout(function(){ // Chama o PopUp aq }, 2000); // 2 segundos após a página estiver pronta para abrir o PopUp })(); </script> </body> </html>
Exemplo (Eu usei uma MODAL pronta na internet):
HTML:
<!-- Soucer: https://www.w3schools.com/howto/howto_css_modals.asp --> <!-- The Modal --> <p>Resto do site pode ser colocado hehe</p> <div id="myModal" class="modal"> <!-- Modal content --> <div class="modal-content"> <!--nesse evento "onclick" é onde fecho a model, deve ser colocado no X--> <span class="close" onclick="fecharModel()">×</span> <p>Você precisa personalizar sua model</p> </div> </div>
JS:
(function() { // Get the modal setTimeout(function(){ const modal = document.getElementById("myModal"); modal.style.display = "block"; }, 2000); // 2 segundos após a página estiver pronta para abrir o PopUp })(); function fecharModel() { const modal = document.getElementById("myModal"); modal.style.display = "none"; }
CSS:
/* Soucer: https://www.w3schools.com/howto/howto_css_modals.asp */ /* The Modal (background) */ .modal { display: none; /* Hidden by default */ position: fixed; /* Stay in place */ z-index: 1; /* Sit on top */ left: 0; top: 0; width: 100%; /* Full width */ height: 100%; /* Full height */ overflow: auto; /* Enable scroll if needed */ background-color: RGB(0,0,0); /* Fallback color */ background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ } /* Modal Content/Box */ .modal-content { background-color: #fefefe; margin: 15% auto; /* 15% from the top and centered */ padding: 20px; border: 1px solid #888; width: 80%; /* Could be more or less, depending on screen size */ } /* The Close Button */ .close { color: #aaa; float: right; font-size: 28px; font-weight: bold; } .close:hover, .close:focus { color: black; text-decoration: none; cursor: pointer; }
Caso queria ver o código executando: https://codepen.io/ruiguilherme/pen/OJmKpJj
-
Você só precisa mudar o texto usando o HTMLElement.innerText
HTML:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <form method="POST"> <button type="button" class="btn glyphicon glyphicon-plus" onclick="mostrar(this)"> Save</button> </form>
JS:
function mostrar(e) { if (e.classList.contains("glyphicon-plus")) { //se tem olho aberto e.classList.remove("glyphicon-plus"); //remove classe olho aberto e.classList.add("glyphicon-minus"); //coloca classe olho fechado e.innerText = " Saved" } else { e.classList.remove("glyphicon-minus"); //remove classe olho fechado e.classList.add("glyphicon-plus"); //coloca classe olho aberto e.innerText = " Save" } }
Recomendo dar uma lida:
https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/toggle
https://developer.mozilla.org/en-US/docs/Web/API/Element/toggleAttribute
-
Acredito que seja legal você fragmentar esse código...
Provavelmente você está com problema de execução por causa das variaveis temporaria.function converteTemperatura(temperatura, escalaOrigem, escalaDesejada){ //temp values var escalaOrigem = "kelvin"; var escalaDesejada = "celsius"; var temperatura = 10; // RESTO DO CODIGO...
Nesse caso você está falando "Quando você me chamar, você tem que enviar a escalaOrigem, escalaDesejada e a temperatura... Porém eu sou rebelde e vou ignorar tudo que você me mandar."
Eu não cheguei a entender exatamente o seu código, então fiz uma correção com base no que eu entendi:
function converteTemperatura(temperatura, escalaOrigem){ //convert the fahrenheit and kelvin values if (escalaOrigem === "celsius") { return { conversionF: (temperatura * 9 / 5) + 32, conversionK: temperatura + 273.15 } //convert the celsius and kelvin values } else if (escalaOrigem === "fahrenheit") { return { conversionC: (temperatura - 32) * 5 / 9, conversionK: temperatura + 273.15 } //convert the celsius and fahrenheit values } else if (escalaOrigem === "kelvin") { return { conversionC: temperatura - 273.15, conversionF: (temperatura - 273.15) * 9 / 5 + 32 } } } console.log(converteTemperatura(10, 'celsius')) console.log(converteTemperatura(10, 'fahrenheit')) console.log(converteTemperatura(10, 'kelvin'))
Nesse caso eu recebo uma temperatura e o tipo dela e converto para os outros tipos.
Se fosse eu escrevendo o código provavelmente faria algo assim: (Esse código faz a mesma coisa do código acima)
const converterTemperaturas = { // Converte uma temperatura em celsius para fahrenheit e kelvin celsius2Fah_Kel: (temp) => { return { fahrenheit: (temp * 9 / 5) + 32, kelvin: temp + 273.15 } }, // Converte uma temperatura em fahrenheit para celsius e kelvin fahrenheit2Cel_Kel: (temp) => { return { celsius: (temp - 32) * 5 / 9, kelvin: temp + 273.15 } }, // Converte uma temperatura em kelvin para fahrenheit e celsius kelvin2Cel_Fah: (temp) => { return { fahrenheit: (temp - 273.15) * 9 / 5 + 32, celsius: temp - 273.15 } } } console.log(converterTemperaturas.celsius2Fah_Kel(10)) console.log(converterTemperaturas.fahrenheit2Cel_Kel(10)) console.log(converterTemperaturas.kelvin2Cel_Fah(10))
O bom desse meu código é que você pode converter esse objeto em várias funções e exportar essas funções dentro de um arquivo.
Bom... Aqui vai minhas dicas de leitura com base no seu código:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#operators
- 3
-
Desculpe, foi um erro meu de explicação... O bi-eye-slash e bi-eye fazem parte do Boostrap você precisa adicionar o icons.boostrap no seu site.
Adiciona isso esse link na na <head> </head> do seu site:
<!DOCTYPE html> <html> <head> <!--... resto do código ... --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css"> </head> <body> <!--... resto do código ... --> </body> </html>
Aqui tem uma lista completa com todos os icones do boostrap que você pode usar gratuítamente no seu site:
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Queria saber como converter uma string para md5 e base64!
em Web e banco de dados
Postado
Antes de mais nada: não é recomendado o uso de md5 para sistemas reais, caso queira armazenar senhas, use o bcrypt.
Atualmente dentro do JavaScript não existe uma forma nativa de converter uma string para md5, apenas SHA-1/256/384/512 usando o digest
Exemplo:
https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
Para MD5 você precisa criar um hash próprio ou usar alguma biblioteca, eu particularmente recomendo você usar a crypto que resolve todos os seus problemas com hashs(MD5,SHA-1/3,SHA256/224/512/384,SHA-25,RC4,Rabbit,AES,DES,PBKDF2,HMAC,OFB,CFB,CTR,CBC,Base64...):
https://www.npmjs.com/package/crypto-js
Já para Base64 você precisa optar pelo btoa e atob que funcionam perfeitamente em todos os navegadores ou usar o crypto.
Exemplo:
https://developer.mozilla.org/en-US/docs/Glossary/Base64.