Traductor

miércoles, 17 de septiembre de 2014

Versiones y Caracteristicas de Visual Studio .Net

Buenas tardes amig@s, en esta ocasión les contare sobre cada una de las versiones del producto que ha proporcionado Microsoft para desarrolladores. Cabe destacar que en cada versión ofrecen nuevas herramientas y/o técnicas que mejoran de una manera efectiva la forma en la cual se ha venido programando a través de los años. A continuación se nombran las versiones de Visual studio 
.NEt, su ano de lanzamiento y las características mas significativas de la versión:






* Visual Studio .NET: A partir de este momento nace como tal este produce (2002), trae una transformación muy completa porque incluye  en el mismo IDE (Entorno de Desarrollo Integrado), lo que significa que todos los lenguajes podrán utilizar la misma interfaz para su
programación. Utiliza el FrameWork 1.0 y contemplaba la creación de aplicaciones de escritorio, aplicaciones web y servicios web. La versión interna del producto es la 7.0

* Visual Studio .NET 2003: Se presenta al publico para el ano 2003, significa realmente una actualización de su primera versión y en la misma agregaron el soporte para diseñar aplicaciones para determinados dispositivos móviles mediante la incorporación de ASP.NET y del Compact FrameWork .NET, esta versión utiliza FrameWork 1.1 y la versión interna del producto es 8.0

* Visual Studio 2005: Se presenta al publico para el ano del 2005, ademas de tener una nueva versión del FrameWork (nueva 2.0), se adicionan nuevas bibliotecas de clases base para el FrameWork que incluían, colecciones genéricas y ampliaciones significativas de ASP.NET. Cabe destacar que los años siguientes microsoft publicó dos service pack relacionados con el producto y se incluyeron nuevas tecnologías como: Windows Presentation Foundation (WPF), Windows Communications Foundation (WCF), Windows Workflow Foundation (WF) y CardSpace. El FrameWork paso de ser 2.0 a 3.0 y la versión interna del producto es 9.0

* Visual Studio 2008: Se presenta al publico para el ano 2008, en esta versión se incluyen muchas características nuevas, como lo son: el desarrollo orientado a Windows Vista, office 2007 y aplicaciones Web, inclusión en el editor de Windows Presentation Foundation, HTML/CSS, diseñador de LINQ a SQL, Soporte de JavaScript Intellisense support y JavaScript Debugging, AJAX, entre otras. El FrameWork utilizado en esta versión es de 3.5 y la versión interna del producto es 10.0

* Visual Studio 2010: Se presenta al publico para el ano 2010, en esta nueva versión hubo un gran cambio en el IDE, reduciendo la complejidad y soportando múltiples documentos y herramientas flotantes de windows, cabe resaltar que el nuevo IDE fue realizado usando Windows Presentation Foundation. Se incluyó F# y el soporte integrado para desarrollar aplicaciones Microsoft Silverlight, ademas las herramientas para hacer  parallel programming, Parallel Extensions, Parallel Patterns Library. Un punto importante es que a partir de esta versión ya no admite el desarrollo de aplicaciones de Windows Mobile con una versión anterior a la 7. El framework utilizado en esta versión es el 4 y la versión interna del producto es 11.0

* Visual Studio 2012: Se presenta al publico en el 2012, se agregan nuevas características para WinRT y C++/CX (Extensiones de Componentes), soporte para C++ AMP. Ademas hubieron cambios en la colorizacion utilizada dentro de Visual Studio, se re diseñó un nuevo Soluction Explorer, se mejoró el despliegue automático de la lista de IntelliSense y se incluyeron los Code Snippets a esa lista. Por otra parte esta versión ofrece una actualización para las tecnologías de WPF, WCF, WF y ASP.NET y compatibilidad para compilar aplicaciones de la Tienda de Windows. El FrameWork utilizado en esta versión es de 4.5 y la versión interna del producto es 12.0

* Visual Studio 2013: Se presenta al publico en el 2013, Incluye mejoras de rendimiento y depuración, compatibilidad para el re direccionamiento automático de enlaces y compatibilidad expandida para las aplicaciones de la Tienda Windows. Tambien se incluyen actualizaciones para C++, JavaScript y F#. Por otra parte se ofrece el servicio de moviles de Azure para conectar aplicaciones clientes tanto a la tienda de windows como a servicios moviles de Azure.El FrameWork utilizado en esta versión es el 4.5.1 y la versión interna del producto es 13.0 

