Artículos sobre desarrollo
Doce artículos sobre los formatos que uno pega entre herramientas todo el día: para qué sirve base64 y cuánto cuesta, por qué la indentación de YAML muerde, qué hay realmente adentro de un JWT, cuándo un UUID v7 le gana a un v4 y por qué un timestamp cae una hora corrido.
Por qué falla tu JSON: los cinco errores de siempre
El parser te dice dónde se rindió, no dónde te equivocaste. Cinco errores, el mensaje que produce cada uno y una forma de partir por la mitad un archivo terco.
LeerQué significa el = al final de un Base64
Los signos igual son contabilidad de un último grupo que quedó corto. Cuándo se pueden quitar y qué te dice la longitud antes de decodificar.
LeerLos errores de regex que te hacen perder la tarde
Tres errores de regex devuelven algo que parece casi correcto, y por eso cuestan horas en vez de minutos. Cómo reconocer cada uno en un minuto.
LeerUna zona horaria no es un desfase respecto a UTC
Un desfase es un número para un instante. Una zona horaria es el conjunto de reglas que produce ese número. Por qué la diferencia decide qué debes guardar.
LeerPoner un UUID en una URL: qué protege y qué cuesta
Un identificador aleatorio oculta cuántos registros tienes e impide recorrerlos contando. También vuelve toda URL ilegible e imposible de dictar, y no es control de acceso.
LeerQué es Base32 y dónde ya lo usaste
Cinco bits por carácter, un alfabeto reducido, y la razón por la que tu secreto de dos factores no se parece en nada a un JWT.
LeerQué Hace Realmente un Parámetro UTM
Una etiqueta UTM viaja en la query string y nada la lee en el camino. Solo el script de analítica de la página de llegada la mira.
LeerPor qué JSON no tiene comentarios
Douglas Crockford los sacó a propósito, y el parche se partió en dos dialectos con la misma idea y distinto nombre.
LeerYAML vs JSON: cuál usar y dónde muerde cada uno
JSON para lo que intercambian las máquinas, YAML para lo que edita la gente. Lo interesante está en la indentación, la conversión de tipos y el código de país que se convierte en false.
Leer¿Conviene usar imágenes en Base64? Cuándo sí
Incrustar te ahorra una solicitud y te cuesta 33% más bytes, cache propio y lazy loading. La línea está cerca del kilobyte.
LeerQué hay dentro de un JWT y qué no demuestra
Tres bloques en base64url, un puñado de claims y una firma que demuestra bastante menos de lo que casi todos suponen.
LeerQué es Base64 y cuándo lo necesitas de verdad
Base64 convierte bytes en 64 caracteres de texto seguros, de tres en tres, y te cobra un tercio del tamaño del archivo por el privilegio.
LeerQué es un timestamp Unix y cómo leerlo
Un solo número, contando segundos desde 1970. Cómo leerlo de un vistazo y por qué el tuyo termina cayendo en enero de 1970.
LeerUUID v4 vs v7: cuál usar y en qué casos
v7 para claves de base de datos, v4 cuando la hora de creación no es asunto de nadie más. Los bits detrás de esa regla, y los dos lugares donde v7 no hace nada.
LeerQué es la codificación de URL y por qué rompe tu enlace
El percent-encoding en términos simples: qué caracteres hay que escapar, cuáles nunca, y las tres formas en que sale mal.
LeerEntidades HTML: qué son y cuándo las necesitas
Una entidad es un carácter escrito en ASCII puro. Necesitas cinco, y el resto lo puedes escribir directamente en el archivo.
LeerCómo formatear JSON minificado para poder leerlo
Volver a indentar una línea enorme es la parte fácil. La vuelta por el parser es donde las cosas cambian sin avisar.
LeerCómo convertir JSON a CSV y qué se pierde
Cada clave se convierte en una columna y cada objeto en una fila. Las decisiones empiezan en cuanto algo de tu JSON deja de ser plano.
LeerCómo convertir CSV a JSON (y qué se rompe)
Las filas se vuelven objetos y los encabezados se vuelven claves. Lo interesante son los ceros a la izquierda, la comilla suelta y el anidamiento que ya no recuperas.
LeerBinario, hexadecimal y decimal: la diferencia
La base solo decide cómo se escribe una cantidad. Cuál conviene usar depende de si la lee una persona o un circuito.
LeerPor dónde empezar
Si vas a leer solo dos, que sean qué es base64 y qué es un timestamp Unix. Las dos son cosas que la mayoría de quienes programan usan durante años con una idea funcional pero incompleta, y las dos producen errores difíciles de ver justamente porque el código parece correcto.
Qué hay adentro de un JWT es el tercero, y es el que tiene consecuencias de seguridad si la idea está equivocada.
Qué tienen en común estos artículos
Casi todos tratan de formatos, y un formato es un conjunto de decisiones que alguien tomó hace mucho y con las que ahora te toca convivir. Por qué JSON no tiene comentarios es una decisión de diseño con un motivo declarado. UUID v4 contra v7 trata de un intercambio entre azar y localidad de índice que no importaba hasta que las bases de datos se hicieron grandes. YAML contra JSON trata de legibilidad comprada con ambigüedad.
El resto son las codificaciones que se sientan calladas entre sistemas. La codificación de URL, las entidades HTML, base32 y las bases numéricas resuelven todas la misma forma de problema: pasar datos por un canal que se reserva algunos caracteres para sus propios fines.
Preguntas frecuentes
¿Por qué JSON no permite comentarios?
Su diseñador los quitó a propósito. En otros formatos los comentarios se habían usado para llevar directivas de procesamiento, lo que convertía un formato de datos en algo que cada analizador interpretaba distinto. Dejarlos afuera mantiene a JSON sin ambigüedad. La solución habitual es una clave común que los lectores ignoran, por ejemplo un campo llamado como una nota.
¿Conviene usar UUID v4 o v7?
Usa v7 cuando el UUID es clave primaria de una base de datos. Empieza con una marca de tiempo, así que las filas nuevas caen una al lado de la otra en el índice en vez de dispersas, lo que mantiene rápidas las inserciones a medida que la tabla crece. Usa v4 cuando no quieres que el identificador revele absolutamente nada.
¿Cuál es la diferencia entre base64 y base32?
Las dos representan datos binarios como texto, con alfabetos distintos. Base64 usa 64 caracteres, algunos fáciles de confundir al leerlos en voz alta o al tipearlos, y es más compacta. Base32 usa 32 caracteres sin ambigüedad, ocupa alrededor de un veinte por ciento más, y es la que usan las claves de configuración de doble factor porque hay que escribirlas a mano.
Todas las categorías
PDF 10Imágenes 10Texto 14Diseño 11Seguridad 8Calculadoras 13Cotidiano 4Tiempo 7