Ingeniería de software

12
Despliegue continuo con gitignore

Al realizar una implementación continua con Git, ¿cómo maneja los archivos ignorados en gitignore? Esos archivos se ignoran por razones de privacidad (es decir, no quieren que se envíen a otros repositorios remotos, como GitHub), pero con esos archivos ignorados que no se envían al repositorio de...

12
¿Por qué el subtipo conductual es indecidible?

El trabajo de Liskov en esta área se centró en el subtipo de comportamiento, que además de la seguridad del sistema de tipos discutido en este artículo también requiere que los subtipos preserven todos los invariantes garantizados por los supertipos en algún contrato. [3] Esta definición de...

12
Mantener API versus usar modismos en un puerto

Estoy trabajando en un puerto de Python a Rust y encontré un código que no se puede expresar de forma tan natural en Rust como en Python. Un caso de esto es el uso de parámetros predeterminados: class Foo: def __init__(self, a="Hello"): self._a = a En Rust, puede implementar esto usando un...

12
Muchas llamadas asincrónicas frente a una sola llamada a la API

Estamos desarrollando una API REST que, entre otras, será consumida por una interfaz HTML5 a través de JavaScript. La aplicación es para uso dentro de la organización y generalmente tiene alrededor de 300 usuarios, pero queremos escalar bien hasta 1000 usuarios más o menos. Normalmente, las...

12
¿Debo ser permisivo con los parámetros desconocidos?

Estoy diseñando una API RESTful y me enfrenté al problema del título, reformulado para mayor claridad: ¿Debo fallar rápidamente si un cliente envía un parámetro no reconocido? Por ejemplo, http://example.com/api/foo?bar=true&paula=bean En lo anterior, bares un parámetro válido pero paulano...