jueves, 9 de septiembre de 2010

Instalar Code Snippets

En esta página te explicaré cómo agregar tus code snippets a Visual, para que puedas agregar  nuevos o adaptar algunos de los existentes  y así poder usarlos desde Visual C#.



Instalar los Snippets

Para agregar estos snippets a los que ya tiene Visual Studio, tienes que hacer lo siguiente:
  1. En el menú Tools, selecciona Code Snippets Manager co como se ve en la imagen Ctrl+K+B. 
  2. Te mostrará un cuadro de diálogo desde el que puedes crear nuevas carpetas, añadir snippets existentes, puedes incluso crear directorios para tus snippets en este caso yo agregue la carpeta MySql donde agregare los Snippets que cree para Mysql.
  3. Para iniciar la instalación de los snippets simplemente damos click en el botón "Import...", es  el cual nos abrirá una pantalla para seleccionar los archivos de los Snippes a instalar como podrán ver se pueden seleccionar mas de 1 en cada importación; importante que si deseamos que se instale en una carpeta seleccionemos dicha carpeta antes de pulsar Import.
  4. Como se ve ahora aparecen los snippets seleccionados y seleccionamos del lado derecho en que sub-categorías deseamos que estén disponibles. y damos finalizar
  5. Una ves realizado esto los nuevos snippets estan disponibles.

