Casi todos habremos tenido alguna vez la sensación de no entender lo que ocurre en nuestro código ante una incidencia en el entorno de producción de uno de nuestros desarrollos. Habíamos comprobado el correcto funcionamiento del código utilizando pruebas unitarias, pruebas de integración, ya habíamos pasado los filtros de QA…
Diseño de software
JQuery: cuando data() nos engaña
En el desarrollo web, según pasan los años, cada vez es más común el uso de frameworks javascript que nos facilitan la vida al programar. Uno de los más clásicos es JQuery, desde que salió siempre ha ofrecido utilidades de todo tipo, y aunque hoy en día existen más alternativas…
Tipos por referencia Vs paso por referencia
Hoy vamos a tratar, por medio de un ejemplo práctico, de distinguir entre dos sencillos conceptos del lenguaje C# que en ocasiones llevan a confusión: los tipos por referencia y el paso por referencia. Separar estos conceptos claramente puede ahorrarnos sutiles errores de programación. Los tipos de C# se pueden…
Lo que los ConcurrentDictionary nos ofrecen
En el artículo anterior acerca del uso de conjuntos, mencionamos cómo un HashSet<T> nos ofrecía un mecanismo de búsqueda muy eficiente en cuanto a rendimiento. Además, permitían realizar una serie de operaciones especiales como, por ejemplo, identificar si un objeto se encontraba en la colección. Esta es…
Dictionary en .NET
Existen muchas y diversas estructuras de datos ya implementadas en los lenguajes de programación. Cada una de ellas tiene sus puntos fuertes y sus puntos débiles, por lo que se debe escoger con criterio cuál utilizar dependiendo de la situación. Hoy voy a hablaros de una de ellas, el Dictionary.…
Cifrado de datos sensibles en logs (GDPR)
A la hora de escribir nuestro código, hagamos como lo hagamos, un hecho irrefutable es que cuando llega a su destino y es ejecutado en el entorno de PRODUCCIÓN, más tarde o más temprano siempre llega el infame día en que nuestro código 'peta'. ¡¡¡OOPS!!! En este crítico momento, si…