Skip to content
Perspectivas e Iteraciones Entendiendo la IA: técnico, cotidiano y reflexiones.

#código

Modificar un Archivo Localmente Sin Actualizar el Repositorio Git Remoto
Modificar un Archivo Localmente Sin Actualizar el Repositorio Git Remoto

5 de abril de 2024 • 1 min de lectura

¿Alguna vez has necesitado modificar un archivo localmente sin confirmar los cambios al repositorio remoto?

Una Implementación de Búsqueda Binaria
Una Implementación de Búsqueda Binaria

1 de diciembre de 2020 • 1 min de lectura

El algoritmo de búsqueda binaria busca rápidamente en un gran arreglo de números, a menudo se le conoce como divide y vencerás.

Los Beneficios de Usar un Framework de Construcción
Los Beneficios de Usar un Framework de Construcción

25 de noviembre de 2020 • 2 min de lectura

La Integración Continua (CI) y/o la Entrega Continua (CD) es la norma en proyectos de software hoy en día. Hay muchos servidores de construcción como Azure DevOps, TeamCity, Jenkins, y Cruise Control.Net.

Herramientas y Recursos que Uso Comúnmente para Desarrollar Software
Herramientas y Recursos que Uso Comúnmente para Desarrollar Software

23 de octubre de 2020 • 6 min de lectura

A continuación se presenta una colección de herramientas, librerías y recursos que uso comúnmente.

NVarchar Vs Varchar
NVarchar Vs Varchar

5 de agosto de 2020 • 3 min de lectura

Cada ingeniero que define una nueva columna de cadena decide: ¿Uso nvarchar o uso varchar?

Cambiar el Valor de un Input de React desde Javascript Vanilla
Cambiar el Valor de un Input de React desde Javascript Vanilla

27 de julio de 2020 • 1 min de lectura

Cambiar el valor de un input de React desde Javascript vanilla no es tan simple como podrías pensar.

Cuándo Usar El Atributo FromService
Cuándo Usar El Atributo FromService

20 de noviembre de 2019 • 3 min de lectura

El atributo [FromServices] permite la inyección de dependencias a nivel de método en controladores de Asp.Net Core.

C# 8 - Tipos de Referencia Anulables
C# 8 - Tipos de Referencia Anulables

3 de noviembre de 2019 • 4 min de lectura

Microsoft está agregando una nueva característica a C# 8 llamada Tipos de Referencia Anulables. Lo cual al principio es confuso porque todos los tipos de referencia son anulables... entonces ¿cómo es esto diferente? En adelante, si la característica está habilitada, los tipos de referencia son no anulables, a menos que los marques explícitamente como anulables.

9 Pautas para Crear Nombres Expresivos
9 Pautas para Crear Nombres Expresivos

27 de octubre de 2019 • 6 min de lectura

Nombrar es subjetivo y situacional, es un arte, y como con la mayoría del arte, descubrimos patrones. He aprendido mucho leyendo el código de otros. En este artículo, he compilado 9 pautas que desearía que otros hubieran seguido cuando leí su código.

¿Con o Sin Llaves?
¿Con o Sin Llaves?

13 de octubre de 2019 • 2 min de lectura

Hay un debate acalorado sobre las declaraciones simples y si deberían tener llaves o no.

La Comprensión Comienza con Nombres Expresivos
La Comprensión Comienza con Nombres Expresivos

30 de septiembre de 2019 • 4 min de lectura

Comprender el código es el primer paso para modificarlo.

Codificando la Salsa Secreta
Codificando la Salsa Secreta

15 de septiembre de 2019 • 6 min de lectura

Codificar la salsa secreta es fundamental para escribir aplicaciones mantenibles y exitosas.

Tipos de Recolección de Basura en .Net Core
Tipos de Recolección de Basura en .Net Core

1 de septiembre de 2019 • 5 min de lectura

La gestión de memoria en los lenguajes modernos a menudo es una consideración secundaria. Para todos los efectos, escribimos software sin pensar apenas en la memoria. Esto nos sirve bien, pero siempre hay excepciones…

