Category Archives: 4755

Libro en Español: Visual Basic.NET – Programe con Visual Studio 2008

La Editorial Eni publicó en este mes el libro Visual Basic .NET (VB.NET) Programe con Visual Studio 2008 del cual participé en la traducción y adaptación del Francés al Español.

Autor : Thierry GROUSSARD

Adaptación al Español: Carlos WALZER

 

Presentación

Este libro sobre VB.Net está dirigido a los desarrolladores, incluso principiantes, que quieran dominar Visual Basic.NET. Después de la descripción del entorno de desarrollo (Visual Studio 2008), el lector descubrirá las bases de la programación orientada a objetos con VB.NET y evolucionará progresivamente hacia su uso con el desarrollo de aplicaciones Windows Forms. Los numerosos ejemplos y los consejos sobre la utilización de las herramientas de depuración le proporcionarán una valiosa ayuda durante el desarrollo de una aplicación.
Un capítulo dedicado al acceso a las bases de datos con ayuda de ADO.NET 2.0 y de SQL le permitirá evolucionar hacia el desarrollo de aplicaciones usuario-servidor. Se presentan y detallan las potentes funcionalidades de LINQ que facilitan el acceso y la manipulación de datos. Igualmente, se presenta el lenguaje XML, que facilita el intercambio de información con otras aplicaciones. Los usuarios de las versiones anteriores descubrirán las novedades y mejoras en esta versión 2008 (tipos que aceptan valores NULL, métodos parciales, clases anónimas,…) permitiendo desarrollar aún más rápida y fácilmente las aplicaciones para el framework .NET 3.5 y para Windows Vista.
La distribución de una aplicación también se presenta con el uso de Windows Installer y de la tecnología ClickOnce.

Mas infomación…

Nota: No hay un distribuidor en Sudamérica, con lo que la editorial recomienda dos opciones:
1 )cursar una solicitud de presupuesto a través de nuestra web (tras lo cual se cotizan los gastos de envío, y el cliente acepta o no el pedido)
2) comprarlo a través de Celesa, www.celesa.com

Vídeo: Herramientas para asegurar la calidad utilizando Visual Studio Team System 2008

Durante el lanzamiento de Visual Studio 2008, he grabado un vídeo exponiendo las Herramientas para asegurar la calidad utilizando Visual Studio Team System 2008.

Allí hago una presentación sobre el aseguramiento de calidad y reviso las técnicas y herramientas propuestas por Visual Studio 2008. Además hago un repaso por:

  • Testing (WebTest, LoadTest)
  • Análisis de Rendimiento (Profiler, Performance)
  • Profiling de Código (Code)
  • Técnicas de analisis el código ( Managed Code Analisys Tool, FxCop)
  • Métricas de código (Code Metrics).

El vídeo está disponible para bajarlo o verlo en línea.

Además puedes bajar el código y la presentación desde aquí.

Como saber si un assembly esta compilado en modo Debug o Release [Ampliado]

En estos días me topé con la necesidad de conocer cual era el modo en el cual fue compilado cierto assembly. La primer herramienta a la que acudí me dió una respuesta: Reflector de Lutz Roeder.

El compilador agrega el attributo DebuggableAttribute como información del assembly. Los modos de debug fijados por el compilador dependerán de los parámetros que le pasemos al compilador por línea de comandos o el tipo de compilación que definamos en el proyecto de Visual Studio.

En el caso de haber compilado con Visual Studio 2005 ó 2008 en modo Release, nos encontraremos con la siguiente línea:

[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

En caso de haber compilado en modo Debug:

[assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.EnableEditAndContinue | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.Default)]

Les recomiendo la lectura de la documnetación correspondiente a los valores del enumerado System.Diagnostics.DebuggableAttributes.DebuggingModes

A continuación un ejemplo de código que revela el modo de compilación:
La propiedad DebuggableAttributes.IsJITTrackingEnabled controla si en tiempo de ejecución el CLR hace un seguimiento de la información que es importante para el depurador mientras se genera el código. Esta información contribuye a que el depurador mejore la depuración.

static

 

 

void Main(string[] args)
{
     string filePath = args[0];
     Assembly asm = Assembly.LoadFile(Path.GetFullPath(filePath));
     foreach (Attribute att in asm.GetCustomAttributes(false))
     {
          if (att is System.Diagnostics.DebuggableAttribute)
          Console.WriteLine(“Modo Debug: {0}”,((DebuggableAttribute

)att).IsJITTrackingEnabled);
     }
}

C# Desarrollo con Visual Studio 2005 [Extracto del Libro]

La Editorial Eni publicó el libro de C# Desarrollo con Visual Studio 2005, el cual traduje y adapté del Francés al Español.

Contenido del Libro 

Descargar los ejemplos del libro (1,05 Mo)

Aqui podrán ver un extracto del libro Capítulo 7 que trata de Windows Forms.

