Tuesday, April 29, 2008

Instalando WSS3 (qué hice mal?)

Además de basarme en el instinto en vez del documento de instalación? pues creo que debo volver a revisarlo pues mientras preparaba una virtual me di cuenta que luego de instalar el WSS3 (sea en modo básico o avanzado) el puerto 80 (si, el mismo que es usado por el Default Web Site) es ocupado por el Default Site Collection del WSS.
Y no, no hay conflicto pues el instalador es muy inteligente yo creo que si lee el manual, pues para evitarse problemas, el Default Web Site (es decir, el que mencioné hace unas líneas) ha sido detenido.

Pues bien, si tenían alguna aplicacion web allí, o los sites del Reporting Services, pues, olvidense! (al menos yo, ya estoy comenzando a olvidar mi empleo)

El problema es muy comun en la web, he encontrado miles de mensajes, aqui un ejemplo y otro.

Por mi parte ya he leido un pequeño manual que viene con la guía de instalación del TFS2008 (no me griten, ese manual es lo maximo!), lamentablemente o de suerte no tengo el instalador del WSS3 a la mano, asi que, dentro de poco les cuento (si es que sigo trabajando)

Saludos[at]Cama

Monday, April 28, 2008

Manejo de Excepciones? (No lo digo yo)

Pues bien, habiendo leido Exception Management Architecture Guide, solo me queda parafrasear lo siguiente (esto, de las páginas 8-9):

"You should only catch exceptions when you need to specifically perform any of the
following actions:

  • Gather information for logging
  • Add any relevant information to the exception
  • Execute cleanup code
  • Attempt to recover

If a particular method does not need to perform any of these actions, it should not
catch the exception..."

Ademas de...

"In other words, you should not use exceptions as a means to provide
your intended functionality."

y...

"Throwing exceptions is more expensive than simply returning a result to a caller. Therefore they should not be used to control the normal flow of execution through your code. In addition, excessive use of exceptions can create unreadable and unmanageable code."

En resumidas cuentas es decir, in spanish:
Usar los bloques de administracion de excepciones resultan costosos, ya que no solo incurren en aspectos de performance, el codigo pierde legilibilidad, dificultando su mantenimiento.
Se recomienda el uso de dichos bloques cuando se requiere realizar procesamientos adicicionales (rollbacks, limpieza de memoría, verificacion de estados, notificaciones, etc.)


De momento veo que actué como traductor, pero valió la pena (creo).

Saludos[at]Casa

Saturday, April 26, 2008

Manejo de Excepciones, cómo?

Han sido varias las conversaciones/consultas en las que he escuchado preguntas del tipo "como debo manejar la excepción", llegan tambien los ejemplos y contraejemplos y las respectivas dudas...
Pues bien, decidi hacer una pequeña encuesta al respecto o en todo caso una breve recopilación de respuestas luego de preguntar "y tu exactamente como lo haces, como lo harías o que recomendarías", aqui algunas de los datos que pude obtener:
- En la capa de negocios
- En la capa de servicios
- En la cada de datos (no la DAL, me refiero a la que llama a la Data Access Library)
- Parte en los stored procedures parte en la capa de negocios
- No uso (???)
- En todas las capas haciendo un throw exception desde la mas interna hacia arriba.

Luego de haber tomado nota, pregunté el "por qué?" de sus respuestas. Esto no con animo de reclamar nada, solo quería conocer una explicacion un poco mas técnica de la metodología en mención.

La verdad, es que no habia respuesta convincente.
Por lo poco que se o que recien he podido averiguar (gracias San Google!), lanzar excepciones implica costos de performance en la aplicación, es decir, que si lo ponemos en mas de una capa... adivina que? tu código cae en riesgo de ser mas lento(asi que, no abusen!).

Por mi parte seguiré colectando información.
De momento dos enlaces muy buenos (al menos para mi)

Good Exception Management Rules of Thumb
Best Practices of Exception Management

Un documento que muchos deberianmos leer... Exception Management Architecture Guide

Me parece o escuché Exception Management Application Block?

Saludos[at]Lima

Tuesday, March 04, 2008

Dejar VS2005 por VS2008, pues bien...

