"Outra opção interessante deste comando é mudar o nome do branch inicial. Por padrão, git init cria o branch "master". Mas é possível alterar o nome do branch inicial usando a opção --initial-branch ou -b. Por exemplo, se eu quiser que seja "main": : A..."5 tabcoins · 0 comentário · kht · 1 ano atrás
"Só pra complementar, além de transformar o número em string, tem também a solução matemática. A mais comum que se vê por aí é a de construir o número inverso e comparar com o original: // gerar o número inverso de "num" e comparar com o original functi..."4 tabcoins · 0 comentário · kht · 1 ano atrás
"Sobre matemática, já falei aqui e aqui. Sugiro ler tudo para um panorama mais completo, mas pra resumir um ponto essencial: matemática não é só aquilo que vemos na escola (decorar fórmulas e fazer continhas), vai muito além disso. Um trecho do segundo..."2 tabcoins · 0 comentário · kht · 1 ano atrás
"Uma das utilidades de closure é o caso clássico de precisar usar uma função anônima de callback dentro de um loop. Exemplo: for (var i = 0; i < 5; i++) { setTimeout(function () { console.log(i) }, 1000 * i); } Ou seja, em cada iteração do for, eu chamo..."1 tabcoin · 1 comentário · kht · 1 ano atrás
"Sobre os data attributes, o propósito deles é simplesmente de armazenar dados customizados associados a um elemento, quando não há nenhum outro atributo que sirva. Isso é descrito pela própria especificação do HTML: Custom data attributes are intended..."2 tabcoins · 0 comentário · kht · 1 ano atrás
"Pra mim, qualquer um que defenda ou leve a sério esses pacotes tipo is-odd já é desqualificado na hora. E pra completar o show de horrores, o is-even tem como dependência o is-odd, inclusive seu código fonte é: module.exports = function isEven(i) { ret..."1 tabcoin · 0 comentário · kht · 1 ano atrás
"Complementando... O ASCII original só tinha 128 caracteres. Aí perceberam que tinha mais 128 "sobrando", e que ainda sim caberia em um byte. Vários tiveram essa ideia ao mesmo tempo e cada um criou seu próprio mapeamento - como vc disse, cada valor ent..."3 tabcoins · 1 comentário · kht · 1 ano atrás
"Eu não diria que são um lixo completo, apenas que são ferramentas que têm sua utilidade, mas que ao longo do tempo foram extremamente abusadas (ou seja, usadas em contextos inadequados, nos quais não eram a melhor solução). O fato de terem sido moda po..."2 tabcoins · 0 comentário · kht · 1 ano atrás
"Muito bom, mas só um detalhe sobre o RSA. Foi dito que: 1. chave pública, que é capaz apenas de encriptar. 2. chave privada, que é capaz apenas de decriptar. Na verdade, ambas as chaves servem para encriptar e decriptar (e o que é encriptado com uma, s..."6 tabcoins · 1 comentário · kht · 1 ano atrás
"Muito bom! Só pra complementar, a função também poderia ser assim: function verificarInterseccao(a1, a2, b1, b2) { return !((b2 a2)); } Ou seja, se uma das condições for verdade, retornará falso. Mas quando eu tenho algo como !(cond1 || cond2), eu poss..."4 tabcoins · 2 comentários · kht · 1 ano atrás
"Primeiramente parabéns por não negligenciar matemática, pois ignorá-la é um erro que a grande maioria comete. Só fica o alerta que matemática vai muito além de fazer contas e decorar fórmulas (que infelizmente é a abordagem da escola), e que programaçã..."6 tabcoins · 0 comentário · kht · 1 ano atrás
"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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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..."9 tabcoins · 1 comentário · kht · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano 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 · 1 ano atrás