May 2006 - Artículos

Team Foundation Server Administration Tool

Team Foundation Server Administration Tool es una herramienta que permite a los administradores de Team Foundation Server añadir usuarios de manera simultanea a Team Foundation Server, Sharepoint, y Sql Server Reporting Services desde una única aplicación. Tambien permite editar estos permisos. Además Team Foundation Server Administrator Tool es un proyecto con el que podemos colaborar, además de ver el código fuente y modificarlo a nuestro gusto, puesto que esta alojado en la nueva plataforma para...
Publicado por Rodrigo Corral | 1 comment(s)
Archivado en:

Acceso anónimo y autenticado simultaneo al mismo portal de Sharepoint

Suponiendo que partimos de la situación en la que unicamente tenemos acceso autenticado al portal, para configurar el acesso anónimo y autenticado simultaneo al mismo portal de Sharepoint debemos comenzar por crear un nuevo sitio de IIS, utilizando la consola de administración. Para ello deberemos establecer un puerto que no este en uso o utilizar "host headers" de manera que el sitio sea identificable de manenera única. Es importante establecer como pool de aplicaciones el mismo que utilice nuestro...
Publicado por Rodrigo Corral | 2 comment(s)
Archivado en:

Excelente serie de webcasts (en inglés) sobre Team System

Microsoft pone a disposición de todos nosotros una excelente serie de webcasts sobre Team System : Power in Simplicity Actualmnete están disponibles los siguientes títulos: MSDN Architecture Webcast: Migrating from Visual SourceSafe to Visual Studio Team Foundation Server (Level 200) MSDN Architecture Webcast: Test-Driven Development Using Visual Studio Team System (Level 200) MSDN Architecture Webcast: Visual Studio 2005 Team System: Managing the Software Lifecycle (Level 200) MSDN Architecture...

El Just-In-Time Debugger...

El Just-in-time debugger básicamente es un hook, que cuando algún programa falla, por ejemplo, con una excepción no controlada o una violación de acceso a memoria, hace que el depurador que tienes instalado y regitrado en la máquina se active. Tambien es cierto que en ocasiones puede ser un poco molesto y por tanto deseemos desactivarlo o sustituirlo por otro depurador. Para realizar cualquiera de estas dos acciones hay que modificar una clave del registro (yo que tu antes la exportaría), en concreto...
Publicado por Rodrigo Corral | 51 comment(s)
Archivado en: ,,,

Repositorio de fuentes online de Microsoft

Microsoft a lanzado una web que permite alojar proyectos de manera gratuita , CodePlex. Nada que no ofrezca ya a través de www.gotdotnet.com , la novedad es que este esta construido sobre Team System , por si alguien tiene alguna duda de la potencia y escalabilidad de este producto. Podeís econtrar más información en el Wiki asociado a la proyecto de la propia web .

Hay que ser ordenado...