Hace unos dias volvió a mi bandeja la duda sobre usar o no VS2008 en vez de la versión anterior del producto, pues bien, hace mucho que en mi equipo hemos dejado de ser Happy Programmers (que es mi manera de decir, usar lo ultimo que sale ni bien se libera, no sabiendo realmente si debería o no usarse, es decir, intentar matar una mosca con una shotgun), y creo que luego de revisiones previas podemos hacer un acercamiento sobre este nuevo producto.

En primera instancia (es decir, lo que creía inicialmente y en algunos casos aun sostengo) VS2008 me sigue pareciendo un VS2005+Additionals+Mejoras de Perfomance. Pero bueno, mejor hablemos de las cosas que me parecen de verdad, interesantes:

- Integración WPF/WCF, ahora el soporte del IDE es nativo, no es necesario instalar extensiones/adicional al FW/IDE.  A pesar de que esto lo podias tener en VS2005 luego de ciertos pasos de instalación, en VS2008 el soporte es nativo, no solo se trata de instalar el adicional, en el caso de VS2008 se supone que se han realizado pruebas intensivas con estas nuevas funcionalidades que vienen desde la caja.

- Microsoft Intellisense en JavaScript incluyendo referencias a librerias externas, eso me parece realmente increible!. El enlace referenciado

- Soporte Multitargeting (si, todos hablan de lo mismo), pues bien... este me parece muy importante, mas aun si aun estas dudando en dejar o no tu muy querido mentira hay un bug que nunca se arregló VS2005, puedes seguir trabajando como si nada hubiera pasado, pero bajo VS2008. Ojo que el soporte es a partir de aplicaciones bajo FW 2.0

Me gastaría escribiendo sobre que hay o no en el nuevo producto, personalmente hablando el VS2008 se ve muy bien estilizado (osea, muy bonito pues!), inclusive las opciones de menú tienen un efecto agradable. Con respecto a la migración de Librerias, de momento solo lse ha realizado sobre librerias de clases, y hasta ahora los reportes de migración indican que no hubieron problemas.

De momento les puedo decir que no hay problema con dar el salto al VS2008, pero inicialmente y a manera de acostumbrarnos aunque sea a los nuevos colores podemos aprovechar el soporte multitargeting ya mencionado en no se cuantos sites y ponernos una mano en el pecho y otra en el site de Learning Portal y/o Begginers.

Saludos.


PD: Para terminar luego de revisar algunos artículos me quedo con el siguiente, el cual nos muestra una manera para encontrar diferencias a nivel de FWs (2 vs 3.5), muy bueno.

Saturday, March 01, 2008

DataGridView en WPF (alternativas?)

Holas, tengo una duda sobre WPF, exactamente sobre el control DataGridView, he realizado varias preguntas al respecto y aun no entiendo bien porque no hay una versión -digamos- oficial de los chicos de MS, por el momento me dicen en varios lugares que usemos el ListView como alternativa WPF.

Por el momento me quedo, por lo poco que he averiguado la mejor salida es la que nos da el xceed control, pero, habrá control MS?

Si alguien tiene alguna noticia, nos avisa!

Thursday, February 21, 2008

Paradigma en Modelamiento

Holas, no se si les ha pasado (o si alguien aun lea el blog), pero a pesar de tener el VS2005 o el VS2008, si se trata de modelar, no puedo dejar de lado un cuaderno o cualquier pedazo de papel. He intentado mas de una vez ir de frente al diseñador, pero al igual que cuando se está progrmando, me tomaba mi tiempo escribir las primeras líneas de código (es que, el papel lo aguanta todo)

Alguno de ustedes (si es que aun llegan por aqui) ha podido sobrepasar la barrera del papel? acabo de intentarlo una vez mas, y creo que el siguiente paso es comprarme una tablet (adios moony?, es decir mi dell), aunque sinceramente, por mas publicidad de VS que haya visto (diagramas de clases dibujados por todas las paredes), aun sigo teniendole estima a los borradores en papel.

Saludos.

Wednesday, February 06, 2008

VS 2008 - Recursos para principiantes

Hola, adjunto información que podría servir de ayuda para los primeros pasos en Visual Studio 2008.

Begginers Developer Center.
Un centro de aprendizaje muy interesante, mostrando incluso algunos videos y documentación de libre descarga.

Ahora, si necesitas las ediciones express, aqui el enlace para descargar el ISO del instalador.
Mas información, disponible en el Learning Portal.

Saludos.
Jersson

