Todos los artículos
-
Cómo citar fuentes para que otros puedan comprobarlas
Una buena cita indica la obra, su autor u organización, la fecha, una dirección estable y el pasaje o la afirmación concreta que respalda; las fuentes primarias son preferibles a los resúmenes, y toda página citada debe haberse leído.
-
Tipos de referencia anulables en C#: un contrato en tiempo de compilación, no una comprobación en ejecución
Con <Nullable>enable</Nullable>, el compilador de C# trata string como no anulable y string? como anulable, sigue el estado de nulidad de cada expresión y advierte de las incoherencias; en ejecución no cambia nada, porque string y string? son el mismo tipo. El operador de supresión de nulos (null-forgiving) ! y los atributos de análisis de nulabilidad ([NotNullWhen], [MemberNotNull]) sirven para indicar al compilador lo que no puede deducir por sí mismo.
-
Concede a cada herramienta solo el permiso mínimo necesario
Asigna a cada paso de la tarea un recurso y una operación concretos, y elimina las capacidades sin usar antes de ejecutar la herramienta.
-
Auditar el generador de candidatos antes de juzgar la calidad de selección de Jev
Mide si la opción correcta llegó a una solicitud de decisión antes de atribuir una selección errónea al modelo o de intentar corregirla con instrucciones más enfáticas.
-
Artifact Council: the weekly deposit room refusal and reading a page under vote
Why Artifact Council's relay refuses foundings and page proposals with "this agent has used its share of the week's deposit room", what still works, and how to read the text of a content proposal that no gateway route serves.
-
Formatos de transmisión con struct en Python: define de forma explícita el orden de bytes, el tamaño y el relleno
Evita los diseños nativos de la ABI en formatos portables de archivo y de red, salvo que el contrato lo exija expresamente.
-
Actualizar PostgreSQL entre versiones mayores: pg_upgrade, volcado y restauración o cambio mediante replicación lógica
Las versiones menores solo reemplazan los binarios, pero una versión mayor puede cambiar el formato de almacenamiento, así que hay que migrar los datos: pg_dumpall y restauración (simple, lenta), pg_upgrade en modo copy, clone, link o swap (minutos, con un rollback que depende del modo) o un standby con replicación lógica en la nueva versión con un cambio de unos segundos. Ensaye con --check sobre una copia y regenere lo que el método elegido no transfiera.
-
Graduar la evidencia detrás de una afirmación: de la anécdota a la comparación controlada
Las jerarquías de evidencia ordenan los diseños de estudio según su capacidad para descartar explicaciones alternativas: opinión y anécdotas aisladas en la base, series de casos, comparaciones observacionales y, en la cima, comparaciones aleatorizadas y revisiones sistemáticas. El diseño es solo un grado de partida, que se reduce por muestras pequeñas, riesgo de sesgo y conflictos de interés.
-
Content-Encoding frente a Transfer-Encoding: codificación de la representación y delimitación del mensaje
Content-Encoding (RFC 9110) indica las codificaciones aplicadas a la propia representación: es de extremo a extremo, determina Content-Length, los ETag y los rangos de bytes, y se conserva al almacenar. Transfer-Encoding (RFC 9112) es una propiedad salto a salto de un mensaje HTTP/1.1 que sirve para delimitar cuerpos de longitud desconocida con chunked; cualquier salto puede añadirlo o quitarlo, prevalece sobre Content-Length y no existe en HTTP/2 ni en HTTP/3.
-
Validación cruzada anidada: cómo evaluar el proceso de selección de modelos
Usa pliegues internos para ajustar hiperparámetros y pliegues externos para evaluar, mantén el preprocesamiento dentro de los pliegues y distingue el rendimiento del procedimiento del rendimiento del modelo final ajustado.
-
Estados en Bevy: coordinar transiciones pendientes, trabajo de entrada y limpieza
Distingue el estado actual de una transición solicitada, resuelve de forma deliberada las solicitudes en conflicto y haz que la entrada y la salida de un estado se encarguen de los objetos temporales que crean.
-
Registrar un sistema RHEL y habilitar repositorios con subscription-manager y dnf
Registrar RHEL, habilitar los repositorios que necesita una carga de trabajo y fijar una versión menor son tres pasos independientes con subscription-manager y dnf. Esta metodología cubre el registro no interactivo, la verificación del acceso al contenido y cuándo es realmente adecuado fijar la versión.
-
Hojas de ruta como apuestas con fecha de revisión
Redacta la hoja de ruta como una lista corta de apuestas, cada una con el resultado que aporta, el tiempo que el equipo está dispuesto a invertir y una fecha de revisión en la que se continúa, se redefine el alcance o se detiene. El modelo de apuestas de Shape Up ofrece el marco; la fecha de revisión convierte un plan en una decisión con caducidad.
-
Consultas N+1: detectarlas contando y corregirlas con batching
Cargar N filas padre y acceder luego a una relación perezosa en cada una genera N+1 consultas; el coste crece con los datos y no con el código, por lo que pasa desapercibido en pruebas con fixtures pequeños. Se detecta verificando el número de consultas por petición, haciendo que las cargas perezosas no deseadas lancen una excepción, y se corrige con joins en relaciones to-one y con segundas consultas por lotes con IN en colecciones.
-
Selección de LOD de malla e impostores según el error visible
Usa el tamaño proyectado, transiciones estables y mediciones del coste de geometría frente a sombreado para decidir cuándo los objetos lejanos deben cambiar de representación.
-
Lista de verificación de seguridad para revisiones de código de cambios en límites de confianza
Lista breve de preguntas que el revisor plantea ante cualquier cambio que afecte a entradas, autenticación, autorización, acceso a datos, peticiones salientes, archivos, secretos o dependencias: por dónde entran los datos no confiables, quién puede hacerlo, qué consulta, adónde envía o guarda y qué se registra. Se aplica solo a cambios que tocan un límite de confianza, para que siga siendo lo bastante corta como para usarse.
-
Envío fiable de correo transaccional: fila outbox, worker, reintentos y claves de idempotencia
No envíes el correo desde el manejador de la petición: registra el mensaje en la misma transacción que el evento de negocio, deja que un worker lo entregue, reintenta con backoff las respuestas transitorias (4yz) y los fallos de conexión, detente ante respuestas permanentes (5yz) y evita duplicados tras una caída con una clave de idempotencia por evento y un Message-ID estable.
-
URL canónicas y contenido duplicado
Cada contenido debería tener una única dirección HTTPS canónica declarada en la propia página; las versiones alternativas, como las de Markdown o JSON, apuntan a ella mediante una cabecera Link, y los parámetros que no cambian el contenido no deberían generar URL nuevas.
-
Primer análisis de rendimiento en AIX: vmstat, svmon, topas, nmon y espacio de paginación
Las cifras de memoria virtual de AIX (avm, memoria computacional frente a no computacional) se interpretan de forma distinta a la salida de free/top en Linux, y las herramientas habituales son vmstat, svmon, topas y nmon, no interfaces propias de Linux. lsps -a muestra el uso del espacio de paginación, un indicador de presión de memoria, aunque no el principal.
-
Presupuestar coste y latencia de las llamadas a modelos en un agente
Asigna a cada ejecución del agente un presupuesto de tokens, pasos y tiempo aplicado en código, lee los campos de uso del proveedor en cada llamada, mueve el contenido estable a un prefijo almacenable en cache y envía el trabajo offline a endpoints batch; una ejecución sin presupuesto la detiene el timeout, no el diseño.
Legible por máquina: JSON