Hoy gran lanzamiento de Windows 7, un Sistema Operativo de verdad…

Hoy es el lanzamiento oficial de Windows 7, si deseas, puedes verlo en vivo desde tu casa!!!

http://www.microsoft.com/presspass/presskits/windows7/default.aspx

Fuente: http://windows7noticias.com/lanzamiento-de-windows-7-en-vivo-por-internet/

{Activa} tu Potencial

Microsoft sigue sorprendiéndonos con las grandes oportunidades que brinda para que podamos supernos cada vez mas. Esta vez, nos trae {Activa}, un programa que nos permite especializarnos en las tecnologías de Microsoft, y mejor aun COMPLETAMENTE GRATIS :)

Fuente: http://www.microsoft.com/colombia/activa/potencial.aspx

{Activa} Tu Potencial y entra en el camino de ser un “Especialista Microsoft” sin NINGÚN costo.

El programa consiste en un proceso de entrenamiento intensivo, teórico y práctico en tecnologías Microsoft.

¿Qué significa ser un Especialista Microsoft?

Todas las personas que se gradúen y sean parte del equipo de Especialistas Microsoft tendrán reconocimiento a través de una página web que concentrará a todos los Especialistas de acuerdo a sus temas.

Contarán con una fotografía y su hoja de vida resumida, tendrán la posibilidad de firmar como Especialistas Microsoft y dar soporte como Especialista bajo el reconocimiento de Microsoft.

¿Cómo alcanzar el título de Especialista Microsoft?

1. Deberás graduarte en el programa de Microsoft Virtual Academy (MVA).

3. A partir de este momento entrarás en el track de conocimiento (el track de conocimiento será de la mano de un facilitador experto en cada tema). Recibirás un libro y serás parte de un entrenamiento de 16 horas intensivas del tema de expertise.

4. Luego de entrenarte y cumplir todos los objetivos, recibirás un diploma con el título de Especialista Microsoft. Entonces podrás empezar a disfrutar de todas las ventajas y beneficios del programa.

¿Cómo participar?

Si quieres ser parte de esta primera fase, inscríbete en www.microsoftmva.com, escoge y regístrate en una de estas cinco carreras.  Tienes hasta el lunes 11 de mayo para graduarte e informarnos enviando el mail de certificación a activa@microsoft.com.

Imagine Cup, Unicauca Presentes!!!!!

Como ha sido constancia en los últimos años, la Universidad del Cauca hace presencia de nuevo en la final nacional del Imagine Cup. Felicitamos a los integrantes del grupo “Planet TB”, quienes lograron pasar a la final nacional. Les deseamos muchos éxitos y esperamos que el Cairo, Egipto, sea su próxima final.

Saludos y felicitaciones a todos sus integrantes:

Ing. Miguel Anguel Niño.

Hendris Tobar.

Jonatan Lemos.

Victor Riascos.

Celula Unicauca.Net

Portal de Open Source para Desarrolladores

Microsoft y Open Source

MSDN cuenta a partir de ahora con un portal dedicado al Open Source para desarrolladores. En este portal se ofrecerán recursos alrededor de soluciones completas Open Source, componentes reutilizables y ejemplos. Entre estas soluciones se encuentran aplicaciones Open Source creadas por Microsoft o por la comunidad Open Source. Además de ofrecer recursos para que los desarrolladores puedan utilizar estas aplicaciones también se proporcionan herramientas para que los desarrolladores creen nuevas aplicaciones Open Source

Microsoft tiene numerosas iniciativas de Open Source. Todas ellas están documentadas en el portal de Open Source de Microsoft dónde podrás consultar qué está haciendo Microsoft en el mundo Open Source. Entre otros programas e iniciativas, colabora con varias compañías y con la comunidad de Código Abierto para fomentar la interoperabilidad entre sistemas, de acuerdo con su Iniciativa de Interoperabilidad.  Precisamente, para fomentar y facilitar la interoperabilidad entre sistemas diversos, se trabaja en el Open Source Lab de Redmond, un laboratorio de Investigación que cuenta con más de 300 servidores, con más de 15 versiones diferentes de UNIX y 50 distribuciones de Linux. Port25 es el portal escaparate de toda la actividad realizada en este laboratorio, donde podrás encontrar artículos, webcasts, descargas etc..

