wldomiciano

  1. Sobre sua primeira pergunta, em Java é igual à situação que vc descreveu com PHP. Se vc aprender Java 8 e for trabalhar com Java 12 não vai se sentir perdido. Alguns exemplos: Do mesmo jeito que o PHP 8 trouxe o match, no Java 12+ temos as switch expre...
    6 tabcoins · 1 comentários · wldomiciano · ano passado
  2. Quando vc usa o await vc transforma sua função assíncrona em uma função síncrona. Ou seja, o await faz o programa esperar a resolução da Promise antes de continuar. Ajustei os códigos que vc mostrou e preparei 2 exemplos para demonstrar a diferença. EX...
    5 tabcoins · 0 comentários · wldomiciano · ano passado
  3. No Angular não é bom usar o Zod para validação de formulário justamente porque ali já temos meios nativos de se fazer isso. Mas isso não quer dizer que o Zod seja descartável em um projeto Angular. O Zod brilha em lugares como, por exemplo, respostas d...
    3 tabcoins · 1 comentários · wldomiciano · ano passado
  4. Não tem segredo. Ele usou o fetch para pegar o conteúdo do README.md, que tá aqui: https://raw.githubusercontent.com/lucasmontano/lucasmontano.com/main/README.md E usou o pacote Marked para converter o Markdown do README.md para HTML. Depois ele insiri...
    3 tabcoins · 0 comentários · wldomiciano · ano passado
  5. Parabéns pelo artigo, achei muito legal. Há 2 pontos que eu queria destacar: Primeiro que vc disse que um caracter Unicode é representado pelo "U+" seguido por 4 digitos, mas na verdade é por até 6 digitos porque o code space do Unicode vai até U+10FFF...
    3 tabcoins · 4 comentários · wldomiciano · há 2 anos
  6. Sua segunda solução ficou bem melhor do que a primeira, apesar da query ficar dificil de ler, como vc destacou. De qualquer forma, como vc esta usando Spring Data, pode usar o Query by Example. Vc pode ler mais no link abaixo. https://docs.spring.io/sp...
    2 tabcoins · 2 comentários · wldomiciano · há 7 dias
  7. Extension methods é uma funcionalidade bem legal mesmo. Apesar de eu não usar C#, já tirei proveito disso em Kotlin. Em TypeScript, para adicionar propriedades ao prototype de algum objeto global sem abrir mão da tipagem, vc pode usar uma interface. Po...
    2 tabcoins · 1 comentários · wldomiciano · há 5 meses
  8. Hugo, tava revisando o que eu sabia sobre Unicode nestes últimos dias e voltei mais uma vez nesta sua publicação, que está incrivelmente boa e cheia de referências. Acontece que dessa vez notei 2 pontos que eu acho que estão imprecisos. Vou apresentar...
    2 tabcoins · 1 comentários · wldomiciano · há 9 meses
  9. Agora eu entendi aquele erro HTTP_ORIGIN ser indefinido. Realmente não estávamos falando da mesma coisa. Veja bem, se vc está acessando do seu navegador o endereço https://inteligenciaplena.com.br/teste/proxy.php?url=https://joveminventor.com.br/ vc nã...
    2 tabcoins · 3 comentários · wldomiciano · há 2 anos
  10. Testei seu código e não aparece aquele erro. Será que estamos falando da mesma coisa? Preparei um repositório no GitHub. Segue as instruções do README e me diz se tiver algum problema, tá bom? https://github.com/wldomiciano/cors-proxy-com-php
    2 tabcoins · 6 comentários · wldomiciano · há 2 anos
  11. Basicamente, vc precisa adicionar alguns cabeçalhos especificos. Antes daquele seu if, adicione isto: $method = $_SERVER['REQUEST_METHOD']; $origin = $_SERVER['HTTP_ORIGIN']; if ($method === 'OPTIONS') { $requestMethod = $_SERVER['HTTP_ACCESS_CONTROL_R...
    2 tabcoins · 14 comentários · wldomiciano · há 2 anos
  12. Maravilha. É um pouco ruim não poder usar tipos primitivos, mas o ganho em simplicidade de código acaba compensando a mudança para as wrapper classes. Eu não tenho certeza, porque não pude testar, mas talvez dê pra contornar esta limitação usando o mét...
    1 tabcoins · 0 comentários · wldomiciano · há 4 dias
  13. No projeto que estou trabalhando atualmente não uso Docker, então, em produção, eu crio um serviço systemd que fica responsável por gerenciar minha aplicação, vc pode ler mais sobre isso aqui No arquivo de configuração do serviço, na seção [service], e...
    1 tabcoins · 0 comentários · wldomiciano · mês passado
  14. É importante destacar que o Password Grant (Resource Owner Password Credentials Grant) é considerado legado e as melhores práticas atuais proíbem seu uso. No caso de um aplicativo mobile, que é considerado um cliente público, o recomendado é usar o Aut...
    1 tabcoins · 1 comentários · wldomiciano · há 4 meses
  15. Sim, foi proposital. Minha pergunta foi: Feitos os devidos ajustes no meu código de exemplo, será que o map ainda se sairia melhor?
    1 tabcoins · 1 comentários · wldomiciano · ano passado
  16. Interessante. E se fosse algo assim? Promise.all(() => { for(const e of array) {} })
    1 tabcoins · 3 comentários · wldomiciano · ano passado
  17. Para mim o tema escuro não é questão de preferênca mais, mas sim de acessibilidade. Em 2023 minha visão piorou de uma forma que eu simplesmente não enxergo, ou enxergo com muito custo, coisas com tema claro.
    1 tabcoins · 0 comentários · wldomiciano · ano passado
  18. Um detalhe importante sobre sua descrição dos tipos numéricos, por exemplo o integer, é que ele não armazena "até 4 bytes de tamanho". Independente do valor, ele sempre vai acomodar o integer em 4 bytes. Ou seja, mesmo que seja o número zero, um espaço...
    1 tabcoins · 1 comentários · wldomiciano · ano passado
  19. Obrigado pela resposta. E Caramba, essa é uma supermáquina! Agora entendi a decisão.
    1 tabcoins · 0 comentários · wldomiciano · há 2 anos
  20. Cara, muito obrigado por este post. Foi muito bom ler sua experiência e é bom que ja enche a gente de ideias! Sobre a decisão de manter uma máquina no escritório, isso já se provou ter sido uma boa escolha ou vc faria diferente? Essa máquina precisou s...
    1 tabcoins · 2 comentários · wldomiciano · há 2 anos
  21. Esse "pro mercado" que o Daniel escreveu eu interpreto como: É difícil conseguir emprego, pois o mercado vai pedir conhecimento em Unity e outras ferramentas mainstream Se seu projeto der certo e vc precisar de pessoal, pode ser difícil encontrar profi...
    1 tabcoins · 1 comentários · wldomiciano · há 2 anos
  22. Maravilha, então! Eu pretendo excluir aquele repositório de exemplo, vc ainda vai precisar dele?
    1 tabcoins · 1 comentários · wldomiciano · há 2 anos
  23. Ah, uma dúvida: A requisição que gerou este erro foi feita a partir de um navegador? Porque é muito estranho que o HTTP_ORIGIN não esteja presente, pois o navegador sempre envia este cabeçalho sem a gente precisar fazer nada.
    1 tabcoins · 0 comentários · wldomiciano · há 2 anos
  24. O código que gerou estes erros está no seu GitHub? Eu poderia vê-lo?
    1 tabcoins · 8 comentários · wldomiciano · há 2 anos
  25. Moço, eu entendi perfeitamente sua situação, por isso eu disse "adicine isso antes daquele seu if". Aquele código que vc mostrou onde tem o trecho if (isset($_GET['url'])) não está no seu arquivo proxy.php? Pois então, é a esse if que eu me referia e é...
    1 tabcoins · 11 comentários · wldomiciano · há 2 anos
  26. Vc entendeu errado a informação desta fonte que vc linkou. Lá diz que o UTF-8 tem bits o bastante para codificar até o code point 0x1FFFFF, ou seja, tem limite. É um limite maior do que o UTF-16, mas tem limite. Só que a RFC 3629 limitou o UTF-8 para e...
    1 tabcoins · 1 comentários · wldomiciano · há 2 anos
  27. OU "nossa, como JS é estranho porque {} === {} e NaN === NaN são false.
    0 tabcoins · 0 comentários · wldomiciano · ano passado