"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 · 5 meses 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..."28 tabcoins · 1 comentário · kht · 5 meses 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 · 5 meses 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 · 5 meses 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..."9 tabcoins · 4 comentários · kht · 5 meses 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 · 5 meses 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 · 5 meses 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 · 5 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses 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 · 6 meses atrás
"Design patterns é, e sempre será sobre orientação a objetos Não é, tanto que em outro comentário indiquei este link: Non-OOP Design Patterns?. E novamente eu destaco o primeiro comentário que tem lá: I think the biggest disservice the popular design pa..."1 tabcoin · 0 comentário · kht · 6 meses atrás
"Se vc ler com calma este meu comentário, vai entender que no fundo vc implementou o strategy (usou um comportamento diferente em runtime, de acordo com determinados parâmetros). Precisava dar um nome pra isso? Não sei, mas o fato é que hoje esses nomes..."1 tabcoin · 0 comentário · kht · 6 meses atrás
"Não sei se é uma boa. O Stack Overflow criou isso e na época parecia uma boa ideia. Mas com o tempo perceberam que muitas vezes não é o ideal, tanto que há um tempo atrás (em 2021) mudaram a ordenação das respostas: antes a resposta aceita (a que está..."14 tabcoins · 6 comentários · kht · 6 meses atrás
"Acho que tem um detalhe que vc não entendeu: usar if é uma das formas de implementar esses patterns. Um design pattern só descreve de forma geral (teórica, genérica) o que é pra fazer. Mas como isso será feito fica a cargo de quem for implementar. Vc p..."3 tabcoins · 4 comentários · kht · 6 meses atrás
"Sim, é teórico porque acredito que a ideia é ser uma descrição do "caso geral". Ao codificar, vc verifica se tem uma situação similar e aí vê se tem algum pattern que pode te ajudar. Por exemplo, eu preciso criar um tipo diferente conforme determinados..."2 tabcoins · 10 comentários · kht · 6 meses atrás
"Sim, são necessários até hoje. Isso porque Design Patterns são basicamente soluções conhecidas e catalogadas para problemas comuns. De forma bem resumida, ao longo do tempo muitas pessoas foram chegando à soluções muito parecidas para problemas similar..."2 tabcoins · 13 comentários · kht · 6 meses atrás
"Concordo que desmotiva. Mas se a pergunta não está dentro do escopo do site, será que ela deveria ser respondida? Ou as pessoas se esforçam pra seguir os critérios (que reconheço que são complicados), ou mudam-se esses critérios. O primeiro ponto já vi..."1 tabcoin · 0 comentário · kht · 7 meses atrás
"Os critérios de ambos os sites são parecidos, mas tem uma coisa que muita gente ignora: a escala. O site em português (SOpt) meio que estagnou (segundo dados de hoje, tem em média 12 perguntas por dia). Já o site em inglês (SOen) recebe mais de 2 mil p..."3 tabcoins · 2 comentários · kht · 7 meses atrás
"Não é necessariamente o hotspot, ainda mais pra poucas requisições. Tem outras coisas que podem ter contribuído para este resultado. Quando a JVM começa a executar, tem uma série de coisas que ela precisa fazer para iniciar. Por exemplo, tem várias est..."3 tabcoins · 0 comentário · kht · 7 meses atrás
"Complementando, existe outra forma de declarar propriedades que caem neste caso mais "comum" (o getter só retorna e o setter só recebe o valor). Basta usar a sintaxe de Auto-implemented properties. E neste caso, para criar o objeto, use um object initi..."7 tabcoins · 0 comentário · kht · 7 meses atrás