Nota: No hay un distribuidor en Sudamérica, con lo que la editorial recomienda dos opciones: 
1 )cursar una solicitud de presupuesto a través de nuestra web (tras lo cual se cotizan los gastos de envío, y el cliente acepta o no el pedido)
2) comprarlo a través de Celesa, www.celesa.com

Libro en Español: C# Desarrollo con Visual Studio 2005

La Editorial Eni publicó el libro de C# Desarrollo con Visual Studio 2005, el cual traduje y adapté del Francés al Español.

 

Autor : Hervé BERTHET
Adaptación al Español: Carlos Walzer
Revisón Técnica: Guillermo SOM
Presentación
Este libro se dirige a desarrolladores, incluso principiantes, que quieren dominar el lenguaje C# (Visual C#). El lector descubrirá la plataforma de desarrollo Visual Studio 2005, las bases del lenguaje C# (tipos primitivos, instrucciones y palabras clave) así como el desarrollo orientado a objetos. Controlará las novedades de esta versión (generic, iterator, partial class, nullable type, etc), un conjunto significativo de las clases del Framework que permiten la práctica de Threads, XML y del desarrollo de componentes. Al abordar tecnologías como el ADO.NET y los Servicios Web, el autor eligió deliberadamente ilustrar sus observaciones con esta otra vía abierta al desarrollador que representan los Smart Clients, alternativa a los ASP. NET. Esta elección permitirá al lector medir la contribución de las tecnologías ofrecidas por la arquitectura .NET siguiendo al mismo tiempo un planteamiento progresivo en el aprendizaje del lenguaje C#.
 

Nota: N

o hay un distribuidor en Sudamérica, con lo que la editorial recomienda dos opciones:

o hay un distribuidor en Sudamérica, con lo que la editorial recomienda dos opciones:

 
1 )cursar una solicitud de presupuesto a través de nuestra web (tras lo cual se cotizan los gastos de envío, y el cliente acepta o no el pedido)
2) comprarlo a través de Celesa, www.celesa.com

Visual Studio 2005 Web Test usando XmlHttpRequest y AJAX

Si estás intentando grabar un web test con Visual Studio 2005, te habrás topado con la dificultad de que el grabador no se entera de las llamadas vía XmlHttpRequest, y por ende AJAX (ya que AJAX usa internamente XmlHttpRequest como mecanismo de comunicación).

Acabo de agregar un comentario en la sección “Community Content” del help en línea de Visual Studio Team System “How to: Record a Web Test“, justamente haciendo esta aclaración; ya que toda la información que encontré hace referencia a la solución del problema si el sitio usa AJAX, pero nadie habla de XmlHttpRequest.

La solución entonces le cabe a ambas opciones y es usar la herramienta Fiddler para grabar un web test. Aquí se explica Como grabar un Web Test con Fiddler

Ahora bien, como es que Fiddler puede hacerlo y Visual Studio no?  La diferencia radica en la técnica que utilizan para grabar.  El grabador de Visual Studio 2005 corre dentro del Internet Explorer como un add-on intereceptando los post y get que IE realiza y no tiene inferencia en el código DHTML que se ejecuta, es por eso que no puede detectar los post realizados por XmlHttpRequest. Lo puedes encontrar instalado en la ventana Manage Add-ons de IE.

En cambio Fiddler actúa como un proxy atendiendo en el puerto 8888 del localhost, interceptando los post y get y redireccionándolos a su destino final, el server.  De esta forma Fiddler se entrea de todos los post que llegan al servidor, los haya enviado quien fuere. Cuando Fiddler está corriendo verán modificado los valores de WinInet de IE.

Una forma de estructurar soluciones en Visual Studio

Quisiera compartir una de las tantas formas en las que se pueden estructurar soluciones en Visual Studio, y en File System.  Claro, que este tema es un poco particular y depende de los gustos y costumbres de cada desarrollador.  Yo me acostumbré a esta que les voy a mostrar ahora, y que me ha dado buenos resultados.

Algunas premisas al momento de armar una solución:

  • Contar con todo en una carpeta física del file system.
    • Permite copiar sin olvidar nada
    • Hacer backups completos
    • Permite hacer copias de fuentes por versión liberada.
  • Que todas las referencias sean relativas a la ruta raiz de la solución.
    • Permite mover el proyecto de carpetas y no perder referencias
  • Centralizar los binarios de los cuales no tenemos fuentes en una sola carpeta.
    • En caso de un cambio de versión, todos los proyectos apuntarán al mismo assembly.

La siguiente figura muestra la forma de estructurar una solución en Visual Studio.  Las carpetas dentro de las cuales están los proyectos nada tienen que ver con las carpetas físicas del file system.  Son carpetas virtuales y ayudan a agrupar los proyectos por temas. La forma de crearlas es: Click derecho sobre la solución, Add, New Solution Folder.