Tú No Eres Tu Código
Tú No Eres Tu Código

18 de agosto de 2019 • 1 min de lectura

Tu código no refleja ni tus creencias, ni tu educación, ni tu carácter.

Los 5 Diferentes Significados del Signo de Interrogación en C#
Los 5 Diferentes Significados del Signo de Interrogación en C#

5 de agosto de 2019 • 1 min de lectura

En C# el signo de interrogación tiene 5 significados a partir de C# 8.

El Comparador de Colecciones, Encontrando las Diferencias Entre Dos Colecciones
El Comparador de Colecciones, Encontrando las Diferencias Entre Dos Colecciones

21 de julio de 2019 • 2 min de lectura

¿Has tenido que comparar dos colecciones y ejecutar alguna lógica basada en si el elemento está en la colección fuente, en la colección de comparación o en ambas? Sí, yo también, necesitaba fusionar datos de la UI y la base de datos. No pude encontrar una buena solución, así que escribí un comparador de colecciones.

Implementando Caché de Solicitudes en ASP.Net Core
Implementando Caché de Solicitudes en ASP.Net Core

7 de julio de 2019 • 4 min de lectura

En algún momento del desarrollo de una aplicación, generalmente bastante temprano, te das cuenta de que la aplicación es lenta. Después de investigar un poco, el culpable es recuperar innecesariamente los mismos datos, y se enciende una luz, y piensas: "Necesito algo de caché."

Ejecutar Await en un Constructor
Ejecutar Await en un Constructor

23 de junio de 2019 • 1 min de lectura

Si debes ejecutar código en un constructor. Buscaría una forma diferente, pero si debes hacerlo, aquí tienes una manera.

Solución alternativa para 'Template parse errors;' en Angular
Solución alternativa para 'Template parse errors;' en Angular

30 de octubre de 2017 • 2 min de lectura

Este fue uno de los problemas más frustrantes con Angular 2/4/+. No es un problema con Angular 2/4/+ en sí, sino con cómo webpack empaqueta los archivos HTML de soporte.

Examinando el Caso de las Declaraciones Switch
Examinando el Caso de las Declaraciones Switch

6 de diciembre de 2015 • 10 min de lectura

Durante casi 50 años, la declaración switch (también conocida como declaración case) ha sido una parte integral de la programación. En años recientes, sin embargo, algunos afirman que la declaración switch ha superado su utilidad. Otros van aún más lejos etiquetando la declaración switch como un code-smell.

4 Prácticas para Reducir tu Tasa de Defectos
4 Prácticas para Reducir tu Tasa de Defectos

17 de noviembre de 2015 • 10 min de lectura

Escribir software es una batalla entre la complejidad y la simplicidad. Lograr el equilibrio entre ambas es difícil. El compromiso está entre métodos largos no mantenibles y demasiada abstracción. Inclinarse demasiado en cualquier dirección perjudica la legibilidad del código y aumenta la probabilidad de defectos.

¡Fragmentación de Índices en SQL Azure, Quién lo Hubiera Sabido!
¡Fragmentación de Índices en SQL Azure, Quién lo Hubiera Sabido!

26 de abril de 2015 • 2 min de lectura

He estado en mi proyecto por más de un año y ha crecido significativamente como aplicación y en datos durante el año. Han sido características nuevas sin parar. Rara vez he vuelto atrás y refactorizado código...

Probando un Concepto y Haciendo Crecer el Código
Probando un Concepto y Haciendo Crecer el Código

1 de marzo de 2015 • 2 min de lectura

En una conversación reciente, un amigo mencionó que crea pruebas de concepto y luego las descarta después de probar su viabilidad. He hecho lo mismo en el pasado. Esta vez no se sintió bien. Me estremecí cuando dijo que tiró el código. Tal vez mis días como dueño de negocio me han convertido en una cabra tacaña, pero sentí como si estuviera tirando valor.

Asegurando AngularJS con Claims
Asegurando AngularJS con Claims