Con esto hemos terminado en estos dias publicare otra entrada de como hacer los Snippets y subire el archivo de los snippets que hice para MySql






    martes, 7 de septiembre de 2010

    Snippets Visual Studio

    ¿Que son los Snippets?

    Bueno la pagina de MSDN los describe como:
    Los fragmentos de código de IntelliSense son archivos XML con la extensión .snippet que son conformes al esquema XML de fragmentos de código de IntelliSense.En este tema, creará un fragmento de código básico que muestra un cuadro de mensaje.Para obtener más información sobre el esquema XML de fragmentos de código.
    De una forma mas facil de comprender es codigo que puedes tener almacenado para no estar copiando y pegando simplemente lo mandas llamar del almacen y este aparece listo lo unico que tienes que cambiar son los nombre de algunas variables y cosas, para que funcione en tu proyecto.

    El ingresar un Snippet a nuestro proyecto es sencillo solo se da botón derecho y nos muestra la opción aquí están las imagen en VS 2010 y 2008


    Ahora bien agregarlos es sencillo y nos muestra una lista de los Snippets disponibles para su uso





    También pueden ser llamarlos desde el teclado:


    La forma de uso es muy sencilla, por ejemplo, en el caso de un “if”, tecleamos la palabra clave “if” y oprimimos 2 veces la tecla “TAB”. Visual Studio genera automáticamente el bloque y se posiciona dentro del paréntesis (en C#) marcando un rectángulo resaltando el lugar para escribir inmediatamente la condición:



     una vez escrita la condición, basta con teclear “ENTER” y Visual Studio posiciona el cursor en la primera línea dentro del bloque del If si es verdadero y nos perite terminar nuestra programación .

    Para un bloque “try catch” la lógica es similar. Tecleamos “try” y después 2 veces la tecla “TAB”: en este caso, el rectángulo se posiciona en el lugar para teclear el tipo de exepción, igualmente, después de escribir el tipo de exepción, basta con teclear “ENTER” para escribir el código correspondiente.


    Como se puede ver esto tiene un potencial grande para automatizar nuestros desarrollos y terminar mas rápidamente nuestras aplicaciones optimizando los tiempos de desarrollo

    jueves, 1 de julio de 2010

    "Back to Basics" entrenamiento en linea de C#

    Bueno creo que el primer post de este blog fue la oportunida de que Microsoft te diera un servidor por un año gratis reciente recibi un correo de la persona que esta acargo de este proyecto en microsoft donde decia:


    Tú fuiste una de las personas que recibieron servidor, entre los comentarios que me han mandado, el más frecuente ha sido, ¿Cómo puedo comenzar a desarrollar con .NET? y el segundo fue, “Ya tengo mi servidor ¿Ahora qué hago con él? ¿Cómo puedo empezar mi negocio con este servidor?”
    Lo primero es aprender .NET, para eso comenzamos una serie de entrenamientos semanales enfocados a que aprendas los fundamentos de programación, C# y después vamos a grabar algunos videos que te van a ayudar a configurar tu servidor y que puedas comenzar a desarrollar proyectos de alto impacto y venderlos en línea.

    Por lo que ahora microsoft México ha lanzado una serie de entrenamientos vituales en linea denomindos "Back to Basics"; estos entrenamientos pintan bien para personas que inician en esto y no estarian mal que aquellos que saben programar o que alguna ves lo hicieron y no lo recuerdan retomen lo que han olvidado como dice el nombre volver a lo basico no siempre es retroceder si es para mejorar y para reforzar la base de un conocimiento solido.

    Aquii esta la la informacion completa si tienen el server segistrense y si no pues tambien

    Description: http://www.microsoft.com/latam/technet/envios/2010/mai_me_VisualStudio_entrenamientos/mai_me_VisualStudio_entrenamientos.jpg
    Description: http://www.microsoft.com/latam/technet/envios/2010/mai_me_VisualStudio_entrenamientos/izq.jpg
    9 julio - 5:00 a 7:00 pm
    Introducción al desarrollo de aplicaciones Microsoft .NET utilizando Visual Studio 2010 y Visual C#.
    Primera Sesión: Los fundamentos
    En esta sesión se describen los conceptos fundamentales para el desarrollo de aplicaciones Microsoft .NET.

    Los temas que se cubren en esta sesión son:
    • Introducción a la plataforma de desarrollo Microsoft .NET
    • El entorno de desarrollo de Visual Studio 2010
    • Desarrollando aplicaciones Orientadas a Objetos utilizando Visual C#

    Description: Regístrate
    Description: http://www.microsoft.com/latam/technet/envios/2010/mai_me_VisualStudio_entrenamientos/linea.jpg
    16 julio - 5:00 a 7:00 pm
    Introducción al desarrollo de aplicaciones Microsoft .NET utilizando Visual Studio 2010 y Visual C#.
    Segunda Sesión: Construyendo aplicaciones
    En esta sesión se describen algunos de los tipos de aplicaciones principales que podemos desarrollar para la plataforma Microsoft .NET utilizando Visual Studio.

    Los temas que se cubren en esta sesión son:
    • Desarrollo de aplicaciones de escritorio
    • Desarrollo de aplicaciones Web
    • Desarrollo de aplicaciones para dispositivos móviles
    • Desarrollo de aplicaciones de acceso a datos

    Description: Regístrate
    Description: http://www.microsoft.com/latam/technet/envios/2010/mai_me_VisualStudio_entrenamientos/linea.jpg
    23 julio - 5:00 a 7:00 pm
    Introducción al desarrollo de aplicaciones Microsoft .NET utilizando Visual Studio 2010 y Visual C#.
    Tercera Sesión: Arquitectura de software
    En esta sesión se muestran algunos ejemplos de arquitectura de software y patrones de diseño que pueden ser desarrollados utilizando Visual Studio.

    Los ejemplos que se describen en esta sesión son:
    • Programación por capas
    • Modelo Vista Controlador (MVC)
    • Arquitectura orientada a servicios

    Description: Regístrate
    Una vez terminada la sesión podrás volver a consultar estas sesiones en el sitio de Channel9 México.
    Description: http://www.microsoft.com/latam/technet/envios/2010/mai_me_VisualStudio_entrenamientos/channel9.jpg

    martes, 15 de junio de 2010

    Unable to find the requested .Net Framework Data Provider

    Este viernes por la tarde terminado de desarrollar un aplicación web, fui a instalarla en las instalaciones de mi cliente para realizar las pruebas finales y hoo sorpresa me arroja un error extraño que decía mas o menos asi:



    El asunto resultaba interesante ya que tengo otra aplicación web en ejecución en el mismo servidor y se conecta al mismo servidor de Base de datos y esta se ejecuto sin ningún problema...

    Después de mucho buscar, revisar y comparar mi servidor de pruebas con  le de mi cliente resolví el problema. El MySql provider no esta agregado por  defecto en los DBProviderFactories; esto sucede principal mente si usas la  integración de Msyql conector con Visual Studio que también fue la diferencia entre el programa que corría sin broncas y esta nueva aplicación Web. Agregarlo lo hace el instalador de MySqkConnector .NET; el cual tenia instalado en el equipo de pruebas y en mi servidor local pero no en le de mi cliente.

    La solución mas sencilla es conclusión la instalación del conector en el servidor resulta ser la solución mas optima descargando lo de la pagina de Mysql.com ; pero abra lugares que por las reglas del lugar no te permitan la instalación del conector que hacer entonces?, la solución es registrar tu mismo el dataprovider desde el  web.config con el siguiente código:

    <system.data>

        <
    DbProviderFactories>

            <
    add
    name=”MySQL Data Provider” invariant=”MySql.Data.MySqlClient”
    description=”.Net Framework Data Provider for MySQL” type=”MySql.Data.MySqlClient.MySqlClientFactory,
    MySql.Data, Version=5.1.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”
    />

        </
    DbProviderFactories>

    </system.data>



    Recuerda verificar las versiones del conector, asi como asegurarte de que la dll de MySql.Data se encuentre en la carpeta bin de tu aplicación.

    martes, 8 de junio de 2010

    ASP4 + MVC2: un refresco para el desarrollo web

    ¿Qué herramientas para el desarrollo web estás utilizando actualmente? ¿ASP.NET 2 quizás? Tal vez hace un par de años diste el paso a la 3.5. ¿Continúas programando sólo con Web Forms o ya descubriste MVC? Si hay un escenario dinámico para los desarrolladores, sin dudas es el que gira en torno a Internet. Por eso la ola de innovación que arrancó en Octubre pasado con Windows 7, y hoy nos alcanza con Visual Studio 2010 y Office 2010, no podía llegar sin novedades relacionadas con el desarrollo web. Los snippets de código para controles HTML, JScript y ASP.NET aceleran la construcción de código y hacen que sea más sencillo compartirlo; incluso pueden incluirse desde IntelliSense, que además ha mejorado entre 2 a 5 veces el tiempo de respuesta para manipular JScripts y soporta librerías JQuery. "Web Deployment Tool" te permite empaquetar toda la aplicación web para echarla a correr en IIS rápidamente, ya que incluye todo lo necesario y posibilita publicar en un click. Mientras realizas el deployment, el web.config se va adaptando automáticamente según las configuraciones de los servidores de debugging, stagging y producción. ASP.NET 4 y MVC 2 tienen más novedades para ti. ¡Descarga el instalador de la plataforma Web 2.0 ahora! Y disfruta de esta edición del MSDN Flash.

    miércoles, 19 de mayo de 2010

    Recuperacion de Bases de Datos MySql


    Hoy por la tarde me informaron de un problema, uno de los usuarios con privilegios de acceso al servidor Windows permitió que un 3ro que desarrollo una aplicación que se ejecuta en esta empresa instalara sin avisar a nadie un pack de aplicaciones conocido como appserver, es muy útil para que los novatos que se inician en la programación de PHP y MySql le configure el apache el PHP y el MySql; el único inconveniente es que esta persona no previo ni pregunto si se tenia ya una instalación de MySql en el servidor (yo ya tenia aplicaciones que desarrolle las cuales ya contaban con una correcta instalación de MySql) esta persona inicio la instalación de el pack appserver por lógica comenzó a arrojar errores en la ejecución por la otra instancia de MySql.


    Debido a los errores esta persona decidió desinstalar su Pack de aplicaciones el único inconveniente es que daño de manera definitiva la instalación estable que ya se tenia en el servidor; fue en ese momento que se informo todo lo sucedido por lo que me di a la tarea de buscar una solución.


    Que se debe revisar:

    1.- Archivos de MySQL tanto físicos como binarios de la base de datos


    Que la instalación se encuentre aun, esto se hace revisando el directorio donde se encuentra los binarios de MySql, por defecto se encuentran en:

    C:\Program Files\MySQL\MySQL Server 5.1

    Aunque si uno lo definió diferente durante la instalación uno tiene que recordarlo



    ahora bien si los binarios existen hay que revisar si los archivos físicos de la base de datos se encuentran aun en  el servidor puede puede darse el caso de que al des-instalar el paquete los hubiera borrado también; esto presento un verdadero reto, por ningún lado podía encontrar los archivos,  todo por que al instalar la base de datos no personalice la ubicación de estos archivos lo deje en la opción por defecto "instalation dir" o algo similar.


    Después de mucho navegar y de leer y releer el manual en línea del sitio de MySql.com encontré que supuestamente la ruta debía ser en el directorio de instalación el un subdirectorio llamado data; cual fue mi sorpresa al descubrir que dicho subdirectorio no existe.






    Podran imaginar mi sorpresa si en todos lados decia que debia estar hay; busque y rebusque por todos los directorios y no conseguía encontrar los archivos físicos de el servicio de MySql, intente buscar archivos con la terminación *.Frm o .opt ( que son terminaciones de los archivos fisicos de Mysql), dichos archivos no aparecían en los resultados de las búsquedas de sistema por ningún lado ni una ni otra terminación; esto incluso me llevo a pensar que la instalación  y des inflacionista del involucrado había terminado con mi información; también recordé que el archivo que almacena la mayor parte de la información se llama "ibdata" sin ninguna extencion pero aun así nada. 


    Estaba por desistir y aceptar que mi información había pasado al cielo cuando se me predio el foco acerca de revisar un instalación de MySql en un equipo de desarrollo y testing que tenia a la mano; cual fue mi sorpresa al ver que aun en un equipo con el MySQL funcionado la carpeta Data no se encontraba en la carpeta de instalación de MySql y que la configuración había sido la misma que la del servidor. Al tampoco poder encontrar  los archivos en la búsqueda sobre este equipo deduje que los archivos deberían permanecer ocultos y por eso no podía localizarlos el dilema era entonces donde estaban????.


    Como ya les mencione por mas que busque y busque ne la red no hallaba la ubicación de los ficheros o de la carpeta data que no fuese en el directorio de instalación en donde por cierto no los tenia mi servidor ni mi maquina de prueba; finalmente no supe de donde la respuesta llego hasta mi tome la maquina cliente y ejecute el administrador de MySQL que se inclye en le gui Tools  y procedí a revisar en sus configuraciones en la pestaña de general donde viene la ubicación de los archivos y la carpeta Data






    Y si final mente  la ruta donde se encontraban mis archivos físicos de la Base de Datos:




    C:\ProgramData\MySQL\MySQL Server 5.1\Data\






    Esto de alguna forma aseguraba que ya tuviera salvo parte o alguna información ahora ya que tenia eso lo primordial era iniciar el servicio de Mysql en el servidor, y así probar estos archivos; mas adelante explicare como hice esto; el paso a seguir es ver que paso con MySql en el server




       2. El servicio de MySql


    Una vez que se comprueba que los archivos se encuentran se procede a revisar si los servicios de MySql se están ejecutando de forma correcta; esto se revisa mediante la utilidad de servicios de Windows Server:








    Esta opción despliega una pantalla similar a esta:



    En esta buscaremos el servicio de MySql que es como se nombra por default, aunque también puede que se llame de otra manera si es que se le cambio el nombre durante la configuración de la instancia de MySql; el servicio como se ve se mostraba inactivo al iniciarlo me devolvía el siguiente mensaje:

    Este mensaje es bastante desconcertante y en verdad no dice mucho; adicional a esto intente usar la herramienta de configuración de instancias de MySQL; al terminar me aprecia que no podía ejecutar por un error:0 lo cual tampoco nos dice y según busque por Internet eta pantalla es muy odiada
    Ya antes me habían ocurrido errores al terminar de crear instancias de MySql pero nunca un error así general mente los problemas se originaban en la parte de apply security esos son fáciles de arreglar; ahora bien este error es un poco mas complejo busque por la red y encontré un par de respuestas raras, buscano entre el sitio de MySql y  otros encontré este video de youtube Puedes verlo aquí (puede que alguno le funcione), eso no funciono así que de pues de intentar mil y una cosas decidí terminar con todo rastro de MySql de mi servidor tome la carpeta de los datos (\data\) e hice uso de una de las vulnerabilidades que conozco de MySql para comprobar que mi información estaba completa y a salvo; de hecho este truco puede usarse para malos fines y les pido que no hagan mal uso de esto simple mente que les sea útil para en caso de que alguna ves se vean en la misma necesidad que yo de abrir los datos de MySql en otro manejador y ver la información de todas sus bases con el root de otro equipo, como se hace esto es muy sencillo.


       3. El Recuperando información de MySql explotando una vulnerabilidad del motor de base de datos.



    1. Realizar la Instalación de un servidor de MySql en otro equipo completamente distinto (Puede ser virtual).
    2. crear un instancia valida de MySql en la instalación nueva
    3. Identificar  o personalizar la carpeta destino de los archivos físicos de la nueva instalación
    4. Detener el servicio en la maquina alternativa y copiar los archivos del servidor dañado de la carpeta Data (C:\ProgramData\MySQL\MySQL Server 5.1\Data\ si es que es l miso que el mio)  a una unidad extraible y reemplazar los archivos del dañado con el de la nueva instalación.
    5. Iniciar el servicio de MySql 
    6. Si tenemos suerte y los archivos son compatibles que generalmente lo son y estos no se dañaron podremos acceder a la información del servidor dañado con las credenciales del nuevo servidor y realizar un respaldo de forma correcta de nuestra información de la forma en que mas nos acomode yo prefiero usar el MySql Administrator para estos menesteres pero es elección de cada persona.
      3. Instalación forzada de MySql como si fuera nuevo.

    Ahora bien con la información a salvo en mi respaldo podemos modificar cualquier cosa con respecto a MySql sin preocupación.

    Ahora bien ¿como eliminar la información que reside en nuestro equipo referente a MySql?

    La respuesta me llevo un rato buscarla y comprobar que Mysql una ves des instalado no dejara rastros en el registro ni nada parecido pero no, lo único que se requiere eliminar las carpetas que ya teníamos identificadas la carpeta de instalación y datos( en mi caso las carpetas "C:\ProgramData\MySQL\MySQL Server 5.1\Data\" y "C:\Program Files\MySQL\MySQL Server 5.1")

    Una ves eliminadas las carpetas procedemos a realizar una nueva instalación la cual se ejecuta sin ningún problema, cargamos nuestros respaldos según nos acomode en mi caso igual haciendo uso del MySql Administrator y Listo información recuperada y servidor levantado.

    Espero que esto les ahorre las horas que pase yo haciendo pruebas e investigando y recuerden que lo expresado aqui es para fines educativos .... y que yo no me responsabilizo de como lo utilicen... solo espero que les ayude como me ayudo a mi el saberlo..

    sábado, 8 de mayo de 2010

    Microsoft presenta Internet Explorer 9


    Microsoft presenta Internet Explorer 9
    IE9 Los estándares de la industria y las innovaciones se apoderaron del escenario en MIX10 a medida que Microsoft realizó una serie de anuncios que destacan el compromiso de la compañía con la interoperabilidad y el desempeño en el web. Dean Hachamovitch, Gerente General de Internet Explorer en Microsoft, presentó la versión preliminar de la plataforma Internet Explorer 9, que incluye mayor soporte para HTML5, gráficos acelerados por hardware y una nueva máquina JavaScript. Juntas, esas características permiten a los desarrolladores utilizar el mismo lenguaje markup y ofrecer aplicaciones web gráfica y funcionalmente superiores que aprovecharán el nuevo hardware para PC a través de un moderno sistema operativo.
    Microsoft también anunció que contribuirá al desarrollo de características y mejoras nuevas en el jQuery JavaScript Library y compartió el lanzamiento de nuevos kits de desarrollo de software (SDKs) para el Open Data Protocol (OData), los cuales permiten a los desarrolladores acceder con mayor facilidad a los datos desde la nube para crear aplicaciones web más atractivas en diferentes plataformas.
    Elevando las expectativas de los desarrolladores con aceleración por hardware y mayor interoperabilidad.


    Como parte de su compromiso con la interoperabilidad, Microsoft anunció su soporte para varias especificaciones HTML5, incluyendo CSS3, Scalable Vector Graphics (SVG), análisis XHTML y las etiquetas de video y audio que emplean códecs estándares en la industria (H.264/MPEG4 y MP3/AAC), entre otros. Asimismo, Microsoft demostró una nueva máquina JavaScript que utiliza los múltiples cores de los chips más modernos para administrar eficientemente los recursos computacionales y optimizar el desempeño del software en el web. Debido a que combina mayor interoperabilidad con la nueva máquina JavaScript y la tecnología Direct 2D, Internet Explorer 9 permite a los desarrolladores web brindar a los usuarios experiencias más completas, más rápidas y más consistentes.
    “Me alegra el compromiso de Microsoft con el HTML Working Group y con HTML5”, afirmó Philippe Le Hegaret, Director de Dominios en W3C.
    “Internet Explorer 9 es el primer navegador en tomar los patrones web estándares que los desarrolladores utilizan y hacerlos funcionar mejor en las PCs modernas a través de Windows”, dijo Hachamovitch.
    A partir de MIX10, los desarrolladores también podrán seguir de cerca el progreso de Microsoft y proporcionar retroalimentación directa sobre la versión preliminar de la plataforma Internet Explorer 9 mediante la evaluación de las nuevas actualizaciones de código cada ocho semanas hasta la disponibilidad de la versión beta. Los desarrolladores pueden descargar la versión preliminar de la plataforma Internet Explorer 9 en http://www.IETestDrive.com.

    “La capacidad de Internet Explorer 9 de permitir HTML5 acelerado por GPU es un logro en la computación visual”, dijo Drew Henry, gerente general de la unidad de negocios GeForce e ION GPU en NVIDIA Corp. “Debido a que aprovecha el poder de los NVIDIA GPUs, Internet Explorer 9 elimina las limitaciones para los desarrolladores web y les permite producir aplicaciones web de alto desempeño y gráficamente intensas”.
    Mayor soporte de desarrollo cliente a través de la jQuery JavaScript Library
    Como parte del compromiso de Microsoft con las comunidades de código abierto, el Vicepresidente Corporativo Scott Guthrie anunció que Microsoft invertirá recursos para contribuir al desarrollo de la jQuery JavaScript Library y así ayudar a mejorar el proceso de desarrollo de aplicaciones web basadas en estándares. Microsoft también se enfocará en ofrecer una mejor interoperabilidad entre ASP.NET y la jQuery JavaScript Library mediante la optimización de ASP.NET, a fin de que los desarrolladores de .NET puedan incorporar mejor las capacidades de jQuery. Asimismo, Microsoft promoverá y distribuirá de manera activa las versiones de la jQuery JavaScript Library a través de la incorporación de productos populares como Microsoft Visual Studio 2010 y ASP.NET MVC 2. Como primer paso, Microsoft proporcionará una máquina de plantillas al equipo de la jQuery JavaScript Library para simplificar las aplicaciones web.

    Innovadoras experiencias de usuario impulsadas por la nube


    Con el fin de permitir a los desarrolladores crear, en distintas plataformas, aplicaciones móviles y web que utilizan datos provenientes de la nube, Microsoft también presentó SDKs para OData, que es un enfoque hacia la portabilidad de datos basado en HTTP y Atom para varios lenguajes y plataformas, entre ellos .NET, Java, PHP, Objective-C (iPhone y Mac) y JavaScript. Además, Microsoft anunció la segunda versión Community Technology Preview (CTP) del producto Microsoft de nombre código “Dallas”, un mercado de información impulsado por la plataforma Windows Azure que brinda a los desarrolladores acceso a los conjuntos de datos de terceros para ser utilizados por las aplicaciones web y móviles. Con la disponibilidad de contenido y datos a través de un enlace OData por medio de “Dallas”, los desarrolladores pueden acceder a sus datos y comercializarlos bajo sus propios términos y precios, así como integrarlos en las aplicaciones para ofrecer una experiencia de usuario única.
    Los desarrolladores ya pueden aprovechar los más de 30 conjuntos de datos de proveedores de contenido, incluyendo NAVTEQ, Pitney Bowes Business Insight, Weather Central y Zillow.com, disponibles en el mercado de información “Dallas”. Los desarrolladores pueden acceder al SDK para OData en http://www.odata.org y descargar “Dallas” CTP2 en http://www.Microsoft.com/Dallas.

    Las noticias de MIX10 se pueden consultar en http://live.visitmix.com/press.