Monday, February 04, 2008

Pedidos para WPF - Ya se pueden hacer (y esperar)

En un blog msdn encontré el siguiente título "Want some WPF improvements/features: Tell us", interesante, no? revisando hace un momento habian mas de sesenta comentarios, unos muy interesantes, como por el de incluir al control gridview, o de asegurarnos que la tecnología en si (es decir, WPF) no será reemplazada por una nueva o sufrirá cambios considerable dentro de unos pocos años.
Tambien hay comentarios acerca de performance, pero seria recomendable que le demos un vistazo, y se haga una lista directa de que se podría pedir, por mi lado sigo de acuerdo que se incluya un control gridview, a pesar de que los chicos de xceed tienen una version express (es decir gratuita), seria recomendable que MS tenga su version WPF, no?

Un saludo, y a ponernos en la lista.
Jersson.

Thursday, January 24, 2008

Performance bajo las líneas

No les ha pasado que luego de cierto tiempo notan que su IE7 comienza a ser un poco mas lento de lo acostumbrado? pues bueno, hace un tiempo descubrí algo similar, la causa, un bicho que no queria salir. Los pasos para el desalojo fueron ciertamente empíricos.
Pero ahora, revisando el blog de Patrick Mackay, he quedado sorprendido por todas las cosas que uno puede hacer con tal de descubrir la causa de un problema. Es asi que podemos partir desde el proceso funcional, buscando llegar incluso a las líneas de código (ojo que estaba hablando del Internet Explorer!)

Patrick comenta algo muy cierto, algo que muchas personas lamentablemente hemos llegado a olvidar:
"A diferencia de una revisión de aplicaciones como asp.net o asp tradicional, donde uno espera encontrar código del cliente que no está optimizado y que consume recursos, en esta oportunidad no había código de terceros. El camino se veía difícil."

He resaltado la parte que quería comentar, pues me he topado en casos en donde, a la pregunta de revisar las fuentes, es incomprensible que tengan en mente soluciones como nuevas alternativas como componentes o tecnologías en boga, cuando muchas veces la raiz se encuentra en el uso indiscrimado de bucles, lecturas o accesos que podrían ser optimizados.

Muchas veces he encontrado respuestas del tipo "pero eso podría ahorrarnos algunos segundos, el problema va por otro lado", bueno, si el problema va por otro lado, pero cual?, llego a pensar.
 
Luego de revisar el código fuente me encuentro con bucles sobre bucles que si bien es cierto, de acuerdo a la teoria, ahora con LINQ pueden reducirse un poco, las soluciones pueden ser tan simples como revisar la lógica asociada y simplicar o elgunos casos extender un poco el código para poder hacer mas liviana la ejecucion de la aplicación.

Creo que el problema ocasionalmente va de la mano con el abuso de recursos, los cuales ultimamente son dados de manera ilimitada. Hace algunos años esuchaba mas terminos como "luchar por cada bit" o "mantenlo en memoria solo cuando lo estes usando", ahora es dificil explicarlo mas aun si es normal ver notebooks de por los menos 2GB de RAM.

En si, tantos recursos disponibles, sea tecnologías en boga o físicos como pcs de elevada potencia, puede que nos nublen un poco, no permitiendo esto enfocarnos correctamente en los aspectos funcionales de nuestra solución.
Esto a la larga puede convertirse en un problema muy serio.

Saludos.

Wednesday, January 16, 2008

VS2008 no soporta ASP Tradicional

Hace poco que me enteré de tal funcionalidad, me parece que esto traera problemas para personas que aun le dan mantenimiento a sistemas basados en ASP, mas aun si es que tenian pensado migrar "por partes" a ASP.NET, la primera opcion a tomar en cuenta será VS2005.
Estaba leyendo que al parecer es una manera de forzar a dejar el lenguaje tradicional, pero creo que no tendría nada de malo que lo siga soportando.

Aquí algunos enlaces:
Dónde esta ASP? http://reddevnews.com/response/response.aspx?rdnid=947
MSDN http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2447716&SiteID=1
MSDN http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2447701&SiteID=1
Mi busqueda en Google http://www.google.com/search?hl=en&newwindow=1&client=firefox-a&rls=org.mozilla:en-US:official&hs=n4Y&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=VS+2008+classic+ASP+support&spell=1

Sin mas, me despido.