Otro protagonista del ecosistema de Microsoft en Open Source es el portal CodePlex. Es un portal repositorio de proyectos de código abierto .NET mantenido por Microsoft en el que se pueden crear nuevos proyectos, participar en proyectos activos o usar las aplicaciones y soluciones publicadas y opinar sobre las mismas.

Fuente: MSDN

Lineas de interes del grupo Celula Unicauca.Net

El grupo Celula unicauca.net empiza de nuevo con sus activadades para este nuevo periodo acádemico. Comenzamos con las lineas de interes que se presentan cada semestre. En este nuevo periodo academico se daran las siguientes lineas de interes:

Desarrollo de Aplicaciones Web con ASP.Net.
Contacto: John Alvarado (johnj.alvarado@hotmail.com).
Desarrolo de Aplicaciones Windows con Windows Form.
Contacto: Monica Acosta (monikca85@hotmail.com).
Desarrollo de Juegos con XNA.
Contacto: Fabian Tobar (fabiantobar@gmail.com).

Si quieres hacer aprender alguna de estas maravillosas tecnologias, contactate con nosotros, los cursos son totalmente gratis y se dictan dos horas a la semana.

MICROSOFT .NET FRAMEWORK 2.0 – PARTE 2

Seguimos con el .Net Framework 2.0…

Traduccion del capitulo 1 del libro Microsoft .NET Framework 2.0 – Application Development Foundation (Las imagenes son copiadas del libro)

Leccion 2: Usando Tipos Por Referencia Comunes

La mayoría de los tipos del .Net Framework son tipos por referencia. Los tipos por referencia proveen gran flexibilidad y excelente rendimiento cuando son pasados como argumentos de métodos.

Que es un tipo por referencia (reference type)?

Los tipos por referencia almacenan la dirección de sus datos, también se conocen como punteros, sobre el stack. Los datos actuales de estas referencias son almacenados en un área de la memoria llamado el heap. El runtime administra la memoria usada por el heap a través de un proceso llamado el garbage collection. El garbage collection recupera la memoria periódicamente cuando se necesite, disponiendo de los ítems que llevan tiempo sin ser referenciados. El garbage collection ocurre solo cuando se necesita o es lanzado por la llamada a GC.Collect. Automaticamente el garbage collection esta optimizado para aquellas aplicaciones en donde la mayoría de las instancias son de vida corta, excepto para aquellas ubicadas al inicio de la aplicación.

Comparando el comportamiento entre value types y refence types

Los reference types representan una dirección del dato en lugar del dato en si mismo. Al asignar una variable value type a otra, se crea una nueva copia del dato en el stack de la memoria, en cambio, asignar una variable reference type a otra, solo crea una segunda copia de la referencia, ambas apuntando a la misma dirección de memoria. Cuando se modica una copia de una variable value type, solo esta se ve afectada (todas las copias pueden tener valores distinto). Cuando se modifica una copia de una variable reference type, todas sus copias se ven afectas (todas las copias apuntan a la misma dirección de memoria y todas modifican el mismos valor, todas tienen el mismo valor).

Built-in reference types

Hay alrededor de 2500 built-in reference types en el .Net Framework, todo lo que no derive de System.ValueType es un reference type. La siguiente tabla muestra los más comunes:

Tabla 1-2 Refence Types Comunes

Reference Types

Reference Types

String y StringBuilder

Los strings de System.String son inmutables en .Net. Esto quiere decir que ningún cambio a un string causa que el runtime cree un nuevo string y abandone el viejo, en código:

string s = “hola”; //crea hola

s += “ john”//matiene el anterior en memoria y crea uno nuevo: hola John; es decir hay ahora dos strings en memoria.

Solo el último string tiene una referencia, los otros serán puestos a disposición del garbage collection. Esto genera un uso excesivo del garbage collection y perjudica el desempeño de la aplicación. Hay varias formas de solucionarlo:

· Use los métodos Concat, Join o Format de la clase String para unir varias cadenas en una sola.

· Use la clase StringBuilder strings dinámicos (mutables).