A continuación veamos como están distribuidos los proyectos en el file system.
En el directorio raiz donde esta toda la solución existen varias archivos .sln (los que definen la solución en VS). El motivo es poder abrir soluciones dependiendo de cada necesidad.

  • La solución Logik.Censo.sln es la definción completa y válida. Sirve de referencia para todos los desarrolladores. Trabajando con control de fuentes esta solcuión sirve de referencia y no debería ser modificada sino por el developer lead.
  • La solución Logik.Censo.Build.sln contiene todos los proyectos y permite compilar por completo todas las soluciones.
  • Las soluciones Logik.Censo.CW.sln y Logik.Censo.VHP.sln pertenecen a desarrolladores, lo que permite hacer cambios en la estructura a cada uno sin modificar la solución del otro. Si trabajamos con un control de fuentes, esto es escencial.
  • La solución Logik.Censo.Mobile.sln o Logik.Censo.Windows.sln solo contiene los proyectos en la tecnología en la que están trabajando. Esto permite un manejo mas ágil de la solución.

Luego cada proyecto está contenido en una carpeta cuyo nombre se corresponde con el nombre del proyecto.

Por último veamos donde se almacenan los binarios de los cuales no tenemos los fuentes en esta solución.  Están contenidos en una carpeta Assemblies dentro del raiz de la solución. Esto permite mantener una referencia relativa, y que todos los proyectos apunten al mismo archivo.

Noten la referencia a los assemblies externos de la solución hacia la carpeta assemblies. La opción Copy Local = true copiará el binario al directorio bin correspondiente al momento de compilar, lo cual nos asegura contar con él al momento de hacer el deploy.

Mis Libros

Pro MSMQ: Microsoft Message Queue Programming



This book explores MSMQ so that you can initiate robust, asynchronous communication between applications. MSMQ provides three APIs to incorporate message queuing into different applications. These APIs include C from unmanaged C/C++ code; a COM component from VB or C++ code; and the System.Messaging namespace, which integrates MSMQ with managed C# or VB .NET applications.
This is the only book on the market to cover all three APIs. Plus, this book discusses the newest features of MSMQ 3.0 (released with Windows Server 2003), and explains sending and receiving MSMQ messages on a PocketPC device.
June 1, 2004


Reviews:
CodeGuru
Amazon


C#: Desarrollo con Visual Studio 2005


 


Este libro se dirige a desarrolladores, incluso principiantes, que quieren dominar el lenguaje C# (Visual C#). El lector descubrirá la plataforma de desarrollo Visual Studio 2005, las bases del lenguaje C# (tipos primitivos, instrucciones y palabras clave) así como el desarrollo orientado a objetos. Controlará las novedades de esta versión (generic, iterator, partial class, nullable type, etc), un conjunto significativo de las clases del Framework que permiten la práctica de Threads, XML y del desarrollo de componentes. Al abordar tecnologías como el ADO.NET y los Servicios Web, el autor eligió deliberadamente ilustrar sus observaciones con esta otra vía abierta al desarrollador que representan los Smart Clients, alternativa a los ASP. NET. Esta elección permitirá al lector medir la contribución de las tecnologías ofrecidas por la arquitectura .NET siguiendo al mismo tiempo un planteamiento progresivo en el aprendizaje del lenguaje C#..
Enero, 2008


Windows Vista Business
Practique la instalación, configuración y administración de su Sistema


 


Este libro está orientado a un público de informáticos o usuarios que ya tienen conocimientos generales sobre el uso de puestos de trabajo con Windows Vista. Los ejercicios le permitirán practicas: la instalación y la configuración del sistema Windows Vista, la creación y la administración de cuentas de usuarios, la administración de conexiones de red, la administración del conjunto del hardware (discos, impresoras, etc.). Igualmente, gracias al uso de diferentes herramientas, podrá probar el buen funcionamiento de Windows Vista.
Marzo, 2008


Using Modal Dialog Boxes in ASP.NET Applications



If you know that your end users are running Windows, it can be very useful to give your web applications a familiar Win32 app behavior. Using modal dialog boxes can in some cases provide your users with an intuitive interface and make site navigation easier. In this article, author Carlos Walzer demonstrates two techniques using Internet Explorer 5.0 and ASP.NET to implement this. The first technique uses the XMLHTTPRequest object included in the Microsoft XML 3.0 parser component, which provides client-side protocol support for communication with HTTP servers. The second technique enables Smart Navigation for your modal web forms. Walzer explores the details of both techniques and compares the advantages and disadvantages of each.


Building a Generic Report Engine Using SQL Server 2000, XML, and XSLT in ASP.NET



Explains how to create a generic aspx page to add reporting capabilities to an ASP.NET site. He demonstrates how this can be done by taking advantage of the set of classes introduced by .NET to manage XML, as well as the SQL Server 2000 XML features. The reporting aspx page created here is the result of combining System.Xml.XmlTextReader, XSLT, streams, and stored procedures that return XML using the FOR XML clause.


Sending Messages Through HTTP with MSMQ 3.0



Explores two important concepts involving Microsoft Message Queue 3.0: Direct Messaging and the support for referencing queues and formatting messages through the HTTP protocol. Throughout the article, Walzer thoroughly introduces and explains these topics while leading you through a development example that will quickly bring you up to speed on the technology.