romny's profileTecnologias de la Inform...PhotosBlogListsMore Tools Help

Blog


    February 11

    Conectando C# con PostgreSql

    Hola, como están, este post es raro, no acostumbro ah vincularme con otros tecnologías si no estoy trabajando en ellas, pero un amigo me pregunto de como trabajar C# con PostgreSql, como sabes PostgreSql es un servidor de base de datos orientada a objetos cuya procedencia es de software libre.

    Investigando encontré un proveedor de datos para .NET llamado Npgsql, ya que como sabrán, no está dentro de los proveedores de datos predefinidos en .NET. Este proveedor funciona para versiones 7. Xxx de PostgreSql y posteriores. Tambien me descargue el PostgreSql 8.3.

    Despues de instalar el servidor de PostgreSql, se comienza a ver las diferencias con Sql Server, ya que este servidor se ejecuta en el puerto 5432.

    Lo primero es vincular las librerías correspondientes al poryecto.

    p2

    Despues es vincular los namespace al proyecto.

    using Npgsql;

    using NpgsqlTypes;

    using Npgsql.Design;

     

    Despues de crear una pequeña BD y de crear  una tabla con unos daticos. se hace la conexion y se prueba.

    p1

    y hace queda la aplicacion

    p3

     y aqui esta la demo.

    Bueno espero les guste.

    Romny Duarte

    February 10

    Lecturas sobre Scrum

    Bueno como andamos por haci decirlo " devorando Scrum ", quisiera darles unos datos de las lecturas que no pueden faltar si quieres saber mas sobre esta interesante metodologia, que esta tomando fuerza en el mundo del desarrollo.
     
    Este es un articulo  de Rodrigo Corral, uno de los impulsores de la comunidad Geeks.MS.
    El libro Agile Project Management with Scrum (Microsoft Professional) de Ken Schwaber, uno de los padres de esta metodologia
    Recopilario de articulos haciendo referencia a Scrum.
     
    Espero que les guste toda esta informacion.
     
     
    February 08

    Visión general del proceso SCRUM

    Visión general del proceso

     

    El resultado final se construye de forma iterativa e incremental.

     

    Al comenzar cada iteración (“sprint”) se determina qué partes se van a construir, tomando como criterios la prioridad para el negocio, y la cantidad de trabajo que se podrá abordar durante la iteración.

     

    1

     

     

    Los componentes y conceptos empleados en Scrum son:

     

    Las reuniones

     

    ·         Planificación del sprint: Jornada de trabajo previa al inicio de cada sprint en la que se determina cuál es el trabajo y los objetivos que se deben cubrir con esa iteración.

     

    Esta reunión genera la “sprint backlog” o lista de tareas que se van a realizar, y en ella también se determina el “objetivo del sprint”: lema que define la finalidad de negocio que se va a lograr.

     

    ·         Seguimiento del sprint: Breve reunión diaria para dar repaso al avance de cada tarea, y al trabajo previsto para la jornada.

     

     

     

    Sólo interviene el equipo, y cada miembro responde a tres preguntas:

     

     

    1.     Trabajo realizado desde la reunión anterior.

    2.     Trabajo que se va a realizar hasta la próxima reunión de seguimiento.

    3.     Impedimentos que se deben solventar para que pueda realizar el trabajo.

     

    ·         Revisión de sprint: Análisis y revisión del incremento generado. Esta reunión no debe tomarse como un “acontecimiento especial”, sino como la presentación normal de los resultados.

     

    2 

     

    Los elementos

     

    ·         Product backlog: Requisitos del sistema. Se parte de la visión del resultado que se desea obtener; y evoluciona durante el desarrollo.

     

    Es el inventario de características que el propietario del producto desea obtener, ordenado por orden de prioridad. Es un documento “vivo”, en constante evolución. Es accesible a todas las personas que intervienen en el desarrollo. Todos pueden contribuir y aportar sugerencias.

     

    El responsable del product backlog es una única persona y se le denomina: propietario del producto.

     

    ·         Sprint Backlog: Lista de los trabajos que realizará el equipo durante el sprint para generar el incremento previsto.

     

    El equipo asume el compromiso de la ejecución. Las tareas están asignadas a personas, y tienen estimados el tiempo y los recursos necesarios.

     

    ·         Incremento: Resultado de cada sprint.

     

    Se trata de un resultado completamente terminado y en condiciones de ser usado.

     

    Los roles o responsabilidades

     

    El grado de funcionamiento de Scrum en la organización depende directamente de estas tres condiciones:

     

    ·         Características del entorno (organización y proyecto) adecuadas para desarrollo ágil.

     

    ·         Conocimiento de la metodología de trabajo en todas las personas de la organización y las implicadas del cliente.

     

    ·         Asignación de responsabilidades:

     

    ·         Del producto.

     

    ·         Del desarrollo.

     

    ·         Del funcionamiento de Scrum

     

    Responsabilidad del producto: El propietario del producto

     

    En el proyecto hay una persona, y sólo una, conocedora del entorno de negocio del cliente y de la visión del producto. Representa a todos los interesados en el producto final y es el responsable del Product Backlog.

     

    Se le suele denominar “propietario del producto” y es el responsable de obtener el resultado de mayor valor posible para los usuarios o clientes.

     

    Es responsable de la financiación necesaria para el proyecto, de decidir cómo debe ser el resultado final, del lanzamiento y del retorno de la inversión.

     

    En desarrollos internos puede ser el product manager, o responsable de marketing… quien asume este rol.

     

    En desarrollos para clientes externos lo más aconsejable es que sea el responsable del proceso de adquisición del cliente.

    Responsabilidad del desarrollo: El equipo

     

    Todo el equipo de desarrollo, incluido el propietario del producto conoce la metodología Scrum, y son los auténticos responsables del resultado.

     

    Es un equipo multidisciplinar que cubre todas las habilidades necesarias para generar el resultado.

     

    Se auto-gestiona y auto-organiza, y dispone de atribuciones suficientes en la organización para tomar decisiones sobre cómo realizar su trabajo.

     

    Responsabilidad del funcionamiento de Scrum (scrum manager)

     

    La organización debe garantizar el funcionamiento de los procesos y metodologías que emplea, y en este aspecto Scrum no es una excepción.

     

    En el modelo de Scrum definido por Jeff Sutherland, esta responsabilidad se garantiza integrando en el equipo una persona con el rol de ScrumMaster.

     

    Considerando que las realidades de unas y otras empresas pueden ser muy diferentes, y que siempre que sea posible es mejor optar por adaptar las prácticas de trabajo a la empresa, y no al revés, en ocasiones puede resultar más aconsejable:

     

    ·         Que en lugar de una persona con la función de “ScrumMaster”, sean las personas y puestos más adecuados en cada organización los que reciban la formación adecuada y asuman las funciones correspondientes para cubrir esta responsabilidad.

     

    ·         Que al compromiso de funcionamiento del proceso se sume también la dirección de la empresa, con el conocimiento de gestión y desarrollo ágil; y facilitando los recursos necesarios.

     

    Scrum Manager designa por tanto, más que al rol, a la responsabilidad de funcionamiento del modelo. Puede ser a nivel de proyecto o a nivel de la organización; y en algunos casos resultará más apropiado un rol exclusivo (tipo ScrumMaster) y en otros, puede ser mejor que la responsabilidades de funcionamiento las asuman los responsables del departamento de calidad o procesos, o del área de gestión de proyectos…

    February 07

    SCRUM: Comienzos

    Hola que tal, otra vez por aca, retomando el habito de escribir y mas cuando es algo importante, en estos momentos estoy empezando a devorar todo lo refente con esta metodologia de desarrollo agil, primero por necesidad y segundo por que me gusta su modelo. Espero les agrade los post que pienso colocar.
     

    logo

     

    El modelo Scrum

     

    El origen

     

    Scrum es una metodología ágil para gestionar proyectos de software, que toma su nombre y principios de los estudios realizados sobre nuevas prácticas de producción por Hirotaka Takeuchi e Ikujijo Nonaka a mediados de los 80 (Ikujiro & Takeuchi, 1986). Aunque surgió como práctica en el desarrollo de productos tecnológicos, resulta válido en los entornos que trabajan con requisitos inestables, y necesitan rapidez y flexibilidad; situaciones habituales en el desarrollo de algunos sistemas de software.

     

    Scrum para software

     

    En 1993, Jeff Sutherland aplicó el modelo Scrum al desarrollo de software en Easel Corporation (Empresa que en los macro-juegos de compras y fusiones se integraría en VMARK, luego en Informix y finalmente en Ascential Software Corporation). En 1996 presentó, junto con Ken Schwaber, las prácticas que empleaba como proceso formal, para gestión del desarrollo de software en OOPSLA 96 (Schwaber & Sutherland, 1996). En 2001 formaron parte de los firmantes del Manifiesto Ágil. Las prácticas diseñadas por Schwaber y Sutherland para gestionar el desarrollo de software están incluidas en la lista de modelos ágiles de Agile Alliance.

    Introducción al modelo

    Scrum es una metodología de desarrollo muy simple, que requiere trabajo duro, porque la gestión no se basa en el seguimiento de un plan, sino en la adaptación continua a las circunstancias de la evolución del proyecto.

     

    Scrum es una metodología ágil:

     

    • Es un modo de desarrollo de carácter adaptable.

     

    • Orientado a las personas antes que a los procesos.

     

    • Emplea desarrollo ágil: iterativo e incremental.

     

    El desarrollo se inicia desde la visión general de producto, dando detalle solo a las funcionalidades que, por ser las de mayor prioridad para el negocio, se van a desarrollar en primer lugar, y pueden llevarse a cabo en un periodo de tiempo breve (entre 15 y 60 días).

     

    Cada uno de los ciclos de desarrollo es una iteración (sprint) que produce un incremento terminado y operativo del producto. Estas iteraciones son la base del desarrollo ágil, y Scrum gestiona su evolución a través de reuniones breves de seguimiento en las que todo el equipo revisa el trabajo realizado desde la reunión anterior y el previsto hasta la reunión siguiente. El protocolo de Scrum para Software definido por Jeff Sutherland y Ken Schwaber prescribe que las reuniones de seguimiento del sprint (iteración) sean diarias.

     

    Control de la evolución del proyecto

     

    Scrum controla de forma empírica y adaptable la evolución del proyecto, con las siguientes prácticas de la gestión ágil:

     

    Revisión de las Iteraciones

     

    Al final de cada sprint o iteración, se realiza una revisión con todas las personas implicadas en el proyecto. Este es el periodo máximo que se puede tardar en reconducir una desviación del proyecto o de las circunstancias del producto

     

    Desarrollo incremental

     

     

    En el proyecto, no se trabaja con diseños o abstracciones. El desarrollo incremental implica que al final de cada iteración se dispone de una parte del producto operativa que se puede inspeccionar y evaluar.

     

    Desarrollo evolutivo

     

    Como modelo ágil, es útil en entornos con incertidumbre e inestabilidad de requisitos. Intentar predecir en las fases iniciales cómo será el resultado final, y sobre dicha predicción desarrollar el diseño y la estructura del producto no es realista, porque las circunstancias obligarán a remodelarlo muchas veces. ¿Para qué predecir los estados finales de la estructura, arquitectura o diseño si van a estar cambiando? Scrum toma a la inestabilidad como premisa; por eso el protocolo de las prácticas de trabajo que se diseñen tiene que permitir la evolución continua sin degradar la calidad de la arquitectura, que se irá generando durante el desarrollo. Con Scrum, el diseño y la estructura del resultado se construyen de forma evolutiva. No se considera que la descripción detallada del producto, del servicio, de la estrategia o de la arquitectura del software (según el caso) deban realizarse en la primera “fase” del proyecto. El desarrollo ágil no es un desarrollo por fases.

     

    En la aplicación de Scrum para software, para evitar los problemas de degradación del sistema o de la arquitectura por la evolución continua del producto se deben incluir prácticas de refactorización en las tareas de diseño y codificación.

     

    Auto-organización

     

    Durante el desarrollo de un proyecto surgen circunstancias impredecibles en todas las áreas y niveles. La gestión predictiva confía la responsabilidad de su resolución al gestor de proyectos. En Scrum los equipos son auto-organizados, con margen de decisión suficiente para tomar las decisiones que consideren oportunas.

     
     
    October 21

    WPF Con Visual Studio Orcas Beta 2

    Bueno despues de haber descargado mas de 3.2 Gb de datos, ya tengo configurada mi maquina virtual con Visual Studio Orcas Beta 2 Team Suite, y bueno ha probarla con WPF y ver que cositas nuevas trae.

    Primero que nada ejectar la herramienta.

    Launch

    Despues vamos a crear nuestro poryecto de WPF y Buala, tenemos una nueva caracteristica y es que podemos ver los templates que se disponen dependiendo del Framework.

    proyecto

    Aqui tenemos nuestro proyecto de WPF.

    WPF app1

    Como es de logica tenemos nuestro Intellicense.

    WPF app2

    En esta pequeña demo vamos a crear un pequeñol boton.

    <Window x:Class="WPF_app.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="WPF app" Height="300" Width="300">
        <Button Width="200" Height="100" FontFamily="Consolas"
                FontSize="25" Background="LightGray" Foreground="White" Name="miBoton" Click="miBoton_Click">
            <DockPanel>
                <TextBlock>Boton</TextBlock>
                <Image Height="80" Source="Dibujo.jpg"></Image>
            </DockPanel>
        </Button>
    </Window>

     

    Tambien vamos a manejar un evento, y en esta version trae algo interesante y es que los metodos ya se crean solo, no hay necesidad de escribir todo como en VS2005. solamente nos preocupamos por la logica.

    WPF app3

    y aqui las imagenes de como quedo la app en wpf.

    WPF app4 WPF app5

    Seguire juganda con esta nueva beta ya que me demore descargandola.

    Shadow

    WPF - Remix 2007

    Post Echo a traves de Windows Live Writer.

     header_750x220_remix07

    Hola que tal, por aqui otra vez, si quieren tener unos importantes recursos de WPF esta es la ocacion. Resulta que los amigos de David Salgado y David Cardona, tienen una pagina del evento de Remix 2007 en español, lo importante de esto son la sesiones de Fundamentos de WPF y expression Blend y WPF para desarrolladores descargatelos y observa lo podera que es esta tecnologia.

    Shadow.

    August 28

    La poderosa Oficina

    Que puedo decir, solo que es la oficina ideal de los informaticos o los que tienen afines con la carrera.
     
     
     
     
    Muy bueno ciero. Fuente: M@atinX
    July 04

    Off Topic - Que superheroe eres - "Spider-Man (El Hombre Araña)"

    Revisando el blog de El Bruno,me encontre con la maravilla de aplicar un test para saber que heroe eres, y este  fue mi resultado , lo que me gusto fue lo de Eres inteligente, astuto, poco introvertivo y tienes gran poder y responsabilidad. JAJA.
     
     
    Tus resultados:
    Tu Eres Spider-Man (El Hombre Araña)
    Spider-Man (El Hombre Araña)
    65%
    Superman (Superhombre)
    55%
    Robin
    52%
    Batman
    45%
    Supergirl (Superchica)
    35%
    Wonder Woman (Mujer Maravilla)
    30%
    El Flash
    15%
    Green Lantern (Linterna Verde)
    15%
    Hulk
    10%
    Catwoman (Gatúbela)
    0%
    Iron Man (El Hombre de Hierro)
    0%
    Eres inteligente, astuto,
    poco introvertivo y tienes
    gran poder y responsabilidad.
    Chascar aquí para tomar "¿Qué Superhéroe es usted?" Concurso...
    July 03

    Frases que alimentan mi alma y a la vez la destruyen.

    "Las flores nacen, después se marchitan...
    las estrellas brillan, algún día se extinguen...

    Esta tierra, el sol, las galaxias y hasta el mismo gran Universo
    algún día también se destruían...

    Comparado con eso, la vida del hombre no es mas que un parpadeo,
    un escaso momento...

    En ese escaso momento, las personas nacen, ríen, lloran, luchan,
    son heridas, sienten alegría, tristeza, odian a alguien, aman a alguien.

    Todo en un solo momento.

    Y después, son abrazados por ese sueño eterno llamado muerte."

    May 03

    Silverlight vio la luz

    Hola que tal, bueno quiero decirles o comentarles que Silverlight salio a la luz, pero que es Silverlight, bueno es el nuevo nombre que se le dio a la tegnologia WPF/E (Windows Presentation Foundation / Everywhere) que viene en el Framework 3.0, WPF/E es una tecnologia que se hasocia a la experiencia de usuario a nivel web, a nivel de aplicaciones de escritorio se denomina WPF (Windows Presentation Foundation ), la cuestion es que se le cambio el nombre a WPF/E por Silverlight, en el evento echo por Microsoft llamado MIX 2007, se lanzo Silverlight 1.0 Beta y Silverlight 1.1 Alfa la diferencia que hay de la Beta a la Alfa es que la Beta se programa con javascript y la Alfa se programa con el Framework o sea un lenguaje de .NET. les dejo el link del portal Silverlight.net

    La imagen que lo explica todo

    hola como estan, despues de tanto tiempo vuelvo a actualizar mi blog, en esta ocacion les traigo una pequeña imagen en donde demuestra lo que pasa cuando se emprende un proyecto de desarrollo. chekenla.
     
    Imagen sacada de el blog de Percy Reyes
     
    December 01

    Reflexiones de un Programador

     
    Navegando por uno de los mejores portales de información relacionada con el mundo Microsoft me encontre en un blog una reflexion de los programadores que es para llorar, como dice en el post Leando y lloren. Leer Post.
     
    Shadow
    November 08

    Microsoft Soportara PHP

    En la Blogosfera esta este tema, que Microsoft y Zen se unieron para dar soporte a php con IIS.
     
    aqui estan los links para mas documentacion Port25 y Zen
    November 02

    Nuevas Cajas Para los Nuevos Productos Microsoft

    Hola, hay les dejo la imagen de como seran las cajas de las nuevos productos que Microsoft sacara al mercado.
     

     slideshow image slideshow image

      slideshow image

     

    October 28

    Crea Tu Web Site Con DotNetNuke

    Crea tu web site con DotNetNuke facilmente, DotNetNuke es una herramienta que utiliza ASP.NET 2.0, lo mejor de todo es que es Free, no te cuesta nada, utiliza tambien otra herramienta libre como lo es SqlServe 2005 Express Edition para el manejo de bases de datos, Microsoft tambien apunta dentro de sus desarrollo a implentaciones faciles y lo mejor de todo libres. Lo unico que necesitas es registrarte en la pagina del proveedor y listo. Prueben esta herramienta es muy interesante. 
     
    October 20

    Iniciar Servidor Web ASP.NET 2.0 aquí

    existe un extension del shell de Windows Explore que en la actualidad me esta dando facilidades a la hora de probar Web Sites rapidamente desarrollados en ASP.NET 2.0 si tener que abrir el sitio deste Visual Studio.NET, este shell fue desarrolado por Robert McLaws.
     
    Como funciona dicho shell, .NET 2.0 trae un Web Server y esta extencion del shell lo que hace es imbocar ese Web Server, dando asi facilidades a la hora de probar Web Sites.
     
    Para Agregar esta utilidad solo tienen que crear un archivo de registro(.reg) y colocar estas sentencias.
     
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\VS2005 WebServer]
    @="Iniciar Servidor Web ASP.NET 2.0 aquí"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\VS2005 WebServer\command]
    @="C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\Webdev.WebServer.exe /port:8080 /path:\"%1\""
     

     
    October 19

    Lectura - Microsoft Windows Server 2003

    En medida de mis nuevas obligaciones labores, me estoy leyendo un buen libro, ya lo habia leido pero estoy recordando conceptos que nunca caen mal.

    Shadow

    October 18

    Nuevo Trabajo - ENERCA S.A - E.S.P

    La sema pasada estube con un amigo dando un soporte a ENERCA S.A - E.S.P sobre Tecnologias Microsoft, el trabajo fue agoviador y por ratos extresantes, pero al fin se pudo resolver el problema que tenia la empresa.
     
    Gracias a ese soporte fue que me dieron trabajo en esta empresa, lo bueno es que es un trabajo en lo que a uno como futuro Ing de Sistemas le dara experiencia y mas en una empresa grande como lo es ENERCA S.A - E.S.P.
     
    Que voy hacer en la Empresa? Basicamente es sobre la plataforma tecnologica que ofrece Microsoft a las Empresas para manejo de datos e informacion, que es lo que se conoce como Windows Server System, tambien trabajare en desarrollo de software para la empresa usando .NET en todos sus sabores.
     

    Windows Server System

     
    Lo importante de esto es que me gusta lo que voy a hacer y que voy a coger experiencia, ya que es un factor clave a la hora laboral, desenme suerte.
     
    shadow
     
    October 17

    Los Programadores Matando un Dragon

    Novengando por los mis blogs preferidos encontre este post que me parece muy imortante compartirlo con ustedes y se trata de como losprogramadores matan un dragon, claro es un articulo sesgado por que parece que el que lo escribio tiene dudas o inconvenientes con el lenguaje .NET, pero es muy bueno.
     
    • Java - Llega, encuentra al dragón, desarrolla un framework para aniquilación de tragones en múltiples capas, escribe varios artículos sobre el framework… pero no mata al dragón.
    • .NET - Llega, ve la idea del desarrollador de Java y la copia, intenta matar al dragón, pero el bicho se lo come...
    • C - Llega, mira al dragón con mirada de desprecio, tira de espada, degolla al dragón, encuentra a la princesa… y la ignora para ver los últimos checkins del cvs del kernel de linux.
    • C++ - Crea un pincho básico y va juntando funcionalidades hasta tener una espada compleja que apenas consigue entender… mata al dragón pero se atasca en medio del puente por culpa de pérdidas de memoria (memory leaks)
    • COBOL - Llega, ve al dragón y piensa que es demasiado viejo para conseguir matar un bicho de ese tamaño y quedarse con la princesa, y entonces se va Pascal - Se prepara durante 10 años para crear un sistema de aniquilación de dragones… cuando llega el momento descubre que el programa sólo acepta lagartijas como entrada
    • VB - Monta un arma de destrucción de dragones a partir de varios componentes, salta encima del lomo del dragón, y en la hora H descubre que la espada sólo funciona durante las noches de lluvia…
    • PL/SQL - Recoge datos de otros matadores de dragones, crea tablas con n relaciones de complejidad ternaria, datos en tres dimensiones, OLAP, tarda quince años para procesar la información… y para entonces la princesa se volvió lesbiana.
    • Ruby - Llega con muchísima fama, diciendo que es el mejor en hacer cualquier cosa y cuando va a enfrentarse al dragón muestra una peliculita de el matando a un dragón… el dragón se lo come de puro aburrimiento.
    • Smalltalk - Llega, analiza al dragón y a la princesa, se da la vuelta y se pira: ellos son muy inferiores
    • shell - Crea un arma poderosa para matar dragones, pero en la hora H no recuerda como usarla
    • shell(2)- El tío se acerca al dragón con un script de dos líneas que mata, corta, destripa, empala, pica en pedacitos y empaca al bicho, pero a la hora de ejecutarlo el script aumenta, engorda, enfurece y pone alcohol en el fuego del dragón.
    • Ensamblador - Cree que está haciendo lo más correcto y eficiente… pero pone un A en lugar de un D y mata a la princesa para terminar follándose al dragón.
    • Fortran - Llega y desarrolla una solución con 45 mil líneas de código, mata al dragón, va al encuentro de la princesa… pero ella le llama tirillas y se va corriendo detrás del programador de java que era elegante y además es rico.
    • FOX PRO - Desarrolla un sistema para matar al dragón. Por fuera es precioso y funciona, pero por dentro está todo parcheado y cuando va a ejecutar el aniquilador de dragones recuerda que olvidó indexar los DBF.
    • ANALISTA DE PROCESOS - Se acerca al dragón con dos toneladas de documentación desarrollada sobre el proceso de matar un dragón genérico, desarrolla un DFD para liberar a la princesa y casarse con ella, convence al dragón de que es lo mejor para el y que no va a doler. Al ejecutar el proceso estima el esfuerzo y el tamaño del daño que causará con la firma del papa, de Buda y de Joan Manuel Serrat para el plano, y entonces compra dos bombas nucleares, 45 cañones, un portaaviones y contrata a 300 hombres armados hasta los dientes… cuando en realidad tan sólo necesitaría la espada que tenía en la mano desde el principio.
    • CLIPPER: Monta una rutina que carga un array de codeblocks para insultar al dragón, cantarle a la princesa, cargar la espada a memoria, moler al dragón, limpiar la suciedad, preparar un vaso de leche condensada con moras para la princesa, follar a la princesa, darse un baño, encender el coche, ponerle gasolina y volver para casa. A la hora de ejecutar recibe un “Bound Error: Array Access” y el dragón se lo come con patatas Lisp, donde el famoso caballero andante, tras hablar con numerosos expertos en matar dragones y modelar el conocimiento que ellos poseen programa el sistema y se da cuenta… de que se ha dejado algún paréntesis
    • HTML: Monta una web sobre espadas famosas usadas para matar dragones, pero se pasa los estándares W3C por el forro. Cuando se encara con el dragón descubre que el código no es compatible con su navegador, por lo que se queda compuesto y sin espada. El dragón se lo merienda como aperitivo. (Darkblade)
    • Prolog: Piensa que para matar al dragón necesita un arma. Busca en un catálogo 182014 armas. Para cuando la princesa muere de vieja ya ha logrado descubrir como fabricar todas las armas que empiezan por la A: Armas atómicas, Alabardas,Alfanges, Asesinos contratados, Armas blancas, Antiaéreos, Arcos, …
    • PHP: Crea una página web que al ejecutarla eliminará al $dragón tirando de una base de datos de armas en mysql y sobre un servidor apache. Sin embargo, se olvidó el Where en la query de delete y mata a la princesa, al dragon, a los campesinos, a la bruja, al hechicero y al propio programador.
    • BLOCKED SCRIPT El programador intenta matar al gran dragón verde que lanza fuego por la boca. Crean un script que borrará al dragón cuando carge una página web para unos segundos después crear unas damiselas que lancen flores y hagan soniditos de aplausos. Por desgracia no tuvo en cuenta la estructura Dom del lagarto, también conocido como Mozilla, y lo único que consigue es rellenar su consola de errores y que el libro de mozilla narre como acabó devorado.
    • ActiveX: Los programadores crean un tunel para entrar a la guarida del dragón desde el castillo y ejecutar un programa que matará al dragón desde una distacia segura y prudencial. El dragón descubre el tunel, se come a los trabajadores que cavaban, a los matadores de dragones y esclaviza a todos los siervos del castillo que pasan a ser sus esclavos. El castillo pasa a ser un lugar de cría de dragones lleno crías que manda en pop ups a otros castillos. Los restos poco apetitosos de los caballeros los mete en latas de Spam y manda también a otros castillos como advertencia.
    • Basic: Crean un arma capaz de matar a dragones de papel, pero por mucho que la perfeccionan descubren que no sirve para matar a ningún dragón más grande que una cría de caniche.
    • Matlab: Crean un bucle que calcula las trayectorias para lanzar una flecha gigante contra el dragón. El programa funciona perfectamente. Sólo faltan los voluntarios capaces de lanzar la flecha con la fuerza y puntería necesaria.
    • Modula 2: Implementa un método académicamente impecable para matar al dragón, pero no encuentra ninguna espada de verdad con la que usar dicho método.
    • Programador de videojuegos: Se pasa dos años programando una espada state of the art, con shaders y todo. A la hora de matar al dragón se encuentra con que la mitad de los caballeros no tienen fuerza para mover la espada. Luego alguien programa un parche que revela las escenas de sexo con la princesa.
    • CSS: Tras crear el caballero un contenedor y un supercontenedor para mantenerse centrado y estable a pesar de las envestidas del dragón, olvida definir un DOCTYPE correcto y el dragón se lo merienda cual pincho de calamares.
    • WEB 2.0: Desarrolla una forma de matar al dragon utilizando XML, tonos pastel y letras grandes, y permite que todos los guerreros del mundo opinen sobre la mejor forma de matar al dragon con un sistema de tags y puntuaciones. En medio de la discusión, una horda de trolls revienta la convencion y mueren todos.
    • Consultor externo: Aconseja una estrategia planificada con un incremento progresivo de medios y personal empleado, dosificado a partir de un comite de expertos internos y externos que se reuniran con periodicidad bimensual para analizar los informes de progreso. Una actitud proactiva debe ser impulsada en general en la seleccion de personal, asi como un buen ambiente interno. De hecho su propia empresa tiene expertos especializados en la seleccion de personal de programacion y en la dinamizacion de ambientes laborales. Una ciudadela de programacion es lo mas adecuado para dar estabilidad y solidez a la empresa. Conviene que se asuma desde el principio que el gasto de formacion de personal no debe ser cicatero, si queremos que la cosa avance, asi como que el sistema de pruebas debe de estar estandarizado y documentado para cada programa, para evitar sorpresas indeseables de ultima hora. Si en el transcurso del proyecto se produjera la extincion de los dragones o de las princesas, ya fuera por la desaparicion de su entorno natural por deforestacion o sepultamiento bajo informes documentados o por el advenimiento de la revolucion francesa, entonces habria que redirigir el proyecto-ciudadela a los canales publicos de reconversion industrial de urgencia social, para lo cual seria conveniente un comite de expertos internos y externos que se reunieran con periodicidad bimensual para establecer las politicas de reconversion y los ajustes necesarios a la luz de los informes de progreso.
    • El programador de Ajax: Prepara una Interface para mentenerse alejado del Dragon y Atacar. Arma la Espada de DIV’s y viste a su caballero de hermosos CSS’s y lo manda a combatir. Cada vez que su caballero necesitaba algo, lo solicitaba y recibia inmediatamente lo que necesitaba, super armas, cambio de armaduras, invisibilidad, etc etc. Pero el dragón *** con unos escupitazos de fuegos crea una Firewall que hace lento al caballero Ajax. y de aburrido se lo come y lo caga al lado de Web 2.0.
    • [Fuente del articulo]
    October 10

    Trabajando con Datasets en C# 2.0 usando Visual Studio.NET 2005

    Hola que tal, hace bastante tiempo que no trabaja en mi blog, lo eh echo por múltiples ocupaciones.

    Pero en todo caso, hoy le voy a hablar sobre como trabajar con datasets en C# 2.0 + Visual Studio.NET 2005.

    Como primera medida les puedo decir que C# 2.0 a cambiado y se ah echo mas productivo, ya no se necesita hacer muchas líneas de código para hacer lo que necesitamos.

    Para trabajar con DataSets necesitamos una base de datos y obviamente un servidor de base de datos en donde tenemos nuestra base de datos, vamos a trabajar con SQL Server 2005 y la popular base de datos Northwind de SQL Server 2000 adaptada para SQL Server 2005, en un anterior post demostré como trabajar con esta base de datos ya que SQL Server 2005, no trae esas bases de datos.

    1. Abra el Visual Studio 2005. Seleccione el menú Archivo / Nuevo Proyecto para crear un nuevo Proyecto según la siguiente figura. Note que el lenguaje es el Visual C#, pero si usted quiere crear en Visual Basic no hay ningún problema ya que los pasos son los mismos.

     

    2. A continuación presione el botón Aceptar. Enseguida será creado el formulario Form1, que es el default. Renómbrelo como DataSets.

    3. Cuando monta un formulario conteniendo una fuente de datos, existe una barra de Navegación que está a asociada a la fuente de datos proporcionando nuevas Funcionalidades, especialmente de navegación en los registros. El primer paso es montar una fuente de datos, por lo tanto, seleccione el menú Datos / Mostrar Orígenes de Datos. En el VS.Net 2005 el concepto de fuente de datos cambió, ya que en esta ventana de Orígenes de Datos usted define un conjunto de informaciones que podrán ser usadas en todo el proyecto.

     

    4. Haga clic en Agregar Nuevo Origen de Datos. Note que la ventana muestra las opciones Para que se seleccione la fuente formada por un Base de Datos, un Web Service o un Objeto. Seleccione Base de Datos y haga clic en Siguiente

     

    5. Aquí tenemos la parte de conexión con el banco de datos. En este momento haga Clic en Nueva Conexión para definir una nueva conexión, suministre todos los Datos necesarios y pruebe la conexión. Observe el nombre del Data Source al usar El Microsoft SQL Server (SqlClient), ya que es él que hace el acceso al SQL Server 7 o superior. El banco de datos a ser usado es el Northwind.

     

    6. Finalmente, haga clic en el botón aceptar y observe como quedó la string de Conexión.

     

    7. Haga clic en el botón Siguiente y deje el checbox seleccionado para que esta string de conexión sea almacenada en el archivo de configuración con el propósito de facilitar el acceso y el uso.

     

    8. Haga clic en Siguiente para exhibir la lista conteniendo todos los objetos del banco de datos Northwind. Seleccione la tabla Products con algunos campos. Preste atención al nombre del DataSet que será generado. Haga clic en Finalizar para terminar el proceso.

     

    9. Vea la ventana Orígenes de Datos conteniendo la fuente de datos seleccionada en los pasos anteriores. Una de las grandes facilidades es que se puede definir para cada campo cómo será que dicho campo le aparecerá al usuario, así como la tabla, que es DataGridView, Details o Customize.

     

     

    10. Después arrastre la tabla Products hacia dentro del cuerpo del formulario y vea que los datos son exhibidos de acuerdo con el tipo definido en la exhibición. Si es un DataGridView será exhibido un GridView, si es un Details será exhibido como detalles de la tabla.

     

    11. Esta operación montó en el pié de página varios controles que son: el NorthwindDataSet, el ProductsTableAdapter, el ProductsBindingSouce y el ProductsBindingNavigator, el que es el control asociado a la barra de navegación es el BindingNavigator.

     

    12. Ejecute este formulario y navegue en los registros a través de la barra de navegación. Observe aún que contiene los íconos de Agregar Nuevo, Borrar y Guardar, los

    que implementan dichas funcionalidades directamente en el control evitándole muchos códigos al desarrollador.

     

    De esta forma, podemos trabajar con DataSets, desde Visual Studio.NET 2005 con C# 2.0 sin usar ni una línea de código, proporcionando una mayor Performance, agilidad y calidad en las aplicaciones.

    Espero les haya gustado, esta aplicación de ejemplo, seguiremos posteando sobre esta clase de controles y funcionalidades que trae esta versión de Visual Studio.NET 2005.

    Shadow