viernes, octubre 27, 2006

CodeSnippet Manager en Team System

Despues de casi un año de estarlo buscando, por fin, "helo" aquí. Todo gracias a Alex y su post, la verdad es que era algo muy sencillo, pero nunca se me había obucrrido buscar ahí.

Problema: En Team System no aparece el Code Snippets Manager.
Solución: Ve a Tools/Customize y luego busca la opción dentro del menú Tools y reagregala.

Ahora si a hacer mis snippets para algunos patrones de diseño.

lunes, octubre 23, 2006

Lo primero que querrás cambiar de Windos Vista

Ok, Windows Vista es mucho más seguro que los demás Windows, ¿por qué?. Aún y que entres con tu cuenta de administrador, por default, todos los threads estan corriendo con una cuenta de menores privilegios.
Ventjas: si un usuario abre un attachment que dice love.zip o conejitas.exe, el virús no podrá hacer gran daño. Lo mismo aplica a muchos otros escenarios.
Desventaja: si abres por ejemplo en Visual Studio un proyecto que no este dentro del folder "Documentos" (antes "Mis Documentos") o en el folder del usuario no podrás guardar los archivos, compilar, etc, porque por más que seas administrador, VS se abrió bajo una cuenta sin permisos.
Otro ejemplo es mi outlook, resulta que mis data files (donde estan todos mis mails) estan en otro disco duro, por lo tanto en en el folder del usuario (users/miguel/ antes era algo como Documents and Settings/miguel/). Así que outlook simplmente no habría a menos.

Como arreglarlo, hay tres formas:
1. Da click derecho y luego run as Administrator y luego da clic en Si a las 22 alertas que salen.
2. Da click derecho, ve a propiedades, pestaña de compatibilidad y dale en siempre correr esa aplicación como administrador. Ahora cada vez que abres la app te pregunte si le das permiso de iniciar, ya que explicítamente la app lo solicitará desde un inicio.
3. Ok, para permitir que corra toodo siempre bajo tu cuenta de admin, ve al menú inicio y en la barra de busqueda (antes run) escribe "secpol.msc" y deshabilita Local Policies/Security Options/User Account Control: Run all administrators in Admin Approval Mode. Reinicia y listo. Ahora todo lo que tendrás que soportar es una anuncio que dice que tu máquina no es segura.

El tipo de usuarios de "mi mamá" deberían de usar siempre todo sin permisos y no complicarse con clic derecho y propiedades y nada de eso.

La primera opción del clic derecho es muy enfadosa, pero útil para usuarios con algo de experiencia.

La segunda opción es la ideal para quien sabe como tener en control sus aplicaciones y administrar cuales tendrán permisos.

La tercera opción es para descuidados y gente inconsciente que o sabe el daño que podría ocasionar dejar a su máquina siempre corriendo como administrador.

Yo en lo personal me quedo con la tercera opción. Entro en el grupo de los flojos que no quieren estar dando ok a las alertas de seguridad.

Como funciona esto. Una parte interesante es que una aplicación puede desde atributos del Assembly (en AssemblyInfo.cs) específicar el nivel de permisos deseado. Si yo desde estos atributtos solicito permisos de administrador para mi aplicación, al momento de que alguien la ejecuta Windows Vista le pregunta al usuario si la quiere dejar similara a si el mismo usuario hubiera dado clic derecho y run as admin. Si tu aplicación explicítamente solicito que quiere pocos permisos, la opción de "always run as admin" estará deshabilitada.

Es buena práctica el que tus aplicacione siempre pidan los minímos permisos necesarios para que trabaje bien. Es decir si tu aplicación realmente no necesita full control, no lo solicites, simplemente pide lo que sabes que necesitarás, el hacer esto hará funcionar un modelo de seguridad similar al de Windows Vista en sistemas operativos anteriores, es decir, si tu app trata de hacer algo que excede los permisos solicitados explicítamente, truena.

jueves, octubre 19, 2006

Aplicación de Patrones de Diseño

El día de hoy Jaime y yo dimos un taller en el Tec Laguna sobre la aplicación de patrones de diseño. Para los que asistieron les dejo el material y para los curiosos, pues igual bájenlo, aunque la verdad el material no es suficiente como apoyo didáctico, se debe complementar con la explicación del taller.
Viene mucho código fuente, muchos ejemplos que por tiempo no alcanzamos a ver. El zip incluye la presentación de powerpoint y junto a esta la solución de Visual Studio. Dentro de esta solución hay muchos proyectos de C#, los interesantes (o al menos los que vimos en el taller) son Strategy.Ducks, Strategy.Chafa, Factory.Docks y Strategy.Winforms. Todo el resto se los dejo como ejemplo.
Si tienen Nunit podrán correr el proyecto DeveloperTests que prueba todos los patrones de diseño.
Espero y este material les sea útil. Si tiene cualquier duda, sólo dejen un mensaje.
Les recuerdo que las vacantes siguen abiertas para desarrolladores y practicantes con deseos de aprender y desarrollar con nuevas tecnologías. Manden currículum a recursoshumanos@integradorestecnologicos.com.

viernes, octubre 06, 2006

Segundo Evento Comunidad .NET

Hoy realizamos el segundo evento de la Comunidad .NET Laguna. El proximo es para el 3 de Noviembre en el ITESM CL.

No pude asistir a la primera conferencia y la segunda la dimos nosotros, por lo que mejor espero comentarios de ustedes. Estuve en la inauguracion y vimos una presentacion de Armando Perez sobre el desarrollo de las TIs en la region y el plan que tiene Gomez para impulsar este sector o mas bien para que este sector pueda impulsar a Gomez. La verdad es que es un apoyo mutuo, las ciudades que decidan ahorita subirse al barco les puede ir bien y tanto nos beneficiamos nosotros que estamos en el sector, como los ayuntamientos que van a generar empleos y sobre todo la sociedad en general que podra tener mejores fuentes de empleo. Bueno pero para que meternos en cosas de politica, mejor pasamos a hablar del taller.

Yo entre al taller de WCF fue un poco lento el ritmo, aunque muy interesante el taller. Se veia que Paco (Francisco A. Juarez Figueroa) ya se habia metido un buen tiempo a WCF, traia bien preparado el tema. A proposito de este tema, vale la pena un post nuevo sobre WCF y sus ancestros.

TDD

Este sera mi primer Post de una serie de publicaciones sobre TDD. Tengo un ejemplo paso a paso de una pequena prueba con esta metodologia, pero antes de meterme a la practica, les dejo un poco de teoria.

http://msdn.microsoft.com/vstudio/teamsystem/tester/default.aspx?pull=/library/en-us/dnvs05/html/GuidelinesforTDD.asp

Estuve revisando mis posts y en todo un mes, hice solo 4 posts. Ya necesito publicar mas. Tengo algunos temas pendientes... vamos a bloggear mucho mas ahora, tanto que parecera spam...