August 2006 - Posts

La ASP.NET 2.0 Internet Security Reference Implementation
Si hay algo en lo que yo siempre hago incapié es en el hecho de encontrar la mejor solución a un problema dado y no simplemente la solución que resuelva el problema en el menor tiempo posible. Digo esto porque es bastante común hoy en día encontrar desarrolladores de todo nivel que únicamente se enfocan en escribir el código que cumpla la tarea asignada, pero que no necesariamente es el mejor código para el escenario dado. Para mi el mejor código es el que:
  1. Es el más simple que se pueda escribir
  2. Resuelve el problema para todos los casos que se puedan dar
  3. Hace uso óptimo de los recursos de la máquina
  4. Es autodocumentable, es decir, se explica a sí mismo sin necesitar documentación
  5. Es seguro

Podría extenderme en la descripción de cada punto de esta lista, pero dada la falta de tiempo solo quería dar un aporte con respecto al punto 5: Código Seguro. Recientemente empecé un proyecto en ASP.NET 2.0 y, entre otras cosas, soy el encargado de velar por la seguridad del sitio web. En vista de ello, busqué una buena guía que me indique todo lo que debo considerar para asegurar que mi sitio es seguro. Y aquí está el resultado: La ASP.NET 2.0 Internet Security Reference Implementation.

Esta es una implementación de referencia que, basándose en el famoso ejemplo PetShop, le agrega todas las características de ASP.NET 2.0 que convierte al site en un sitio seguro. La descarga viene con un documento Word muy bueno con todas las guías del caso y el código fuente de la PetShop que implementa todas estas guías.

Es un excelente recurso, no dejen de revisarlo.
Habu: Nuevo Mouse para Juegos de Microsoft y Razer
El día de ayer Microsoft y Razer anunciaron un nuevo mouse para juegos, Microsoft Habu, el cual estará disponible en octubre de este año por un precio de $69.95. Microsoft y Razer tienen también ya otro periférico en la mira, el cual será anunciado próximamente.
¡Ya estamos en CodePlex!

¡Vaya rapidez! ¡Nuestra solicitud fue aprobada y ya estamos en CodePlex! Como lo comenté antes, esta es una gran ayuda, porque gracias a esto mis compañeros de grupo y yo podremos cada uno avanzar nuestras tareas de desarrollo desde nuestros hogares y desde cualquier lugar donde podamos conectarnos al Internet, claro está con Visual Studio 2005 instalado en la PC. 

Todo es cuestión de abrir VS 2005, seleccionar "Connect to Team Foundation Server", especificar el servidor, usuario y contraseña y VS 2005 abre el Team Explorer con el contenido de los workitems, reportes y código fuente que hayamos trepado a nuestro proyecto: 

Yo sé, yo sé, está vacío por el momento, pero en los próximos días esto empezará a llenarse de código. Esto se pone emocionante, vamos a ver cómo nos va en los próximos días.

Por cierto, para quienes deseen seguir de cerca este proyecto, pueden visitarnos siempre en esta dirección: http://www.codeplex.com/Wiki/View.aspx?ProjectName=ELearningStarterKit, donde encontrarán todo lo relacionado al proyecto.

¿Cómo Estructuró Microsoft su Deployment Interno de Team Foundation Server?
Ok, Ok, toda empresa de desarrollo seria debería ya estar al menos pensando en implementar Team Foundation Server en su ciclo de vida de software. Pero, y Microsoft? ¿Cómo lo implementó Microsoft en sus propios centros de desarrollo?

Bueno, nada más para que tengan una idea:

Brian Harry nos brinda la explicación de la mayoría de esta topología, por acá.

App_Offline.htm
No quería dejar de compartir este pequeño truco que aprendí el fin de semana mientras buscaba la forma de detener todo acceso a este sitio web mientras le daba mantenimiento. Dado que necesitaba realizar una actualización a DotNetNuke, el administrador de contenido que usamos en este sitio, necesitaba detener todo el tráfico entrante al sitio. ¿Cómo hacerlo?

Resulta ser que si uno coloca un archivo cualquiera que tenga el nombre de app_offline.htm en la raíz de la aplicación web, ASP.NET detiene el dominio de la aplicación y no lo reinicia aún si vienen nuevos request. Más bien, cada que venga un nuevo request, simplemente le manda el contenido del archivo app_offline.htm, el cual uno puede personalizar a su gusto. Y así fue que con solo poner este archivito logré mi objetivo en segundos y pude hacer la actualización sin problemas.

Vaya trucos que trae el nuevo ASP.NET 2.0, ¿no?

Para más info, no dejen de revisar este post de Scott.

Distribuyendo las tareas de desarrollo
Hora de empezar a construir. Llegó la hora de que mis compañeros de tesis y yo empecemos el desarrollo del sitio e-commerce que sustentará nuestra tesis de grado. Como siempre, surge la duda de cómo hacer para distribuirnos las tareas de codificación sin tener luego problemas de integración del mismo. Probablemente no podremos reunirnos a diario, por lo cual debemos encontrar una forma de trabajar cada uno desde su casa y aún así no traslapar código.

¿Solución? ¡CODEPLEX! CodePlex es un sitio web diseñado para compartir el código fuente y demás archivos que forman parte de tu proyecto de desarrollo con los demás miembros de tu equipo. Es algo similar a GotDotNet, pero sumamente mejorado, porque, para empezar, tiene a Visual Studio Team Foundation Server por detrás, el cual aloja todos y cada uno de los proyectos trepados a CodePlex. Por supuesto todos los proyectos colocados allí son Open Source, así que no se vale colocar proyectos privados (al menos no por ahora).

Ya hice mi requerimiento para tener nuestro espacio en CodePlex, esperemos me lo acepten, porque por el momento todos los nuevos proyectos pasan por un proceso de aprobación. Ya con esto simplificaríamos enormemente nuestra etapa de desarrollo que ya de por sí no es nada fácil.

Para quienes estén interesados, no dejen de visitar www.codeplex.com y revisen también este intersante video cargado en Channel 9 en el que los creadores de CodePlex explican los objetivos y beneficios del mismo.

Curso Online Gratuito de Visual Studio Team System
Edgar Sánchez nos comenta de un interesante curso de Visual Studio Team System de nivel 200, que se ve excelente como para empezar a conocer el producto y sus beneficios. No dejen de revisarlo quienes están empezando a trabajar con esta poderosa herramienta.
Más envíos