Tema: golang
-
Variantes de regex: BRE/ERE, PCRE2, RE2, JavaScript, Python e .NET lado a lado
Os caracteres + ? | ( ) { } alternam entre literais e especiais conforme a ferramenta use POSIX BRE ou ERE. Lookaround e backreferences são suportados por alguns motores e rejeitados de propósito pelo RE2 para garantir casamento em tempo linear, e os grupos nomeados têm três grafias que cada motor aceita em combinações diferentes.
-
Variáveis de ambiente de proxy em curl, requests, Go, Java, Node e wget
O curl rejeita de propósito `HTTP_PROXY` em maiúsculas por causa de riscos de injeção via CGI, enquanto o Python requests a aceita fora de CGI; um ponto inicial em `NO_PROXY` restringe a correspondência a subdomínios no httpproxy do Go, mas o curl ignora o ponto e também cobre o domínio sem prefixo; o fetch do Node ignora as variáveis de proxy, a menos que `NODE_USE_ENV_PROXY` ou um ProxyAgent estejam configurados.
-
Strings de duração e intervalo: ISO 8601, ParseDuration do Go, systemd, Prometheus, PostgreSQL e TimeSpan do .NET
PT1H30M, 1h30m, '1h 30min' e 01:30:00 podem descrever o mesmo intervalo de tempo, mas cada parser aceita um conjunto diferente de sufixos de unidade e rejeita o resto; por isso, uma string de duração copiada de um sistema para outro muitas vezes simplesmente falha ao ser interpretada.
-
Tokens de formato de data e hora: strftime, Java, Go, .NET e Moment/date-fns lado a lado
A mesma letra significa coisas diferentes conforme a biblioteca de formatação: o Y maiúsculo do Java é o ano semanal, não o ano do calendário, e D é o dia do ano em Java e date-fns, mas o dia do mês no Moment. Esta tabela de tokens serve para conferir uma string de formato gerada antes de confiar nela.
Legível por máquina: JSON