Usar la clase StringBuilder es la solución más flexible ya que esta puede abarcar varias cadenas. El constructor por defecto crea un buffer long de 16 Bytes, el cual crece según sea necesario.

Como crear y ordenar arrays

La clase encargada del manejo de los arrays es System.Array.

Int[] miArray = {1, 3, 2};//declarando e inicializando un array

Array.sort(miArray);//ordenando un array

Como usar Streams

Permiten leer y escribir en disco y comunicarse a través de la red. La clase encargada del manejo de las tareas específicas de streams es System.IO.Stream. Los network streams se encuentran en System.Network.Sockets y los encrypted streams se encuentran en System.Security.Criptography.

Tabla 1-3 Tipos streams comunes

Tipos Stream

Tipos Stream

StreamWriter file = new StreamWriter(“text.txt”);//crear y escribir en un archive de texto

file.WritreLine(“Hola Mundo”);//escribir en el archivo de texto

file.Close();//cerrar el archivo

StreamReader file = new StramReader(“text.txt”);//abre el archivo

Console.WriteLine(file.ReadToEnd());//lee el archivo de principio a fin y lo imprime

file.Close();//cerrar el archivo

Como lanzar y capturar excepciones

Las excepciones son eventos inesperados que interrumpen la ejecución normal de un assembly. El .Net framework incluye varias clases que me permiten manejar errores, la más común es la clase Exception que contiene un mensaje de error, otras que describen diferente tipos de eventos derivan de System.SystemException y las definidas por el usuario derivan de System.ApplicationException. El runtime solo ejecuta un bloque catch, el que haga juego con la primera excepción. Es recomendable organizar los bloques catch del más específico al menos específico (filtrado de excepciones). Es muy útil utilizar el bloque finally para realizar tareas que se necesitan hacer ya sea que ocurra o no una excepción, ya que independientemente de que ocurra o no una excepción, todo lo que este dentro de este bloque será ejecutado. Aunque el manejo de excepciones cuesta un poco en el desempeño de la aplicación, facilita enormemente el debugging y mejora la experiencia de usuario.

Windows Day – Tecnologias para derribar paredes

Hola amigos, queria invitarlos a que se  registreen en este magnifico evento que se llevará a cabo el día 3 de marzo, es On Line y completamente gratis…no falten.

“Descubre novedades acerca de las tecnologías de implementación, administración y de desarrollo de aplicaciones en desktops con Windows Vista y con Windows 7: cómo mejorar el rendimiento, cuándo virtualizar, cómo optimizar los escritorios, incrementar la seguridad, resolver el acceso a datos y cómo crear las mejores interfaces de usuario. Demos y expertos en vivo respondiendo tus preguntas.”

Windows Day

Windows Day

Windows Day

MICROSOFT .NET FRAMEWORK 2.0 – PARTE 1

Para iniciar, comenzaré con una serie de post acerca del .Net Framework 2.0, basado en el libro para certificacion del .Net Framework 2.0. Espero les sea de ayuda.

Traduccion del capitulo 1 del libro Microsoft .NET Framework 2.0 – Application Development Foundation (Las imagenes son copiadas del libro)

Capítulo 1

Fundamentos del Framework

Leccion 1: Usando Value Types

En el .Net Framework 2.0 hay dos tipos de datos esenciales, los tipos por valor (value types) y los tipos por referencia (reference types). Los tipos por valor son variables que contienen sus datos directamente en lugar de tener una referencia a ellos, lo que ofrece un excelente desempeño. Estos datos son almacenados en un área de la memoria llamado stack en donde el runtime puede crear, leer, actualizar y remover los datos rápidamente con un mínimo esfuerzo. Los tipos de datos numeric y boolean son primeramente los más elementales del .Net Framework 2.0 y son tipos por valor.

Los tipos por referencia son variables que tienen una referencia a una posición de memoria en donde está el valor de dicha variable.

Existen en general 3 tipos de “value types”: Built-in types (tipos propios del lenguaje), User-defined types (definidos por el usuario) y Enumeration (enumeraciones). Cada uno de esto tipos de deto derivan del tipo base System.Value.

Built-in value types

