Ir al contenido principal

Entradas

Hangfire, si no lo estás usando, estás haciendo algo mal (.NET world)

Hangfire es una librería espectacular que permite encolar tareas en un servidor de tareas que funciona dentro de tu aplicación web. Existen varios tutoriales que muestran de manera bastante sencilla cómo puedes ir integrando esto a tu aplicación. En esta publicación vamos a repetir, pero en español, y sobretodo vamos a tratar de ir lo más al punto posible. Qué es? Es una librería que la cargas a través de NUGET como cualquier otra librería. En realidad tenemos que cargar 3 librerías pero eso lo veremos más adelante. Una vez que hayas cargado todo lo necesario en tu aplicación web tendrás lo siguiente: Un servidor de colas : es decir, un lugar al cual le puedes mandar hacer cosas y no se olvida de esas cosas y las va ejecutando a medida que puede o tiene tiempo. Esto es muy útil para que tu aplicación no pierda tiempo haciendo algo que no necesita realmente hacer en ese instante y devolver más rápido al usuario final. Un tablero de control de colas : una serie de ...

Automapper para nuestra arquitectura limpia

El modelo de MVC que tenemos en una aplicación ASP.NET Core nos dice que podemos utilizar un modelo en nuestra vista y así mostrar los datos que ahí se encuentran. Lo más lógico es utilizar el objeto del dominio en la vista, sin embargo, la buena práctica te dice que ya en producción NUNCA utilices un objeto del dominio sino que utilices objetos que tienen estrictamente los atributos que vas a usar en tu vista. De esta manera la persona que está haciendo el front-end no tiene ninguna tentación de dejar algunos campos 'por si acaso' en elementos tipo hidden en la página. Y es siguiendo la buena práctica que nos enfrentamos a nuestro problema: EmpresaViewModel evm = new EmpresaViewModel(); evm.Nombre = e.Nombre; evm.Correo = e.Correo; ... Tenemos que mapear los campos de nuestro objeto de dominio a los campos de nuestro ViewModel. Aquí es donde nos rescata AutoMapper. 1. Usar los paquetes Automapper y Automapper injection para que los incorporemos a nuestra soluci...

Base de datos a DDD

El nuevo paradigma de Arquitectura limpia, adaptado con todos los patrones de diseño que ofrecen ahora las plataformas: Mediator, CQRS, Repository, etc; hace que normalmente primero creemos nuestro modelo y luego nos dediquemos a ir generando los miembros externos como la base de datos y los servicios.  Muchas veces sin embargo ya tenemos la base de datos creada y solamente necesitamos crear el modelo a partir de esa base de datos. Un buen punto de partida nos lo da un comando de scaffold en Visual Studio.  De la manera siguiente:  Scaffold-DbContext "connectionstring" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models/DB Donde connectionstring es por supuesto una cadena con la información de conexión a la base de datos: Server=Servidor;Database=BaseDeDatos;Trusted_Connection=True;user id=Usuario;password=Clave; El enlace original al articulo completo está aquí y además te muestra una manera en la cual recuperas las llamadas a tus SPs.

Despido y algunas medidas para que no te saboteen durante 11 minutos

En días pasados la cuenta de Twitter  @ realDonaldTrump  fue bloqueada durante 11 minutos. Por mucho que a algunos la medida nos causó algo de gracia; el incidente no deja de ser una reflexión en cómo manejar a tus empleados cuando debes despedirlos... y viceversa, qué nos ocurre como empleados cuando aprovechamos nuestra posición. Un empleado de soporte a cliente de Twitter, aparentemete con el permiso para suspender cuentas, en su último día de trabajo; suspendió la cuenta de the Donald.... del mismísimo, sí! Y claro, fue una catástrofe interna en la empresa. Siempre hay que tomar en cuenta que los riesgos de seguridad mayores son y siempre serán por parte de personal interno. Ellos son el mayor riesgo de seguridad, porque crees que con ellos tienes un nivel de confianza.... el cual es cierto. Salvo en ocasiones las cuales deben ser correctamente identificadas. En todos los casos estamos suponiendo que, como jefes, estas en constante contacto con tus empleados, los conoc...

Qué lindo que vamos a lo verde!

Este artículo no es realmente de ciencia computacional; pero sí es de tecnología y es importante. Qué lindo es ver los esfuerzos del ser humano para sobrevivir. Con mucho gusto se pueden ver grandes trabajos de antiguos 'malvados' como Exxon y de los nuevos héroes del planeta. Comencemos con Exxon y a propósito les pongo uno de los enlaces que cubren este suceso. Básicamente Exxon, uno de los gigantes del petróleo, está invirtiendo 1000 millones USD anuales en energías renovables; específicamente en convertir algas en combustible biológico (biodiesel y otros en este caso). Por otro lado, en Dinamarca tenemos todo un esfuerzo del país para tener cobertura completa en surtidores de combustible de Hidrógeno. Los autos son eléctricos pero no tienen batería, sino que funcionan a hidrógeno (que es considerado el combustible más limpio). Y al hacer la 'combustión' bota.... agua! Lo interesante es que después de una carga normal de 3 minutos se podrían recorrer de 400 a 600...

Tenga cuidado con sus presentaciones

Por supuesto, todo hemos escuchado la frase de "no caer en una presentación muerta de Powerpoint". Aquí algunos datos que te pueden servir para el futuro para hacer buenas presentaciones. Powerpoint es muy bueno, pero ahí debes colocar las ideas principales, lo que digas durante la presentación es algo completamente distinto. Todas las presentaciones que tienen éxito en SlideShare tienen poco texto, imagenes que ocupan la mayor parte del espacio, enlaces a videos, y mucha información clave... que es muy diferente de mucha información. Un paquete que vale la pena investigar y al menos hacer una o dos presentaciones es Prezi . Cuando lo utilices toma en cuenta que primero tu presentación debe estar ordenada en forma de mapa mental. Ahora, una vez que tienes tu presentación tamibén debes preparar cómo la vas a presentar y dónde lo vas a hacer: Si la haces al vivo, tienes campo para caminar en el lugar? Si la haces por Internet, ya probaste el software que van a usar...

Bases de datos corruptas en Sql Server

Es posible que la base de datos de master tenga un problema que impida que el servicio de SQL Server inclusive pueda comenzar. Aquí el típico mensaje de error en los eventos: El número de examen del registro (259:296:2) pasado al examen del registro de la base de datos 'master' no es válido Para solucionar este problema se puede hacer lo siguiente: Tomar la base de datos master de los templates que vienen con la instalación de SQL Server. Volver a adjuntar todas las bases de datos que se tenían anteriormente. Funciona de maravilla y permite recuperar al servicio de SQL Server y volver a las operaciones.