Categories
.NET ASP.NET Windows Forms

Variables por referencia

Ayer mientras publicaba un ejemplo sobre variables por referencia y comparación de objetos -como respuesta a una pregunta hecha en un foro, me surgió el siguiente problema:

csharp:

using System;

class Program
{
    static void Main(string[] args)
    {
        object a = new object();
        object b = a; // [1]

        a = "test"; // [2]

        Console.WriteLine(a == b);
    }
}

Por algún motivo la expresión a == b evalúa a falso, aún cuando se sabe que en [1] a y b deberían tener la misma referencia para el objeto creado en el paso anterior. En [2] asigno un string para evitar problemas con el boxing/unboxing entre variables por referencia y por valor, he probado asignando otros objetos también pero sin ningún efecto sobre el resultado final.

Lo curioso de esto es que si se comenta [2], esta vez la expresión evalúa a verdadero, resultado que confirma que a y b tienen la misma referencia -cabe recordar que tanto el operador = como el método Equals sólo comparan referencias.

No sé si esto es un bug o feature, en todo caso, estaré muy agradecido si alguien me ahorra tiempo de búsqueda para absolver esta pequeña duda.

Nota: sé que es difícil que el código mostrado pueda aparecer en una determinada aplicación.

Categories
.NET ASP.NET Microsoft Windows Forms

The Quality Code Handbook

Este es un pequeño ebook, distribuido al parecer de manera gratuita incluye los siguientes temas:

  • Desarrollo orientado a pruebas, hace una breve y básica introducción al Desarrollo Orientado a Pruebas, para el ejemplo hace uso del entorno de pruebas de Visual Studio Team System -hubiera sido mejor con algún xUnit pero bueno...
  • Como mejorar el rendimiento de aplicaciones administradas, nuevamente hace referencia a una herramienta (profiler) de Team System, para detectar cuellos de botella en nuestras aplicaciones.
  • Herramientas de análisis de código para desarrolladores de aplicaciones nativas, en realidad no he leído este capítulo puesto que no uso C++ 😀
  • Modelado de amenazas: este apartado es un pequeño manual de uso de la aplicación Threat Analysis and Modeling Tool, que permite modelar las amenazas desde el diseño de la aplicación -gran parte de las funcionalidades de esta herramienta están basadas en el libro Writing Secure Code
  • Análisis de código con FxCop, FxCop es una herramienta que permite analizar ensamblados para determinar si el código sigue las buenas prácticas definidas para el BCL.
  • Pruebas de stress para aplicaciones web, comenta la importancia de este tipo de pruebas en aplicaciones Web
  • Personalización de check-ins en Visual Studio Team System, tampoco he leído este capítulo puesto que subversion cubre todas nuestras necesidades en el trabajo :).

Como se habrán dado cuenta, en este ebook se pone énfasis en herramientas de Microsoft -en realidad no existe casi referencia a otras alternativas. Si desean descargarlo pueden hacerlo desde esta dirección, pero para poder visualizar el documento de este software.

Fuente: Blog de Dave Glover

Categories
.NET ASP.NET Microsoft Windows Forms

Cuarta Estrella de Desarrollador Cinco Estrellas

Después de tanto tiempo está disponible una nueva estrella de este programa, por lo visto, le están dando mayor énfasis a .NET 3.0 -imagino que no quieren que pase lo mismo que pasó con el anterior programa, que quedó desactualizado con la salida de .NET 2.0

Con la llegada de Windows Vista MSDN quiere ofrecerte todo lo necesario para afrontar la nueva ola de desarrollo de aplicaciones, recibiendo entrenamientos con contenido inédito y de primera mano, desarrollados por los más reconocidos especialistas de la región. Capacítate primero en .NET Framework 3.0 y el desarrollo de aplicaciones para Windows Vista.

La Cuarta Estrella te ofrece capacitación en la siguiente temática:

  • Desarrollo de aplicaciones para Windows Vista
  • Microsoft .NET Framework 3.0
    • Microsoft CardSpace
    • Windows Presentation Foundation (WPF)
    • Windows Communication Foundation (WCF)
    • Windows Workflow Foundation (WWF)
Categories
.NET ASP.NET Microsoft Windows Forms

Versión final del Service Pack 1 para Visual Studio .NET

Según este artículo, ya existe la versión final del Service Pack 1 para Visual Studio .NET, que estaría siendo liberado el lunes de la siguiente semana.

Adicionalmente, en el mencionado artículo se comenta que el Service Pack 1 específico para Windows Vista, recién será liberado el siguiente año.

Actualización: Al parecer la descarga estará disponible a partir de mañana.

Categories
.NET ASP.NET Utilidades Windows Forms

Indexa y busca archivos con Seekafile

Seekafile es un servicio Windows que indexa documentos en diferentes formatos, está basada en DotLucene, que es la versión en .NET del popular Lucene.

Lucene es un API para recuperación de información de código abierto, originalmente implementada en Java por Doug Cutting. Está apoyado por el Apache Software Foundation y se distribuye bajo la Apache Software License. Lucene tiene versiones para otros lenguajes incluyendo Perl, C# y C++.

Es útil para cualquier aplicación que requiera indexado y búsqueda a texto completo. Lucene ha sido ampliamente usado por su utilidad en la implementación de motores de búsquedas, lo cual ha llevado a la falsa idea de que Lucene es un motor de búsquedas con funciones de "crawling" y análisis de documentos en HTML incorporadas.

El centro de la arquitectura lógica de Lucene se encuentra el concepto de Documento(Document) que contiene Campos (Fields) de texto. Esta flexibilidad permite a Lucene ser independiente del formato del fichero. Textos que se encuentran en PDFs, páginas HTML, documentos de Microsoft Word, así como muchos otros pueden ser indexados mientras que se pueda extraer información de ellos.