Son tipos base proporcionados por el .Net Framework, con ellos es posible crear otros tipos de datos. Todos los tipos numéricos built-in son tipos por valor. A continuación se da un lista de los tipos numéricos built-in más comunes:

Tabla 1-1 Built-in Values Types

Tabla-1-1-built-in-value-types

Hay aproximadamente unos 300 value types mas en el .Net Framework, algunos de estos tipos de datos son usados con mucha frecuencia, debido a ello, VB y C# hacen uso de los alias para definirlos.

Cuando se asignan valores entre variables value types, el dato es copiado de una variable a la otra y almacenada en dos posiciones diferentes del stack. Aunque los values types representan variables simples, ellos son objetos y pueden llamar métodos, por ejemplo ToString(), el cual es sobrescrito de System.Object. En el .Net Framework, todos los tipos derivan de System.Object, lo que ayuda a establecer un sistema de tipo común a través del .Net Framework.

Para mejorar el rendimiento con los built-types se recomienda usar los tipos enteros de 32 bits (Int32 y UInt32) para contadores y otras variables enteras frecuentemente accedidas, ya que el runtime optimiza el rendimiento para estos tipos de datos. Para los tipos de dato flotante se recomienda utilizar el tipo Double, debido a que las operaciones con este tipo de dato son optimizadas por el hardware.

Como declarar value types

Los value types tienen un constructor implícito, lo que evita crear instancias con la palabra reservada new como con las clases. Este constructor por defecto asigna un valor de 0 o null a la variable. A pesar de ello, es recomendable inicializar siempre las variables en la declaración. Ejemplo:

bool bandera = false;

En ocasiones es necesario asignar el valor null a una variables, por ejemplo en un formulario, en una pregunta se puede responder si, no, o dejar sin responder, en estos casos es útil utilizar las variables nulas. Ejemplo:

Nullable<bool> bandera = null; //bandera puede tomar el valor de true, false o null

bool? bandera = null; //notación corta

Declarar un variable Nullable habilita los miembros HasValue y Value. HasValue sirve para detectar se ha o no fijado un valor. Ejemplo:

If( bandera.HasValue )

Console.WriteLine(“bandera = ”, bandera.Value);

else

Console.WriteLine(“No se ha asignado un valor a bandera”);

Como crear tipos definidos por el usuario

También llamados estructuras. Al igual que los values types, estos también son almacenados en el stack y contienen sus datos directamente. Las estructuras se comportan casi igual que las clases. Una estructura es una composición de otros tipos de datos agrupados lógicamente para formar un nuevo tipo de dato. Ejemplo:

struct Circulo {

int x;//campos privadas

int y;

int radio;

//constructor

public Circulo(int x, int y, int radio ) {

x = 0;

y = 0;

radio = 0;

}

//propiedades, métodos y operaciones…

}

Para hacer una instancia:

Circulo miCirculo = Circulo new (1, 10);

Si se quiere cambiar la estructura Circulo a un tipo por referencia, basta solo con cambiar la palabra reservada struct por class. De esta forma a las instancias de Circulo se les asignará espacio en el heap, y de una asignación entre dos variables resultaría que las dos variables estén apuntando a la misma instancia.

Las estructuras suelen ser más eficiente que las clases. Se debería usar una estructura en vez de una clase, si el tipo se desempeña mejor como un value type que como un reference type. Una estructura debería cumplir los siguientes criterios:

· Lógicamente representan un único valor.

· Tienen un tamaño menor a 16 bytes.

· No será cambiada después de creada.

· No hará un casting a un tipo por referencia.

Todos los value types en el .Net Framework son de 16 Bytes o short.

Como crear enumeraciones

Las enumeraciones son símbolos relacionados que tienen valores fijos. Use enumeraciones para proporcionar una lista de opciones. El propósito de las enumeraciones es simplificar el código y mejorar la legibilidad habilitando que se usen símbolos significativos en lugar de simples valores numéricos. Úselos cuando tenga una lista limitada de opciones. Ejemplo:

enum Genero : int {Masculino, Femenino} ; //Visual Studio desplegara esta lista cuando los desarrolladores la necesiten

Genero MyGenero = Genero.Masculino; //Es mucho mejor MyGenero = Masculino, que MyGenero = 1;