"Muito bom! Este é um recurso que - minha impressão - poucas pessoas usam no dia-a-dia (infelizmente). Outro ponto muito importante é que o searchParams já cuida de vários detalhes chatos pra vc. Por exemplo, se o valor do parâmetro tiver caracteres com..."19 tabcoins · 1 comentário · kht · 2 anos atrás
"Complementando: Sobre o escopo de variáveis, existe uma "brecha": acessar uma variável que foi declarada fora da função (desde que não haja uma atribuição a ela) é permitido. Exemplo: def f(): print('dentro da função', x) x = 10 f() print('fora da funç..."2 tabcoins · 0 comentário · kht · 2 anos atrás
"Complementando: Em Python, existe uma construção que não é comum em outras linguagens mainstream: um loop for ou while pode ter um else associado. A ideia é que este bloco só é chamado caso o loop não seja interrompido por break. Exemplo: itens = # lis..."4 tabcoins · 0 comentário · kht · 2 anos atrás
"Complementando: Note que o primeiro alias que vc criou foi alias g=git. Então ele poderia ser usado nos demais: alias g=git os próximos podem usar o primeiro alias alias ga='g add' alias gaa='g add --all' etc... Neste caso meio que dá na mesma (exceto..."4 tabcoins · 0 comentário · kht · 2 anos atrás
"Sobre o Revenue Share, vi que muita coisa foi discutida no GitHub, mas acho que seria interessante um resumo das regras que foram de fato implementadas. Olhando o FAQ hoje, diz o seguinte: Para criar uma publicação patrocinada, você investirá 100 TabCa..."7 tabcoins · 2 comentários · kht · 2 anos atrás
"Vou tentar não ser o velho saudosista "no meu tempo era melhor" (algumas coisas até que eram, mas nem tudo). Antigamente a informação era mais difusa e difícil de encontrar. Havia muitos fóruns e blogs espalhados pela internet, com níveis de qualidade..."5 tabcoins · 1 comentário · kht · 2 anos atrás
"Realmente, o correto nesses trechos seria code units e não bytes. Já corrigi o texto, obrigado!"2 tabcoins · 0 comentário · kht · 2 anos atrás
"Idealmente, existe essa ideia de que "classe é o molde (ou a receita, ou a planta da casa), e a instância é o objeto em si (ou o bolo, ou a casa propriamente dita)". Neste caso, os campos (que não é a mesma coisa que atributo) seriam uma forma de guard..."4 tabcoins · 1 comentário · kht · 2 anos atrás
"A questão é mais complexa e vai muito além de "gente malvada destruindo sonhos". Sites diferentes possuem objetivos diferentes. E geralmente a forma de funcionamento e os mecanismos são projetados para atingir tais objetivos (se funciona ou não, é outr..."8 tabcoins · 3 comentários · kht · 2 anos atrás
"Só de curiosidade, como vc trataria a questão do zero à esquerda? Por exemplo, se vc guarda o valor 02312142007 como número (por exemplo, se for no banco de dados, em uma coluna do tipo NUMBER), o que será gravado será o valor numérico 2312142007 (o ze..."4 tabcoins · 1 comentário · kht · 2 anos atrás
"O problema de guardar como número é que o zero à esquerda pode acabar sendo ignorado, já que para um número, 02, 000002 e 2 são basicamente a mesma coisa: ambos representam o mesmo valor numérico, a mesma grandeza/quantidade (muda apenas a formatação)...."7 tabcoins · 2 comentários · kht · 2 anos atrás
"Já disse em outros posts, mas não custa repetir: mesmo que vc ache que não, usamos matemática praticamente o tempo todo pra programar. O problema é que quando dizemos "matemática", muita gente associa com aquilo que vemos na escola: decorar fórmulas e..."29 tabcoins · 1 comentário · kht · 2 anos atrás
"Fiz um post sobre Protobuf, o objetivo é ser apenas uma introdução, mas acho que dá pra pegar a ideia geral da coisa: https://www.tabnews.com.br/kht/protobuf-um-formato-binario-bem-compacto-ou-devo-usar-json-pra-tudo Boa leitura! :-)"1 tabcoin · 1 comentário · kht · 2 anos atrás
"Bom, eu usei pouco o Protobuf, então não sei se entendo tanto a ponto de escrever um post (talvez um introdutório, veremos). A ideia básica é que vc cria um arquivo contendo o formato da mensagem (por exemplo, "Usuario" com os campos "id" e "nome", etc..."2 tabcoins · 0 comentário · kht · 2 anos atrás
"Além da história ser interessante, dá pra tirar algumas lições dela. - Acontece que GTA se esforça para analisar um arquivo JSON de 10 MB; - O parser do JSON em si é mal construído/ingênuo; Na verdade eu voltaria alguns passos e questionaria se precisa..."10 tabcoins · 5 comentários · kht · 2 anos atrás
"Vale lembrar que, caso não seja possível alterar as funções, ainda dá pra passar um dicionário: def calcular_imposto(valor_bruto, aliquota, deducoes, dependentes, estado): faz algo com os valores... def calcular_salario_liquido(valor_bruto, aliquota, d..."2 tabcoins · 0 comentário · kht · 2 anos atrás
"Sem modificar as funções, uma alternativa é colocar todos os valores em uma tupla, e depois usar a sintaxe de unpacking ao chamá-las: params = (valor_bruto, aliquota, deducoes, dependentes, estado) calcular_imposto(*params) calcular_salario_liquido(*pa..."6 tabcoins · 1 comentário · kht · 2 anos atrás
"Sim, esta é uma das várias implementações possíveis de strategy, com todas as vantagens que este pattern traz. O problema é que vc ainda está preso à ideia de que DP é só sobre orientação a objetos, e que só dá pra fazer com classes. Não é, e novamente..."1 tabcoin · 0 comentário · kht · 2 anos atrás
"Bom, antes de mais nada dê uma lida aqui: "ChatGPT responde incorretamente 52% das perguntas de programação, mostra estudo". Pois é, a IA ainda erra bastante, mas a resposta é dada com tanta convicção que pode acabar nos enganando. Tanto que o mesmo es..."3 tabcoins · 2 comentários · kht · 2 anos atrás
"A resposta para a sua pergunta (e que costuma ser a mesma para a maioria das situações) é: "Depende". No caso, este código usa querySelector para buscar vários elementos da página. Mas o que acontece se o script rodar antes da página carregar, ou seja,..."3 tabcoins · 1 comentário · kht · 2 anos atrás
"Aqui vc definiu as opções de linha de comando: Arg::new("target").short('t').long("Target Number") Arg::new("list").short('l').long("List") Ou seja, o "target" pode usar a opção curta -t ou a opção longa --Target\ Number (tive que usar \ porque tem um..."3 tabcoins · 2 comentários · kht · 2 anos atrás
"É, essa lista não ficou tão ruim quanto a minha. Tabela não ficou bom aqui, mas é por causa da forma como o site gerou o HTML. Se tivesse um scroll lateral sem truncar tanto as colunas, ficaria melhor. Ainda sim, pra esse caso específico prefiro a tabe..."2 tabcoins · 1 comentário · kht · 2 anos atrás
"Concordo com a ideia geral, principalmente sobre a questão de privilegiar texto puro. Emojis e outras firulas costumam ser ruído, e na minha opinião os casos em que fazem sentido costumam ser exceção. Também gosto da ideia de minimizar dependências, ma..."6 tabcoins · 3 comentários · kht · 2 anos atrás
"Já trabalhei muito com SOAP na época em que estava no auge do hype. Tudo tinha que ser feito com "web services" (<sarcasm>mais ou menos o que ocorre com "API REST + JSON" hoje em dia</sarcasm>). E vou te falar que não gostei muito não. Tudo..."3 tabcoins · 1 comentário · kht · 2 anos atrás
"diferença entre IDE e editores como sublime e notepad++ A diferença não é tão clara assim. Aliás, a própria definição de IDE é meio controversa, inclusive já teve este tópico discutindo o assunto: O que é um IDE e um editor de texto? Sugiro ler tudo qu..."2 tabcoins · 0 comentário · kht · 2 anos atrás
"Já falei do TIOBE em outro post, mas acho que vale a pena repetir: Relembrar é viver: eu já expliquei aqui como o índice TIOBE funciona. Apenas para refrescar a memória: Ele faz uma busca por +" programming" (ou seja, +"JavaScript programming", +"Pytho..."1 tabcoin · 0 comentário · kht · 2 anos atrás
"se ela coloca comida na mesa é boa Conheço várias pessoas que trabalharam em linha de montagem de fábricas diversas (ou seja, "apertar parafuso" o dia inteiro). Sem juízo de valor nem desmerecimento, pois é um trabalho digno e honesto, e segundo elas "..."9 tabcoins · 1 comentário · kht · 2 anos atrás
"Na própria MDN tem esta página que explica: ...they provide developers with a familiar interface for manipulating binary data. This is useful when interacting with platform features, such as audio and video manipulation, access to raw data using WebSoc..."2 tabcoins · 1 comentário · kht · 2 anos atrás
"é mais para uma gratificação pelo comentário Bom, já existe uma forma de gratificar quem fez o comentário: votando nele! :-) E melhor ainda, não é só o autor que pode votar, qualquer um pode. Afinal, o conteúdo também pode ser útil para outros que estã..."2 tabcoins · 1 comentário · kht · 2 anos atrás
"Teria que implementar algo para diferenciar ou categorizar os posts. Poderia ser tags, por exemplo (tem issue aberta no GitHub, se não me engano). Mas mesmo assim acho que não elimina o problema, já que muitas dúvidas aqui são subjetivas, tipo "Qual a..."2 tabcoins · 3 comentários · kht · 2 anos atrás