Datapayasadas

junio 23, 2014

Programación orientada a mails

Filed under: Software, Uncategorized — pabloide86 @ 8:51 pm

Uffff hacía mucho que no escribía por acá. Esta vez no voy a hablar de código ni de tecnología, sino mas bien de un tema que me inquieta mucho. Hasta podría decir que estoy haciendo una especie de catarsis…

Resulta que este último año y medio estuve asignado a una cuenta de una importante empresa rosarina, un monstruo de organización por donde se lo mire. Su principal actividad no es el software pero tienen un equipo de desarrollo muy grande y mantienen un conjunto de aplicaciones que dan soporte a su proceso de negocios y estas aplicaciones son vitales para la operación diaria de la empresa.

En uno de los proyectos que estuve asignado involucraba a 1 analista funcional, 1 tester y 2 desarrolladores por un período de 2 meses. Lo que me impulsó a escribir esto es que durante esos 2 meses, llegaron a mi inbox mas de 400 mails!!! Lo peor de todo es que si juntara todas las lineas de código que se agregaron incluyendo los comentarios, creo que no llegan a 400..

Cuando el mail se convierte en un chat asincrónico y persistente, lista de tareas, versionado de documentos, workflow de aprobación y foro de discusión, evidentemente hay algo que está mal. Hay herramientas como Sharepoint que fueron diseñadas para esto!!! ¿Para qué mandar manualmente un mail diciendo que subí una nueva versión de un documento cuando esto se puede hacer de forma automática?

El mayor problema es cuando el proceso de desarrollo depende de esta comunicación. Basta con que nos olvidemos de copiar en un mail a una persona para que se desate el caos!!! Y al final nos pasamos mas tiempo en Outlook que en Visual Studio!!

En fin, basta de mails!!! Usemos las herramientas para lo que fueron creadas!!

Saludos y hasta pronto!

diciembre 11, 2012

Workflow Foundation 4.0

Filed under: .Net, C#, Desarrollo, WF4 — Etiquetas: , , , — pabloide86 @ 11:57 pm

Buenasss amigosss! Hacía muchísimo que no escribía por acá!

El pasado Jueves 22 de Noviembre fui invitado por la cátedra de .NET de la UTN para disertar en las Mini Charlas Tecnológicas!

El tema que elegí fue Procesos de Negocios con Workflow Foundation 4.0. Me topé con esta tecnología a mediados del 2010 como parte del desarrollo de un proyecto en el que estaba trabajando. En ese proyecto estaban usando BizTalk 2000 y se estaba haciendo una migración hacia .NET, entonces WF4 surgió como un reemplazo natural a esta tecnología.

A continuación, un breve resumen de la charla.

(more…)

diciembre 21, 2011

Performance Tunning: Identificando cuellos de botella

Filed under: .Net, ASP.NET, Herramientas — Etiquetas: , , , , — pabloide86 @ 12:45 am

Holasss amigos! Hacia muchísimo que no escribía por acá! El motivo de este post es compartir mi experiencia con respecto al tunning de performance de una aplicación, mas específicamente de una aplicación web.  Mas que nada para compartir algunas herramientas y procedimientos que me fueron muy útiles a la hora de identificar cuellos de botella en el código.

Por desgracia, este trabajo siempre suele dejarse para el final, cuando todo el trabajo ya esta hecho y estamos al horno con la entrega por lo que cualquier cambio impacta mucho! Asique manos a la obra..

(more…)

julio 17, 2010

Un poquito de Generics

Filed under: .Net, C#, Desarrollo, Generics, Software — Etiquetas: , — pabloide86 @ 1:12 pm

Hola mis queridos List<Amigos>

Hoy vamos a hablar un poco sobre el mundo de los Generics. Vamos derecho al código…

Supongamos que necesitamos un método que devuelve un objeto Persona:

public Persona GetPersonaByID(int idPersona)
{
     var persona = new Persona();
     // Aquí va el codigo para armar el objeto
     return persona;
}

Para llamar a este método lo hacemos de la forma:

Persona objeto = GetPersonaByID(5);

Hasta aquí ninguna novedad. Ahora bien, supongamos que queremos hacer que el mismo método trabaje con cualquier tipo de objetos:

//T: parámetro de tipo
public T GetEntityByID<T>(int idEntity)
{
    // Aquí va el código para armar el objeto. Veremos mas adelante qué necesitamos
    // para instanciar un objeto T
    // ahora se complica un poco mas porque no sabemos bien que tipo de objetos es T
    return entity;
}

Y ahora cuando llamamos a este método le vamos a indicar con qué tipo de objetos tiene que operar:

Persona p = GetEntityByID<Persona>(5);
Ticket t = GetEntityByID<Ticket>(8);
Auto a = GetEntityByID<Auto>(19);

(more…)

junio 3, 2010

this.Title.Replace(“.Net”, “Java”);

Filed under: Uncategorized — Matías @ 6:05 pm

Porque no todo en la vida es .Net:

El pase de diapositivas requiere JavaScript.

Esto es Java usando la librería gráfica SWT. Lindo, ¿no?.

Que se vea nativo en Linux, Mac OSX y Windows es kinda priceless.

abril 10, 2010

Relanzar Excepciones

Filed under: .Net, C#, Desarrollo, Excepciones — Matías @ 6:52 pm

Me encontraba buscando la causa de porque perdía el stack trace al relanzar excepciones capturadas y finalmente logre dar en el clavo, las estaba usando mal… shame on me!.

No recuerdo de donde tomé la mala costumbre, pero lo que venía haciendo hasta ahora era:

try
{
    // Algo de código
}
catch (Exception ex)
{
    // Hago algo con ex
    throw ex;
}

Resulta que al hacer esto no estamos relanzando la excepción original, estamos iniciando un nuevo camino para la excepción usando la misma instancia de ex.

Para solucionarlo, es decir, no perder el stack trace debemos modificar el código para que quede así:

try
{
    // Algo de código
}
catch (Exception ex)
{
    // Hago algo con ex
    throw;
}

¿Soy el único pavote que lo hacía mal?

Quiero creer que no 🙂

abril 9, 2010

Atacando dos frentes: Serialización de objetos y transporte sobre UDP

Filed under: .Net, C#, Desarrollo, Serialización, UDP — Etiquetas: , , — Matías @ 10:10 pm

Hola!, hoy voy a contarles un poco sobre el protocolo UDP y luego mostraré un ejemplo para aprovechar la serialización de objetos de la que les hablé hace unos días.

Como siempre, vamos a empezar por lo más básico.

(more…)

abril 5, 2010

Una de eventos y suscriptores

Filed under: .Net, C#, Eventos — Matías @ 12:19 pm

Navegando por StackOverflow me encontré con una pregunta interesante de alguien que buscaba la forma de disparar eventos sin la necesidad de comprobar primero la existencia de suscriptores. Si no lo conocen al sitio, les recomiendo que le peguen una miradita porque es realmente útil, es sencillamente un sitio de preguntas y respuestas para programadores.

(more…)

abril 1, 2010

Serializando y deserializando objetos

Filed under: .Net, C#, Serialización — Etiquetas: — Matías @ 11:03 am

Todos hemos escuchado hablar alguna vez la palabra serialización, pero posiblemente nunca nos hemos preocupado lo suficiente como para saber que es, en que consiste y cual es su utilidad.

Generalmente cuando empezamos a programar aplicaciones que deben interactuar remotamente con otras (o con ella misma) es ahí cuando deberemos invertir unos minutos en comprender este concepto, muy importante por cierto y de extrema utilidad.
(more…)

marzo 3, 2010

Superamos las 10.000 visitas!

Filed under: Boludeces — pabloide86 @ 2:41 pm

¡Hemos superado la marca de las 10.000 visitas!

Cuando empezamos con Matías, jamas nos imaginamos que ibamos a lograr algo así! Si bien pueden parecer pocas comparado con otros blogs mucho mas grosos, para nosotros es todo un logro! Y todo gracias a ustedes!

Esperamos seguir creciendo! Vamos a ver si llegamos a las 20.000! trataremos de seguir posteando cosas interesantes y de servirles de ayuda!

Un abrazo a todos!

Older Posts »

Crea un blog o un sitio web gratuitos con WordPress.com.