14 de febrero de 2015 • 6 min de lectura

En algún momento una aplicación necesita autorización. Esto significa que diferentes niveles de acceso se comportan de manera diferente en un sitio web (o cualquier cosa en realidad). Puede ser cualquier cosa desde ver datos hasta áreas completas que no son accesibles por un grupo de usuarios.

3 Razones por las que las Revisiones de Código son Importantes
3 Razones por las que las Revisiones de Código son Importantes

28 de enero de 2015 • 3 min de lectura

Una gran revisión de código desafiará tus suposiciones y te dará retroalimentación constructiva. Para mí, las revisiones de código son una parte esencial para crecer como ingeniero de software.

5 Pasos para Programar Pensando en el Próximo Desarrollador
5 Pasos para Programar Pensando en el Próximo Desarrollador

1 de enero de 2015 • 6 min de lectura

La mayoría de nosotros probablemente no pensamos en el desarrollador que mantendrá nuestro código. Hasta hace poco, yo tampoco lo consideraba. Nunca escribí código confuso intencionalmente, pero tampoco dejé pistas.

Implementando Cifrado Transparente con Listeners (Interceptores) de NHibernate
Implementando Cifrado Transparente con Listeners (Interceptores) de NHibernate

3 de noviembre de 2014 • 5 min de lectura

¿Alguna vez has tenido que cifrar datos en la base de datos? En este post, exploraré cómo usar Listeners de nHibernate para cifrar y descifrar datos que provienen y van hacia tu base de datos. La criptografía será transparente para tu aplicación.

Llamando Procedimientos Almacenados con Code First
Llamando Procedimientos Almacenados con Code First

16 de octubre de 2014 • 2 min de lectura

Una de las debilidades de Entity Framework 6 Code First es la falta de soporte para llamar nativamente a construcciones de base de datos (vistas, procedimientos almacenados... etc). Para aquellos que no han oído hablar o usado Code-First en Entity Framework (EF), Code-First es simplemente una API de mapeo Fluent.

Parámetros SQL condicionales con nHibernate
Parámetros SQL condicionales con nHibernate

26 de marzo de 2014 • 5 min de lectura

El problema es que el `CreateSqlQuery` de nHibernate necesita una cadena sql completa para ser creada, pero no puedes crear una cadena hasta que hayas evaluado los parámetros. La única solución es evaluar los parámetros condicionales para crear la cadena sql para crear la sesión de nHibernate y luego reevaluar los parámetros nuevamente para agregarlos al objeto de consulta de `nHibernate`.

Solución para el Límite Máximo de Procesamiento de Reportes Alcanzado en Crystal Reports 13
Solución para el Límite Máximo de Procesamiento de Reportes Alcanzado en Crystal Reports 13

18 de diciembre de 2013 • 7 min de lectura

En la versión de Visual Studio 2012 de Crystal Reports 13 existe un umbral que limita los reportes concurrentes, esto también incluye subreportes, a 75 reportes en una máquina. Esto significa que si hay 5 aplicaciones web en un servidor dado, todos los reportes abiertos en las 5 aplicaciones web cuentan hacia el límite de 75 reportes.

Consideraciones al Lanzar Excepciones
Consideraciones al Lanzar Excepciones

21 de marzo de 2013 • 3 min de lectura

Hay una filosofía subyacente en este sistema de que los nulos son malos. En la mayoría de los casos donde se puede generar un nulo se lanza una excepción. Al principio no vi un problema con esto. Lo vi como una decisión arquitectónica, una estética, pero mientras interactúo con el código, me resulta evidente que es un error arquitectónico.

Creando un Tipo Genérico en Tiempo de Ejecución
Creando un Tipo Genérico en Tiempo de Ejecución

22 de mayo de 2012 • 1 min de lectura

Para usar un tipo en tiempo de ejecución con un contenedor IOC como StructureMap para encontrar una implementación genérica, crea el tipo genérico usando `MakeGenericType` y luego recupera la instancia del contenedor usando `_container.GetInstance(type)`.