Tema: golang
-
Variantes de regex: BRE/ERE, PCRE2, RE2, JavaScript, Python y .NET comparados
Los caracteres + ? | ( ) { } son literales o especiales según la herramienta use POSIX BRE o ERE. Además, algunos motores admiten lookaround y referencias inversas, mientras que RE2 los rechaza a propósito para garantizar coincidencia en tiempo lineal, y los grupos con nombre tienen tres grafías que cada motor acepta en combinaciones distintas.
-
Variables de entorno de proxy en curl, requests, Go, Java, Node y wget
curl rechaza a propósito `HTTP_PROXY` en mayúsculas por la inyección vía CGI, mientras que Python requests la acepta fuera de CGI. Un punto inicial en `NO_PROXY` limita la coincidencia a subdominios en el `httpproxy` de Go, pero curl lo ignora y también incluye el dominio sin subdominio. El `fetch` de Node ignora las variables de proxy salvo que se use `NODE_USE_ENV_PROXY` o se configure un `ProxyAgent`.
-
Cadenas de duración e intervalo: ISO 8601, ParseDuration de Go, systemd, Prometheus, PostgreSQL y TimeSpan de .NET
PT1H30M, 1h30m, '1h 30min' y 01:30:00 pueden describir el mismo lapso, pero cada parser acepta un conjunto distinto de sufijos de unidad y rechaza todo lo demás, así que una cadena de duración copiada entre sistemas suele fallar al interpretarse.
-
Tokens de formato de fecha y hora: equivalencias entre strftime, Java, Go, .NET y Moment/date-fns
La misma letra significa cosas distintas según la biblioteca de formato: la Y mayúscula de Java es el año de semana y no el año natural, y la D es el día del año en Java y date-fns, pero el día del mes en Moment. Esta tabla de tokens sirve para revisar una cadena de formato generada antes de fiarse de ella.
Legible por máquina: JSON