"Seguem algumas sugestões. Coloque ponto-e-vírgula no final das linhas. Pode parecer "frescura", e sei que o JavaScript "aceita" o código sem ponto e vírgula e "funciona", e tem até muita gente que ensina a não usar. Mas isso evita algumas situações biz..."5 tabcoins · 1 comentário · kht · 9 meses atrás
"Podemos dividir o algoritmo em dois casos: se os caracteres devem estar na mesma ordem da palavra (ou na ordem inversa), ou se podem estar embaralhados. Cada um dos casos leva a um algoritmo diferente. De qualquer forma, primeiro concentre-se em fazer..."7 tabcoins · 0 comentário · kht · 9 meses atrás
"Só um detalhe (porque sou um cara chato e pedante): atob e btoa são funções para converter de/para Base64. E Base64 não é um algoritmo de hash. Base64 é reversível (vc consegue voltar para a string original), mas um algoritmo de hash não é. Ah, e Base6..."3 tabcoins · 1 comentário · kht · 9 meses atrás
"Complementando, optar por usar ou não arrow function vai muito além de "simplificar" o código ou deixá-lo mais curto. Na verdade, existem várias outras diferenças muito mais importantes, citadas nos links abaixo (inclusive, "deixar o código mais curto"..."2 tabcoins · 0 comentário · kht · 9 meses atrás
"Complementando, também é possível usar a desestruturação em argumentos de uma função: function fazAlgo([ pessoa, acao ]) { console.log(${pessoa} ${acao}); } fazAlgo([ 'Você' ]); // Você undefined fazAlgo([ 'Você', 'quer' ]) // Você quer Ou com valores..."6 tabcoins · 1 comentário · kht · 10 meses atrás
"Só um detalhe: fgets lê os dados até encontrar uma quebra de linha ou ler a quantidade máxima de caracteres. Isso quer dizer que se tiver uma linha maior do que MAX_LINE_LEN, ele não lerá a linha toda. Uma abordagem mais garantida é ir lendo os caracte..."6 tabcoins · 1 comentário · kht · 10 meses atrás
"Eu já disse o que penso sobre matemática e programação aqui e aqui. Mas pra resumir: Quando dizemos "matemática", muita gente associa com aquilo que vemos na escola: decorar fórmulas e sair fazendo contas sem entender pra que serve. Na minha opinião é..."4 tabcoins · 0 comentário · kht · 10 meses atrás
"O que muita gente não entende (principalmente os que adoram dizer que não precisa saber matemática pra programar, "sou um dev bom pra caramba e nunca precisei", etc) é que matemática vai muito além de fazer continhas e saber as fórmulas que decoramos n..."8 tabcoins · 1 comentário · kht · 10 meses atrás
"pode receber mais de um argumento (valor_batata + valor_cerveja + valor hamburguer) Não é "mais de um argumento", é um só. Mas vamos por partes. A função foi definida assim: float half(float bill, float tax, int tip) { // etc... } Ou seja, ela possui t..."2 tabcoins · 1 comentário · kht · 10 meses atrás
"bill é diferente de bill_amount, tax é diferente de tax_percent e tip é diferente de tip_percent. Os nomes dos parâmetros de uma função só existem dentro da função. Fora dela, o que importa é que ela receba uma expressão que resulte em um valor que ela..."3 tabcoins · 3 comentários · kht · 10 meses atrás
"Eu só não vejo a necessidade de se fazer o split (que transforma a string em um array), para depois usar o filter (que cria outro array) e por fim o join (que junta tudo em uma string). Acho uma volta muito grande, sendo que dá pra fazer apenas com um..."2 tabcoins · 1 comentário · kht · 10 meses atrás
"Eu não usaria filter desta forma. Isso porque cada chamada de filter percorre o array e retorna outro. Mesmo que o filtro remova alguns elementos, ainda sim na prática vc está percorrendo várias vezes o array (no pior caso, todos os elementos), e retor..."8 tabcoins · 3 comentários · kht · 10 meses atrás
"Complementando, seguem outros posts sobre o assunto: https://www.tabnews.com.br/drigols/analise-de-loops-em-complexidade-de-algoritmos https://www.tabnews.com.br/gabrielTapes/complexidade-de-algoritmos-recursivos https://www.tabnews.com.br/rodriguesxxx..."3 tabcoins · 0 comentário · kht · 10 meses atrás
"Definir isso é bem complicado porque é algo muito subjetivo, cada um tem seu próprio critério do que seria alta qualidade. Tem gente que é mais exigente, outros nem tanto. Por exemplo, já apareceram alguns posts que contêm vários erros básicos e acabam..."2 tabcoins · 0 comentário · kht · 10 meses atrás
"acredito que o texto que acompanha o commit em sua essência resolve esse tipo de problema de compatibilidade Exatamente. E se o texto já resolve a questão, o emoji acaba sendo desnecessário. Se o emoji confunde e precisa do texto para ser esclarecido,..."2 tabcoins · 0 comentário · kht · 10 meses atrás
"O problema dos emojis é que eles não são tão "universais" como muitos imaginam. Tem muito mais problemas de compatibilidade do que um texto "normal". Por exemplo: um mesmo emoji, em cada combinação de sistema operacional + aplicação (browser, editor, e..."2 tabcoins · 2 comentários · kht · 10 meses atrás
"Falando de maneira geral, as vantagens de se ter tipagem estática são mais evidentes em bases de código grandes (sendo que "grande" é relativo e subjetivo, mas enfim). Sobre o assunto, recomendo este post muito interessante que explica porque bases de..."2 tabcoins · 3 comentários · kht · 10 meses atrás
"Creio que dá pra ser mais simples. Primeiro que não precisa validar, pois pelo que entendi do enunciado, ele já garante que os números estarão entre 1 e 100. Basta ver se é zero para saber quando deve parar. Além disso, tem uma fórmula mais simples par..."2 tabcoins · 0 comentário · kht · 10 meses atrás
"Complementando o que o Maniero disse, é importante ressaltar alguns pontos. Recursão não tem nada a ver com estruturas de dados. São duas coisas que podem ser usadas juntas, mas são dois assuntos diferentes. É importante dizer isso, porque da forma que..."4 tabcoins · 0 comentário · kht · 10 meses atrás
"Em português, tem alguns que indico abaixo. Primeiro, três respostas minhas no Stack Overflow: Sobre o git reset, aqui tem uma explicação detalhada sobre as diferentes opções (soft, mixed e hard) E este explica sobre os estados de um arquivo (staged, m..."6 tabcoins · 1 comentário · kht · 10 meses atrás
"Eu concordo que usar UTC ajuda muito em vários casos, mas em computação tudo depende. Raramente devemos trabalhar com absolutos do tipo "sempre faça X" (mesmo que X seja a melhor solução pra 99,999% dos casos, tem que gastar nem que seja 2 segundos pra..."8 tabcoins · 1 comentário · kht · 10 meses atrás
"Tem dois trechos que podem dar margem a alguma confusão, pois pra mim eles parecem contraditórios. Primeiro é dito que posso publicar "qualquer outro tipo de conteúdo que poderá fazer alguma diferença na vida de quem trabalha em áreas diretamente ou in..."5 tabcoins · 1 comentário · kht · 10 meses atrás
"Mas quem define o que é um conteúdo de qualidade? Por exemplo - só pra sair do "educacional" - um influencer fitness que sugere dietas malucas que até fazem a pessoa emagrecer, mas de uma forma que detona a saúde, é o que? Vai ter fãs dizendo que é bom..."3 tabcoins · 1 comentário · kht · 10 meses atrás
"Na documentação oficial da linguagem tem este link, com traduções em vários idiomas. Em português, é esta aqui. Não vi como está a qualidade da tradução, então vá por conta e risco. Eu pessoalmente prefiro ler este tipo de conteúdo em inglês, porque a..."1 tabcoin · 1 comentário · kht · 10 meses atrás
"criar conteúdo é ótimo para alavancar carreiras, desde que a pessoa saiba o que está fazendo Exatamente. Se a pessoa sai falando sobre algo que não conhece direito, são grandes as chances de falar besteira. E aí o tiro sai pela culatra, já que isso pod..."3 tabcoins · 5 comentários · kht · 10 meses atrás
"Eu vi o post, mas como não dá pra saber se todo mundo vai clicar, resolvi responder e deixar a informação aqui também. Desculpe pelo mal entendido. Mas eu reconheço que isso é uma batalha perdida. A esmagadora maioria dos cursos só ensina de uma forma,..."1 tabcoin · 0 comentário · kht · 10 meses atrás
"E lá vamos nós de novo :-) Já falei aqui sobre isso, mas como o assunto sempre volta, vale repetir: Sei que a ideia do post é ser um guia básico, mas de qualquer forma é uma ótima oportunidade pra esclarecer novamente uma coisa muito importante: Não ex..."5 tabcoins · 3 comentários · kht · 10 meses atrás
"Complementando, existe também String.prototype.padStart que é similar, mas como o nome diz, completa no início. Um uso comum é formatar um número com zeros à esquerda - mas claro que antes precisa convertê-lo para string: const valor = 10; console.log(..."10 tabcoins · 0 comentário · kht · 11 meses atrás
"O post está errado. Dá pra verificar com um teste simples (é basicamente o mesmo código que tem lá, só que simplificado): function f() { var infoGlobal = "bla"; } console.log(infoGlobal); // erro! Esse código dá erro, veja. Mais precisamente, o erro é..."2 tabcoins · 1 comentário · kht · 11 meses atrás
"O TIOBE não avalia o mercado. Ele só mede "popularidade", e de uma maneira bem questionável. O critério está bem explicado aqui, e tem comentários bem interessantes aqui também. Leia os links e tire suas próprias conclusões. Pessoalmente, depois que eu..."2 tabcoins · 1 comentário · kht · 11 meses atrás