* Visual Studio 14 (Todavia en etapa de pruebas): este año microsoft ha sacado a la comunidad de tecnología (CPT) una versión de prueba la cual causa revuelo con las nuevas herramientas y cambios incluidos en la misma. Se incluirá ASP.Net vNext, en donde MVC, API Web y las páginas Web se fusionan en un solo marco, llamado MVC 6. El nuevo marco utiliza un conjunto común de 
abstracciones para el enrutamiento, la selección de acciones, filtros, modelo de unión, y así sucesivamente.  Se incluirán tecnologías como Signal R, BootStrap y ademas se incorpora un nuevo compilador para C# y Visual Basic llamado Roslyn el cual te permite realizar muchas cosas. Ademas incluyen una actualización de C++ en donde una de las características es la inclusión de expresiones lambdas. Se Espera que el lanzamiento del producto oficial sea a finales de este ano. Mas adelante estaré hablando mas de la nuevo que nos trae microsoft como herramienta para nuestro desempeño en este mundo como programadores.  


Espero sea de utilidad la información brindada, hasta una próxima oportunidad.

domingo, 7 de septiembre de 2014

Certificaciones Microsoft para Desarrolladores

Buenas tardes amigo@s, esta vez les vengo hablar no de códigos ni implementaciones, sino sobre la excelencia del desarrollador como son las certificaciones. Las certificaciones brindan gran ventaja para el desarrollo profesional, ya que son las que se encargan de validar internacionalmente la habilidad para cierta tecnología en particular y poder así resaltar entre candidatos para optar por un puesto de trabajo. Cabe destacar que la empresa CompTIA realizo una investigación en el ano 2011 referente a la importancia de las certificaciones y pudo llegar a varias conclusiones dentro de las cuales destaca:

1. Sesenta y cuatro por ciento de los directores de recursos humanos de TI valoran las certificaciones, ya que tienen  un alto valor en la validación de habilidades y experiencia.

2. Ochenta y uno por ciento de los ejecutivos de recursos humanos creen que las certificaciones crecerá en utilidad e  importancia en los próximos años. 

3. Cincuenta y dos por ciento de las organizaciones le pagan al personal de TI para un examen de certificación. Para consultar mejor la investigación realizada por esta empresa pueden visitar su pagina donde relata detalladamente los resultados de esta investigación link: http://www.comptia.org


Hoy en día existen gran cantidad de exámenes de certificaciones para diferentes tecnologías y empresas de tecnología, como lo son: Microsoft, Oracle, Cisco, Novell, entre otras. Hoy hablare sobre las de Microsoft en especial para desarrolladores, las cuales nos  permiten ser reconocidos a nivel mundial como expertos en alguna tecnología en especifica que queramos.

1. MCSD Windows Store Apps: Esta certificación demuestra su experiencia en el diseño y el desarrollo de aplicaciones rápidas y fluidas  para Windows 8. Esta certificación tiene dos divisiones: 
- MCSD: Windows Store Apps Using HTML5
  - MCSD: Windows Store Apps Using C#

Nota: Si parte de sus conocimientos existentes de programación son en JavaScript o bien si empieza de cero en un sitio web nuevo, le recomendamos por la trayectoria de HTML5. Si trabaja de desarrollador .NET y se está planteando crear aplicaciones para Windows 8, escoja la trayectoria C#.

2. MCSD Web Applications: Esta certificación demuestra su experiencia en la creación e implementación de aplicaciones y servicios web modernos.

3. MCSD SharePoint Applications: Esta certificación demuestra su experiencia en el diseño y el desarrollo de aplicaciones de colaboración con Microsoft SharePoint, pero para eso adicionalmente debe tener una base sólida de programación web en HTML5 con JavaScript y ASP.NET MVC 4.

4. MCSD Application Lifecycle Management: Esta certificación demuestra su experiencia en la administración de todo el ciclo de  desarrollo de aplicaciones.

En la imagen inferior se describe cada una de las pruebas necesarias para llegar a la certificación en la tecnología deseada.




Espero sea de utilidad la información brindada, para mas información aquí les dejo el link: https://www.microsoft.com/learning información oficial del portal de microsoft, hasta otra próxima oportunidad.

jueves, 4 de septiembre de 2014

Enviar Correo a través de Visual Studio 2012 C#

Buenos días amig@s, nuevamente nos encontramos con una nueva entrada de mi blog, espero les pueda ayudar en su desarrollo como programadores de sistemas, esta semana he podido publicar 3 entradas ya y estoy muy alegre por eso, porque he tenido el tiempo disponible para ayudarlos. Hoy en día en las aplicaciones informáticas se ha vuelto importante el envió de correo para diferentes fines (confirmación de cuenta, indicaciones de error, publicidad, etc.) y a eso nos referiremos en esta entrada. A continuación Indicare el código para poder realizar el envió de un correo. Primero que nada debemos aclarar que el ejemplo realizado se hizo bajo la plataforma de visual studio 2012, utilizando un proyecto de pruebas unitarias el cual se le agregó la referencia al assembly (dll) System.Net.Mail y System.Net.