El otro estaba releyendo " The pragmatic programmer ", un libro muy recomendable. El caso es que en el punto que habla de la importancia para todo programador de conocer a fondo un editor de texto, ponia el ejemplo de la posiblidad de que tiene Emacs de seleccionar unas lineas de texto y ordenarlas alfabéticamente. Yo enseguida pense en Visual Studio, y en que siempre ando ordenando a mano los import (VB) o using (C# o C++) y me dije que si Emacs tiene esto como no lo va a tener Visual Studio, pues...
Publicado por Rodrigo Corral | 4 comment(s)
Archivado en:

¿Cómo se si mi proceso fue lanzado con privilegios de administrador?

Aqui va una función que permite averiguarlo: //Comprueba que el usuario que inicio el proceso sea administrador bool UserIsAdmin(void) { bool bSuccess = false; //Obetenemos el token del proceso HANDLE hToken = NULL; if ( !OpenProcessToken ( GetCurrentProcess ( ), TOKEN_QUERY, &hToken ) ) return false; //Obtenemos el tamaño necesarios para la información del grupos //asociados al token del proceso DWORD dwSize = 0; bSuccess = GetTokenInformation(hToken, TokenGroups, NULL, 0, &dwSize) != 0;...
Publicado por Rodrigo Corral | 3 comment(s)
Archivado en: ,,

¿Cómo hago que mi aplicación soporte multiples idiomas?

En las aplicaciones nativas un enfoque que se utiliza bastante es el de tener una dll de recursos para cada idioma que se desea soportar. Esta dll se carga dinamicamente con LoadLibray (o AfxLoadLibray en MFC) y se establece como origen de los recursos. Para saber como crear esta dll lee Creating a Resource-Only DLL en la MSDN. Tipicamente harás esto en InitInstace: BOOL CMyApp::InitInstance() { //Default Appwizard code. HINSTANCE hRes = NULL; hRes= LoadLibrary("ResourceD.dll"); if(hRes) AfxSetResourceHandle...
Publicado por Rodrigo Corral | con no comments
Archivado en: ,,

Quieres trabajar para Microsoft desarrollando una "killer app"

Sin duda esta puede ser la ocupación soñada por la mayoria de los programadores del mundo. Microsoft está reclutando gente para desarrollar una "killer app" sobre WinFS. La aplicación se llama "Proyecto Naranja" (Project Orange), y no se sabe mucho sobre que prentende ser, solo que será "una aplicación para que la gente organice su información, construida sobre WinFS. Si creeís que estaís capacitados y os interesa la oferta, aquí va el link . Si no fuese por lo bien que me tratan en Plain Concepts...
Publicado por Rodrigo Corral | 18 comment(s)
Archivado en:

¿Cómo puedo acceder al puerto serie/paralelo?

Tienes que usar las funciones del API de Win32 habituales para trabajar con ficheros, OpenFile, ReadFile, WriteFile, expecificando como nombre de fichero el nombre del puerto que quieres usar "LPTx" o "COMx". Este articulo sobre el tema es muy intersante Serial Communication in Windows By Ashish Dhar En .Net, en versiones anteriores a la 2.0, tienes que usar PInvoke para trabajar con el puerto paralelo. Un articulo que describe muy bien el proceso es: Use P/Invoke to Develop a .NET Base Class Library...
Publicado por Rodrigo Corral | 5 comment(s)
Archivado en: ,,

Migración facil de proyectos ASP.NET de VS 2003 a Visual Studio 2005

Visual Studio 2005 y ASP.NET 2.0 proponen una manera muy diferente de estructurar los proyectos ASP.NET. En principio este cambio es en pro de una mayor sencillez y flexibilidad, proporcionando por ejemplo una manera muy simple de compilar código al vuelo por el simple hecho de encontrarse en la carpeta App_Code. Pero como todo cambio, hay gente a la que le gusta y gente a la que no. O aún más hay gente que tiene enormes proyectos con la estructura de VS 2003 y que ya han sufrido el intento de migrar...
Publicado por Rodrigo Corral | 1 comment(s)
Archivado en:

SaaS: Software as a Service

¿Cuantas veces nos han contado que una tecnologia, aplicación, lenguaje etc... iva a cambiar la industria del software radicalmente? Bueno pues otro paradigma (no es una arquitectura, ni una técnologia, sino una aproximación diferente a el desarrollo de soluciones) que promete esto es SaaS (Software as a Service) . Y aunque estoy seguro de que SaaS no va a cambiar la industria del software de manera radical, puesto que nunca han ocurrido cambios radicales en esta industria, si creo que va a suponer...
Publicado por Rodrigo Corral | con no comments
Archivado en:

Antipatrones en el trabajo con excepciones (II)

Un error en el que los programadores solemos caer es escribir manejadores de excepciones ‘genéricos’, por ejemplo, capturando todas las excepciones a través de un manejador de la clase base (System.Exception en .Net). try { f(); } catch (Exception ex) { } El problema con este enfoque es que se produce un enmascaramiento de todas las excepciones. Manejamos igual aquellas excepciones que sabemos que se pueden producir que aquella inesperadas. El problema reside que las excepciones inesperadas, que...
Publicado por Rodrigo Corral | 4 comment(s)
Archivado en:

¿Como creo un ejecutable sin dependencias?

A menudo me realizan esta pregunta. Actualmente la gran mayoria de los lenguajes de programación corren sobre algún tipo de maquina virtual (C#, VB.Net), o dependen de algún tipo de runtime (VB 6.0, VC++), o directamente son interpretados (Perl, Python). Aún así surge la necesidad a menudo de escribir programa que se ejecuten directamente sin la necesidad de tener más que el ejecutable que deseamos ejecutar, debido a que queremos comodidad, facilidad en el despliegue, o a que necesitamos comprobar...
Publicado por Rodrigo Corral | 11 comment(s)
Archivado en:

Antipatrones en el trabajo con excepciones (I)

Uno de los puntos en los que más fallan los desarrolladores noveles es a la hora de trabajar con excepciones. Existen numerosas formas de trabajar mal con excepciones. También es curioso como muchos arquitectos a la hora de plantear un marco general de manejo de excepciones para la aplicación caen, una y otra vez, en los mismo errores. Cómo, desde un punto de vista general, la aplicación responde a las excepciones, en que ocasiones estas se propagan hasta el usuario en forma de mensajes de error...
Publicado por Rodrigo Corral | 2 comment(s)
Archivado en:

Colección de Code Snippets adicionales para VS 2005

Supongo que todos conocereís ya los code snippets de Visual Studio 2005. Pues bien además de los que vienen por defecto podemos descargar y utilizar un mónton de ellos más . Les hay para VB, C# y Visual Stuido Tools for Office (VSTO), y nos proporcionan código para trabajar con bases de datos, comprobar la conectividad, trabajar con el sistema de archivos, con XML, y un largo ecétera...
Publicado por Rodrigo Corral | 1 comment(s)
Archivado en: ,,

Patrones + DSL

He visto un interesante proyecto , que implementa, utilizando DSL, algunos de los patrones de la "banda de los cuatro". Puede ser de interés tanto si estas interesado en los patrones como si estas interesado en DSL. Esta disponible el código fuente y una presentación. Sin duda toda buena software factory deberia estar basada en patrones reconocidos. Y no hay patrones más importantes (a nivel de diseño) que los de la "banda de los cuatro".
Publicado por Rodrigo Corral | con no comments

Interesante ejemplo de uso del API de Team System

He encontrado un ejemplo muy interesante sobre como utilizar el API de Team System para construir interesantes aplicaciones. En concreto se trata de exponer un RSS con la información sobre que los cambios en las fuentes. Sample: Version Control RSS Feed http://blogs.msdn.com/jefflu/archive/2005/07/27/443900.aspx En el blog además se explica en más detalle como se ha construido esta aplicación.
Publicado por Rodrigo Corral | con no comments
Archivado en:

¿Como obtengo el path de capetas del sistema (por ejemplo System, Archivos de Programa etc...)?

Si estas programando una aplicación nativa (en C++) debes usar la función SHGetFolderPath, si quieres añadir un subdirectorio al valor devuelto (p.e.: C:\Archivos de programa\Tu applicacion) lo puedes hacer directamente con la función SHGetFolderPathAndSubDir. Estas funciones tienen como requisito Windows 95 con Internet Explorer 5.0, Windows 98 con Internet Explorer 5.0, Windows 98 Second Edition (SE), Windows NT 4.0 con Internet Explorer 5.0, Windows NT 4.0 con Service Pack 4 (SP4). Tambien puedes...
Publicado por Rodrigo Corral | 1 comment(s)
Archivado en: ,,

¿Es Visual C++ 'visual'? ¿Es una herramienta RAD?

Aunque Visual C++ si que es 'visual' en el sentido que permite realizar gran parte de las tareas mediante asistentes, no es un entorno RAD al estilo de Visual Basic o FoxPro. Si bien la manera de trabajar es diferente, tambien sigue el paradigma de arrastrar y soltar controles, lo que no es visual es el establecer todas las opciones de los controles y estos no tiene tantas propiedades y métodos como en las hermientas RAD. Para darles un comportamiento más rico tienes que usar código. La potencia...
Publicado por Rodrigo Corral | con no comments
Archivado en: ,
Más artículos Página siguiente >