En la imagen inferior se puede mostrar los parámetros mínimos necesarios que se deben configurar para el envió de correo, cabe destacar que existe otros parámetros pero se utilizan según sea la conveniencia, como los son: la prioridad, archivos adjuntos, la opción de enviar con copia oculta, etc. 




Al realizar todo el código expuesto en la imagen anterior y si utilizan también su cuenta de Gmail para que sea el emisor del correo, puede darse el caso que se consigan con una excepción de tipo SmtpException, como se muestra en la figura de abajo. 




Si les da la excepción tendrán que acceder a las opciones de Google y permitir que nuestra cuenta pueda enviar el correo sin problemas, para eso debemos acceder al siguiente enlace: https://support.google.com/accounts  luego seleccionar review this activity 


Luego de eso se les mostrara una pantalla donde se evidencia el log de actividades de la cuenta y de primero se encontraran la actividad inusual registrada por tratar de hacer el envío desde una aplicación desconocida (en este caso visual studio). En esa pantalla seleccionaremos: Yes, review settings




Luego aparece la pantalla para habilitar los accesos desconocidos, así como se muestra en la imagen inferior. Luego de hacer esos cambios, probemos nuevamente nuestro código y tratemos de enviar el correo y verán que en este caso sera satisfactorio el envío. 



Finalmente ya tendremos la disponibilidad de enviar correos desde nuestra cuenta Gmail en visual studio.



Espero sea de utilidad la información brindada, para mas información aquí les dejo el link: http://msdn.microsoft.com/SendEmail información oficial del portal de microsoft msdn y tambien les dejo el link para que puedan descargar el proyecto: Enviar Correo Saludos y hasta otra próxima oportunidad.








martes, 2 de septiembre de 2014

Plantillas (Templates) en Visual Studio 2012

Buenas tardes amig@s, hoy les traigo algo sencillo poco aplicado pero muy importante a la hora de trabajar en empresas que requieran de agilidad en la programación y en los tiempos requeridos para el mismo, les hablo de las Plantillas (Templates), los cuales son muy útiles y tienen gran ventaja a la hora de aplicarlos porque proporcionan códigos auxiliares reutilizables que ofrecen a los usuarios códigos y estructuras básicas que pueden utilizar para sus propios fines.

Creación de Plantilla de Elemento (Item Template)

Podemos crear cualquier plantilla de elemento para visual studio, entiéndase como elemento todo aquel que 
interactúdentro del ciclo de vida de la realización de un proyecto (Clase, Interfaz, Archivo de Configuración, Servicio, Pagina Web, Hoja de Estilo, User Control, etc). 

Los pasos a realizar son los siguientes:
1.-Creamos o abrimos un proyecto existente en Visual Studio 2012.
2.-Agregamos un elemento al proyecto y modifíquelo si lo desea.

Yo agregue un archivo de configuracion (app.config) y lo modifique a mi conveniencia.


3.-En el menú Archivo, haga clic en Exportar Plantilla.




4.-Haga clic en Plantilla de elemento.
5.-seleccione el proyecto que contiene el elemento y haga clic en Siguiente.



6.-Seleccione el elemento para el que desea crear una plantilla y haga clic en Siguiente.



7.-Seleccione las referencias de ensamblado que vaya a incluir en la plantilla y haga clic en Siguiente.

Nota: Esta sección es utilizada si el elemento a crear como plantilla tiene alguna dependencia a alguna dll (assembly), de lo contrario no se selecciona ninguna.




8.-Escriba el nombre del archivo de icono, la imagen de vista previa, el nombre de la plantilla y la descripción de la misma y haga clic en Finalizar.



Resultado Final:




Creación de Plantilla de Proyecto (Project Template)

Podemos crear cualquier plantilla de proyecto para visual studio.

 Los pasos a realizar son los siguientes:
1.-Creamos o abrimos un proyecto existente en Visual Studio 2012.
2.-Agregue los elementos que desee al proyecto si lo desea.



3.-En el menú Archivo, haga clic en Exportar plantilla.



4.-Haga clic en Plantilla de Proyecto.
5.-seleccione el proyecto que desee y haga clic en Siguiente.




6.-Escriba el nombre del archivo de icono, la imagen de vista previa, el nombre de la plantilla y la descripción de la misma y haga clic en Finalizar.




Resultado Final:




Espero sea de utilidad la información brindada, para mas información aquí les dejo el link: http://msdn.microsoft.com/Templates información oficial del portal de microsoft msdn y tambien les dejo el link para que puedan descargar las plantillas generadas: Plantillas  Saludos y hasta otra próxima oportunidad.






Encriptacion y Desencriptacion (Encrypt & Decrypt)

Buenas tardes amig@s, en esta oportunidad hablaremos de un punto muy importante en la construccion de sistemas informaticos (paginas web, soluciones para desktop, intranet, etc.), lo cual es la ENCRIPTACION Y DESENCRIPTACION (ENCRYPT Y DECRYPT). Primero que nada debemos decir la encriptación (Encript) es la forma de cifrar datos y/o mensajes, con el fin de hacerlos intangibles a receptores no autorizados por nuestro sistema informático. La desencriptación viene siendo a pocas palabras el proceso de reversión de la encriptación para que pueda ser leído con claridad el mensaje. Para llegar al proceso final de la encriptación  se debe tomar en cuenta el tipo de algoritmo a utilizar para el cifrado del mismo, existen muchos algoritmos y a continuación les mencionare algunos y su forma de implementación. Cabe destacar que los ejemplos fueron realizados en Visual Studio 2012 y para la realización de las pruebas unitarias de cada uno de los ejemplos se utilizo el namespace System.Security.Cryptography, asi que se requiere hacer using del mismo.

RIJNDAEL

Definición Fuente Wikipedia: Es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos. Se transformó en un estándar efectivo el 26 de mayo de 2002. Desde 2006, es uno de los algoritmos más populares usados en criptografía simétrica. El cifrado fue desarrollado por dos criptólogos belgas, Joan Daemen y Vincent Rijmen, ambos estudiantes de la Katholieke Universiteit Leuven, y enviado al proceso de selección AES bajo el nombre "Rijndael". Ahora vamos a lo que nos interesa a la practica jejeje. En la imagen mostrada abajo se puede notar su implementación

  


SHA-1

Es un algoritmo que forma parte del grupo "SHA" sinónimo de "Algoritmos de hash seguro", los cuales dentro de este grupo se encuentran SHA-0, SHA-1, SHA-2 y SHA-3. SHA-0 es la versión original de la función hash de 160 bits publicado en 1993 bajo el nombre de " SHA " y no fue adoptada por muchas aplicaciones. SHA-1 es muy similar a SHA-0, Publicado en 1995 pero altera la especificación original de hash SHA para corregir debilidades. SHA-2 publicado en 2001, es significativamente diferente de la función hash SHA-1. SHA-3 es implementado en el 2002, utiliza la construcción esponja en el que los bloques de mensajes se XOR en un subconjunto del estado, que se transforma luego en su conjunto. La mas utilizada es SHA-1 porque utiliza un bloque de 160 bits lo cual es ideal para VPN's por ejemplo. Luego de algo de teoría regresemos a la practica. Abajo se muestra su implementación.



Nota: Cabe destacar que este algoritmo no utiliza un método de desencriptación, para poder comparar sus valores se debe hacer la comparación del proceso de generación, ya que cada texto encriptado genera un modelo único del mismo.


MD5

Es una función hash de 128 bits y no es de mucha utilidad para el cifrado de mensajes, su mayor utilización es en base a firmas digitales, fue desarrollado por Ronald Rivest (profesor del MIT) en el año 91. La implementación de este algoritmo al mundo de la programación de sistemas es similar a la antes expuesta en el algoritmo de SHA-1. La cual veremos a continuación y se podrá apreciar la misma secuencia de lineas de código pero con resultado distintos ya que Sha-1 maneja un bloque de 160 bits y MD5 maneja 128 bits.



Nota: Cabe destacar que este algoritmo no utiliza un método de desencriptación, para poder comparar sus valores se debe hacer la comparación del proceso de generación, ya que cada texto encriptado genera un modelo único del mismo.

RSA

Definición fuente Wikipedia: Es un sistema criptográfico de clave pública desarrollado en 1977. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente. Tiene 
dificultades para encriptar grandes volúmenes de información pero es muy utilizado para el cifrado de passwords, nombres, números de tarjeta y otros conjuntos usados de corto almacenaje de información. A continuación se presenta su forma de implementan.



Espero sea de utilidad la información brindada, para mas información aquí les dejo el link: http://msdn.microsoft.com/Encrypting&Decrypting información oficial del portal de microsoft msdn y tambien les dejo el link para que puedan descargar el proyecto creado para cada uno de las implementaciones de los algoritmos: UnitTest-Encrypt&Decrypt  Saludos y hasta otra próxima oportunidad.