Archivo

Archivo para 31 octubre 2008

[SQL]Procedimientos almacenados paso a paso

octubre 31, 2008 31 comentarios

Un procedimiento almacenado (store procedure) no es más que una secuencia ordenada de instrucciones T-SQL, que pueden recibir y proporcionar parámetros provistos por el usuario y se pueden guardar en el servidor con un nombre, para posteriormente se invocados y ejecutados, por lo regular desde una aplicación (Escritorio o Web). Desde la versión 2005, se incorpora la posibilidad de utilizar procedimientos almacenados usando el CLR de .NET. Es decir tenemos dos tipos de procedimientos almacenados.

Un procedimiento almacendado CLR es una referencia a un método de un ensamble (dll) de .NET Framework que puede aceptar y devolver parámetros suministrados por el usuario.

Ventajas de usar SP

  • Compilación: La primera vez que se invoca un SP, el motor lo compila y a partir de ahí, se sigue usando la versión compilada del mismo, hasta que se modifique o se reinicie el servicio de SQL. Esto siginifica que se tendrá un mejor rendimiento que las consultas directas que usan cadenas con las instrucciones T-SQL, que se compilan cada vez que se invocan.
  • Automatización: si tenemos un conjunto de instrucciones T-SQL, las cuales queremos ejecutar de manera ordenada, un SP es la mejor manera de hacerlo.
  • Administración: cuando realizamos aplicaciones con un gran numero de lineas de código, y queremos hacer cambios, solo implica modificar un SP y no toda la aplicación, lo que significa solo cambiamos los SP en el servidor y no tenemos que actualizar la aplicación en todos los equipos cliente.
  • Seguridad: una parte importante es que a los usuarios de nuestra aplicación, solo les proporcionamos los permisos para ejecutar los procedimientos almacenados y no el acceso a todos los objetos de la base. Es decir, si en nuestra aplicación encuentran una vulnerabilidad como SLQ Injection no se podrá explotar ejecutando SQL directamente.
  • Programabilidad: Los SP admiten el uso de variables y estructuras de control como IF, Bucles,  Case, etc. además del manejo de transacción y permite controlar excepciones. Y cuando trabajamos con SP CLR podemos hacer uso de cualquier lenguaje .NET como lo son C# y VB.NET.
  • Trafico de Red:  Pueden reducir el trafico de la red, debido a que se trabaja sobre el motor (en el servidor), y si una operación incluye hacer un trabajo de lectura primero y en base a eso realizar algunas operaciones, esos datos que se obtienen no viajan por la red.

Creando un Procedimiento almacenado

Para crear un procedimiento almacenado solo basta con ir a la base de datos desplegar el árbol hasta la parte de programación y luego en procedimientos almacenados y damos clic derecho en nuevo procedimiento almacenado como se ve en la siguiente figura:

image

Lo cual genera el siguiente código:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName>
    -- Add the parameters for the stored procedure here
    <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
    <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END
GO

Es aquí en donde editamos nuestro procedimiento como mejor nos interese, en este caso usando la base de datos Northwind, crearemos un SP sencillo que queda más o menos así:

USE [Northwind]
GO

CREATE PROCEDURE [dbo].[GetAllEmployees]
    -- Add the parameters for the stored procedure here
    @LastName nvarchar(50),
    @FirstName nvarchar(50)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    SELECT  LastName, FirstName, Title
    FROM dbo.Employees
    WHERE FirstName = @FirstName AND LastName = @LastName
END

En este sencillo ejemplo, sólo devuelve el empleado especificado (nombre y apellidos), y el titulo a partir de una vista. Este procedimiento almacenado acepta coincidencias exactas de los parámetros pasados.

Para ejecutar el código debemos hacerlo de esta manera:

EXEC dbo.GetAllEmployees 'Davolio', 'Nancy'

Cómo lo consumimos desde una aplicación en .NET, pues de esta manera:

static void Main(string[] args)
        {
            //Creamos una nueva conexion.
            SqlConnection miConn = new SqlConnection("Data Source=NORTABLEPC\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");

            //Creamos un nuevo comando
            SqlCommand miComm = new SqlCommand();
            //Le asignamos la conexion.
            miComm.Connection = miConn;
            //especificamos que el comando es un stored procedure
            miComm.CommandType = System.Data.CommandType.StoredProcedure;
            //y escribimos el nombre del stored procedure a invocar
            miComm.CommandText = "dbo.GetAllEmployees";
            //Creamos un nuevo parametro
            SqlParameter paramLastName = new SqlParameter();
            paramLastName.ParameterName = "@LastName";
            paramLastName.SqlDbType = System.Data.SqlDbType.NVarChar;
            paramLastName.Value = "Davolio";

            miComm.Parameters.Add(paramLastName);

            SqlParameter paramFirstName = new SqlParameter();
            paramFirstName.ParameterName = "@FirstName";
            paramFirstName.SqlDbType = SqlDbType.NVarChar;
            paramFirstName.Value = "Nancy";
            miComm.Parameters.Add(paramFirstName);
            //Y los agregamos a la coleccion de parametros del comando myComm.Parameters.Add(myParam) 'Creamos un nuevo DataAdapter con nuestro comando.
            SqlDataAdapter miDA = new SqlDataAdapter(miComm);
            //Creamos un dataset para soportar los datos devueltos por el stored procedure
            DataSet EmpleadosDS = new DataSet();
            //Pedimos al Data Adapter que llene el dataset (Esto llama a nuestro comando)
            miDA.Fill(EmpleadosDS);
            //Y lo mostramos por pantalla

            foreach (DataRow row in EmpleadosDS.Tables[0].Rows)
            {
                Console.WriteLine(row["LastName"].ToString() + " " + row[1].ToString() + " " + row[2].ToString());
            }
        }

Procedimientos Almacenados con CLR

En Common Language Runtime (CLR), los procedimientos almacenados se implementan como métodos estáticos públicos en una clase de un ensamblado de Microsoft .NET Framework. El método estático se puede declarar como void o puede devolver un valor entero. Si devuelve un valor entero, éste se trata como el código devuelto desde el procedimiento. Los parámetros que se pasan a un procedimiento almacenado CLR pueden ser cualquiera de los tipos nativos de SQL Server que tengan un equivalente en código administrado. Para que la sintaxis Transact-SQL cree el procedimiento, estos tipos se deben especificar con el equivalente del tipo nativo de SQL más adecuado.

Ejemplo:

Para crear un SP con integración del CLR vamos a usar VS, y creamos un Proyecto de tipo SQL, al que llame StoreProcedure_Demo, lo primero que hace Visual Studio es preguntar el origen de datos, como se ve en la figura siguiente:

image En donde seleccionamos Microsoft SQL Server (SqlClient) y damos clic en continuar. Ahora toca el turno de elegir el Servidor

imageEn donde yo selecciono el servidor NORTABLEPC\SQLEXPRESS, y la base de datos Northwind, luego verifico la conexión y si todo va bien, por ultimo nos pedirá que si queremos habilitar la integración con el CLR, damos clic y listo. Luego damos clic derecho en nuestro proyecto Agregar->Procedimiento almacenado, como se ve en la figura:

image

Al procedimiento lo llamamos: GetEmpleado, damos y damos clic en Aceptar. Ahora vamos a escribir el siguiente código:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

public partial class StoredProcedures
{
    [Microsoft.SqlServer.Server.SqlProcedure (Name="GetEmpleado")]
    public static void GetEmpleado()
    {
        // Inserte el código aquí
        SqlContext.Pipe.Send("Hola Mundo! son las : " + System.DateTime.Now.ToString() + "\n");
        using (SqlConnection connection = new SqlConnection("context connection=true"))
        {
            connection.Open();
            SqlCommand command = new SqlCommand("SELECT LastName, FirstName FROM Employees", connection);
            SqlDataReader reader = command.ExecuteReader();
            SqlContext.Pipe.Send(reader);
        }

    }
};

En el código anterior solo mandamos un mensaje, y devolvemos un select sencillo de los empleados, Bien para que esto funcione, debemos generar una solución de nuestro proyecto y después una implementación del mismo, esto permite que automáticamente se envié la dll a nuestra base de datos con el nombre de nuestro proyecto, y al mismo tiempo agrega el procedimiento llamado GetEmpledo

image

Ahora solo nos resta ejecutar nuestro procedimiento con la siguiente instrucción:

EXEC dbo.GetEmpleado

Lo interesante de esto, es que una vez que ya hemos llamado al SP, cuando se ejecute de nuevo, ya no se compilara instrucción por instrucción solo se llama al dll y listo, el resultado de ejecutarlo es el siguiente, por un lado manda el resultado y por otro el mensaje de “hola mundo” con la hora de la maquina, como se ve en la figura:

image image

Hasta aquí dejamos este post, ya veremos en otro como ejecutar dichos procedimientos almacenados desde una aplicación. Espero que les sea de utilidad este post  y recuerden si lo creen conveniente tomen 5 min, para votar por este blog en la siguiente página : http://www.blogit.ms/ , voten por http://mspnor.wordpress.com

Saludos!!!

Etiquetas de Technorati: ,,

Video ‘Guitar Hero’ – World Tour

octubre 29, 2008 Deja un comentario
Etiquetas de Technorati: ,,,
Categorías:Games, General, Videos, Xbox, Xbox 360

Descarga Visual Studio 2010 y .NET Framework 4.0 CTP

octubre 28, 2008 1 Comentario

Acaba de ser liberada el primer CTP del Visual Studio 2010 y .NET Framework 4.0 en una imagen de Virtual PC, para poder ejecutarlo es necesario contar con Virtual PC SP1, Windows XP o superior y 7.5GB disponible en el disco. 

f2b64570-4956-4687-b2d7-58842cabbbe8

Descargar Visual Studio 2010 y .NET Framework 4.0 CTP

 

El Futuro de C# – Conferencia

octubre 28, 2008 Deja un comentario

Si por extrañas razones ajenas a tu voluntad no pudiste asistir al PDC 2008 igual que yo :P , y quieres saber que es lo que te perdiste, gracias a channel 9 podemos ver las conferencias de lo que se va presentado día con día, y esta ves se trata de “The Future of C#” en la que Anders Hejlsberg Él es el jefe de diseño de  C # y participante clave en el desarrollo de la de Microsoft. NET Framework. Desde su lanzamiento inicial en 2000 nos habla de las nuevas características de la versión 4.0 de C#.

image

Aquí la URL para acceder a este vídeo.

http://channel9.msdn.com/pdc2008/TL16/

Etiquetas de Technorati: ,,
Categorías:C#, C# 4.0, PDC 2008

Servicios Live para el Consumidor – PDC 2008

octubre 28, 2008 Deja un comentario

Así es amigos, dentro del PDC 2008 (Professional Developers Conference) están dando mucho de que hablar y mucho de que postear, al igual que muchas ganas de probar nuevos productos, SO, Azule, etc. y claro desarrollar con estas nuevas tecnologías. En este evento claro que hay personas con las que puedo platicar y precisamente es nuestro amigo Rubén Mugártegui quien ha proporcionado información que se esta dando allá.

image

Esta vez, toca el turno para hablar de los Servicios Live, entre ellos lo que esta en versión Beta, que se trata de un servicio que permite sincronizar documentos, medios, archivos y datos de aplicaciones a través de múltiples PCs y dispositivos, y está disponible como una prueba piloto abierta en la página http://www.mesh.com para Windows XP, Windows Vista, Mac OS X y Windows Mobile.

diagram_top

A continuación un fragmento de lo que nos cuenta Rubén sobre los Servicios Live para el consumidor.

Durante PDC Microsoft demostró varias capacidades de la plataforma Live Services, incluyendo la forma en que los desarrolladores pueden crear aplicaciones y ofrecer experiencias integrales que se pueden extender a más de 400 millones de usuarios de los servicios Windows Live de la compañía, tales como Windows Live Hotmail y Windows Live Messenger. Microsoft también enfatizó que su plataforma Live Services es el medio por el cual productos como Windows Live, Office Live y Xbox LIVE brindan experiencias que abarcan más allá del nivel de una sola PC, dispositivo móvil o la Web, y que estas mismas capacidades ahora están disponibles para desarrolladores a través de su plataforma Live Services.

“Sin duda estamos en un gran momento de innovaciones tecnológicas para el futuro, software como Windows 7 y servicios Live para el consumidor representarán la nueva era digital, para la cual debemos prepararnos. Hoy tenemos Windows Vista, un sistema operativo mejorado que permite crear aplicaciones con una experiencia muy rica para el usuario y mejora la productividad tanto para el escritorio como para Internet y va preparando el camino para una futura adopción del sistema operativo, que está en etapa de desarrollo, ya que fue diseñado bajo la misma plataforma de Windows Vista, lo cual hará mucho más fácil la transición” comentó Lozada.

      La experiencia del usuario final es el principal foco en el desarrollo de aplicaciones altamente interactivas para Windows XP y Windows Vista y permite a los usuarios finales aprovechar estas aplicaciones en cualquier dispositivo que sea de uso común en su vida diaria. Falta ver que viene con Windows 7 (del que ya hablaremos en otro post).

Office 14 = Office Web Applications

octubre 28, 2008 1 Comentario

Siguiendo con todas estas ola de nuevas tecnologías que se estás mostrando en estos momentos en el PDC 2008 en los Ángeles, toca el turno de Office, y si bien es un tema bastante interesante en lo personas, ya que últimamente (2 semanas más o menos), que me estoy peleando un objetos de Office (Word, Power Point, Excel), para manipulación de eventos, validaciones, etc.. Al momento de enterarme de lo que viene con Office 14, se me ha dibujado una sonrisa en el rostro :D , y esto por todo lo que les ofrecerá tanto a usuarios como a desarrolladores.

La idea principal de Microsoft Office Web Applications va más allá de un fácil manejo sobre los tipos de documentos Office (Word, Power Point, Excel y OneNote), sino que se trata de la visualización, edición y colaboración entre las 3 grandes plataformas con las que convivimos día a día que son, la PC, los móviles y la Internet.

Una característica importante de esto es que Web Applications tendrán características multiplataforma, de manera que podremos trabajar con nuestros documentos desde Internet Explorer, Firefox o Safari. Por supuesto, por debajo vamos a tener una plataforma de sincronización perfecta que nos permitirá trabajar con nuestros documentos en los tres entornos comentados, sin pérdida de datos y con actualización instantánea de datos.

Aquí unas imágenes de lo que al parecer es un archivo de Office que se muestra en los Exploradores IE y Firefox.

191-thumb192-thumb

Si bien esto lo podemos lograr hoy en día modificando algunos registros como para poder ver documentos de Office en el IE7 como se muestra a continuación:

image

Será fantástico ver como es el funcionamiento, y el rendimiento. Me intriga saber muchas cosas sobre lo que se podrá hacer. Por el momento a esperar que nuevas noticias nos tienen los señores que están presentando el PDC 2008.

Etiquetas de Technorati: ,,,,

[C#]Obtener los nombres de una Enumeración (enum)

octubre 28, 2008 2 comentarios

Muchas veces, por extrañas ideas, o requerimientos de algún cliente, o que se yo, tenemos la necesidad de obtener los nombres de una enumeración, o en algunos casos cuando trabajamos con los objetos de Office, necesitamos recorrer algunas de sus enumeraciones por ejemplo la de los Dialogos, tal vez para verificar que la que un usuario selecciono se  la de ayuda, no sé, se me vienen muchas ideas a la cabeza.

Pero hagamos caso del nombre del post, vamos a ver como recorrer u obtener los nombres de una enumeración, para esto hacemos uso de un método que pertenece a la Clase Enum, que se llama GetNames(). Enum.GetNames(Método) recupera una matriz con los nombres de las constantes de una enumeración especificada.

Pues bien basta de rollos y veamos un ejemplo:

1. primero creamos una enumeración de ejemplo, más o menos así:

public enum example
        {
            uno,
            dos,
            tres,
            cuatro,
            cinco
        }

(muy ilustrativo el ejemplo, verdad? jajaja.

2. luego pues nada solo hacemos uso de Foreach y lo recorremos de la siguiente manera:

foreach(string nombres in Enum.GetNames(typeof(example)))
           {
               Console.WriteLine(nombres);
           }
           

Listo!, así de fácil. esto nos arroja como salida en una aplicación de consola lo siguiente

image

Si alguien trabaja con objetos de Word, puede hacer lo siguiente:

static void Main(string[] args)
        {   
            foreach(string nombres in Enum.GetNames(typeof(Word.WdWordDialog)))
            {
                Console.WriteLine(nombres);
            }
        }

Etiquetas de Technorati: ,,,

Solo recuerden agregar la dll, y colocar lo siguiente:

using Word = Microsoft.Office.Interop.Word;

Bueno espero que les ayude este ejemplo. Saludos!!

Categorías:C#, Ejemplos, Tips

C# 4.0 más cerca de lo que parece

octubre 28, 2008 Deja un comentario

Como muchos ya saben, en esta semana en el PDC 2008, se están mostrando las nuevas tecnologías Microsoft que están por venir, y claro que C# no se puede quedar a tras, así que uno de los padres y arquitecto Anders Hejlsber ha dado el día de ayer un platica sobre la nueva versión de C#, que por lo que puedo leer en algunos blogs, de los presentes en Los Ángeles, se muestran las características de C# 4.0.

Así que, como seguramente cuando con compañeros de trabajo, escuela o conocidos del mundo de desarrollo con .NET, platicaremos, discutiremos o rechazaremos las características de este lenguaje aquí una breve reseña de lo que esta por venir.

Programación Dinámica

C# tendrá un aseria de características dinámicas que permita esta programación dinámica, que son:

  • Objetos tipados de manera dinámica. La clave estará en una nueva palabra clave que aparece en escena: dynamic.
  • Mejorada la interoperabilidad COM.
  • Optinal and named parameters.
  • Co-and Contra-Variance

Tendremos un nuevo runtime para C# 4.0 que nos habilitará esta programación dinámica sobre la base de innovaciones ya existentes como los árboles de expresión y las expresiones lambda de C# 3.0, pero añadiendo nuevas innovaciones:

  • Dynamic trees.
  • Dynamic Dispatch invocer.
  • Call Site Caching.

Todas las características dinámicas de C# 4.0 vendrán en un nuevo ensamblado: System.Dynamic.

Para obtener más detalle, les recomiendo visiten los siguientes link’s.

C# 4.0…el futuro ya está aquí!

sección C# future de MSDN Code Gallery.

Etiquetas de Technorati: ,,
Categorías:Betas, C#, C# 4.0

Videos sobre SQL Server para principiantes

octubre 26, 2008 1 Comentario

Como siempre, además de la teoría no esta de más un poco de ayuda audio-visual, así que aquí una serie de videos para principiantes sobre SQL Server. La información sirve tanto para principiantes como para los que estén un poco familiarizados con bases de datos, estas lecciones ayudan a familiarizarnos mejor con SQL Server 2005 Express.

Introduction

Designing Tables

Database Functions

Creating and Using Reports

Database Security

Database Management

Publishing to the Web

La serie de videos incluyen casi 9 horas., así que espero que les sea de utilidad. Si los videos están en ingles, pero recuerden que son video tutoriales, por lo que no es tan difícil entender.

Iniciando en SQL Server 2005

octubre 26, 2008 1 Comentario

Buen día, como ya saben los que acostumbran a leer el blog, estoy participando en Blog IT, en la categoría de SQL Server, y es por eso que escribiré unos cuantos post para aprender un poco sobre la versión 2005 y 2008 de SQL Server.

Por el momento ya estoy instalando SQL Server 2008, pero como lo dice el post, por el momento vamos a ver que es lo que necesitamos para trabajar con SQL Server 2005, y como saben lo primero es la instalación, así que aquí va la información:

bb308899_expressdc_SQL_bgnd

 

 

 

 

Antes de Instalar

Antes de iniciar con una Instalación de SQL Server 2005, debemos percatarnos de tener instalados ciertos requerimientos que en primer termino tenemos la version 2,0 .NET Framework´, así que lo instalan primero.

Desinstalando las versiones beta

Si son de las personas que trabajaron con versiones beta’s, o CTP de SQL Server 2005, Visual Studio 2005 y .NET Framework

Descargar e instalar SQL Server 2005

Hay varias descargas disponibles de SQL Server 2005 Express Edition que le permiten personalizar la instalación. Podemos, ver  la página del producto Comparación  para obtener más detalles sobre cada uno de los paquetes de descarga que tiene Microsoft SQL Server.

Instalación de Microsoft SQL Server 2005 Express Edition

Microsoft SQL Server 2005 Express Edition es gratis, fácil de usar. Integrado con Microsoft Visual Studio 2005, SQL Server Express hace que sea fácil desarrollar aplicaciones controladas por datos que son ricos en la capacidad de ofrecer una mayor seguridad de almacenamiento, y  rápidos de implementar. SQL Server Express es gratis y puede ser fácilmente actualizado a las versiones más sofisticadas de SQL Server.

Download * (36.5 MB)

SQL Server Management Studio Express

SQL Server Management Studio es un entorno integrado para obtener acceso a todos los componentes de SQL Server, configurarlos, administrarlos y desarrollarlos. SQL Server Management Studio combina un amplio grupo de herramientas gráficas con una serie de editores de script para ofrecer acceso a SQL Server a programadores y administradores de todos los niveles de especialización. Antes de instalar SQL Server Management Studio Express, debe instalar MSXML 6.0.

Download ** (43.1 MB)

Instalación de componentes adicionales

Además de las características y los componentes que se instalan con  Microsoft SQL Server, también puede instalar los siguientes componentes:

  • SQL Server 2005 ejemplos

La base de datos de ejemplo AdventureWorks y ejemplos de programación con SQL Server Express, son complementos que no se instalan con SQL Server Express. Para obtener más información acerca de cómo trabajar con SQL Express, debemos descargar los ejemplos.

Download (25.4 MB)

  • Libros en Pantalla de SQL Server 2005

Éstos son los Libros en pantalla de Microsoft SQL Server 2005 Express Edition (SQL Server Express). Esta documentación le ayudará a entender SQL Server Express. Para saber más acerca de SQL Server Express, haga clic en el siguiente vínculo.

Download (135 MB)

Registro

Si Registramos de SQL Server 2005 Express Edition recibiremos beneficios adicionales  como descargar gratuitamente las imágenes de Corbis. Para obteber más información acerca de los beneficios visita la siguiente URL

http://msdn.microsoft.com/es-mx/express/bb410791.aspx

Microsoft® Silverlight™ Tools para Visual Studio 2008 SP1 (RC1) en español =)

octubre 23, 2008 Deja un comentario

Para todos aquellos usuarios del Visual Studio 2008 en Español, ya esta libre para su descarga la versión en este idioma, aunque aun dice RC, esta para la fecha del 21 de Octubre. Este paquete es un complemento para Visual Studio 2008 SP1 con el que se proporcionan herramientas para Microsoft Silverlight 2. Se puede instalar sobre Visual Studio 2008 SP1 o Visual Web Developer 2008 Express con SP1 y proporciona un sistema de proyectos de Silverlight para desarrollar aplicaciones de Silverlight mediante C# o Visual Basic.

C0037913-9E11-4A2D-8FD1-0BA441296CBC

Es aun así un buen aporte para seguir desarrollando aplicaciones ricas en contenido para la web en nuestro idioma, ya saben descarguen lo prueban y no olviden mandar sus comentarios a MS sobre el producto y los errores xD.

 

Descarga:http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=c22d6a7b-546f-4407-8ef6-d60c8ee221ed

Microsoft Webcasts en Demanda

octubre 21, 2008 Deja un comentario

Muchas veces cuando iniciamos en el mundo del desarrollo de software nos topamos conque no existe mucha información, la verdad es que hoy en día este no es pretexto, además de contar con varios programas de aprendizaje contamos con un buen numero de material audio visual, mejor conocido como Webcast, en donde se tratan temas de mucho interés y sobre todo que son impartidos por personas muy experimentadas.

Por eso es que el día de hoy, por aquellos que conocen estos recursos pongo el link en donde pueden encontrar Webcast que están grabados y aquellos que están por realizarse.

mic_lat_webcast_technet_2

Aquí encontraremos información sobre tecnologías como: Forefront, Windows Vista, Windows Server, SQL Server, Office, Seguridad entre otros.

URL: http://www.microsoft.com/latam/technet/video/demanda.aspx

Exprésate y Gana – Blog IT 2.0

octubre 21, 2008 Deja un comentario

Ya se pueden registrar para concursar en la segunda versión de Blog IT. Participar es muy sencillo, sólo tienes que asociar tu cuenta Windows Live y después registrar tu blog, para que puedas invitar a tus amigos, conocidos, colegas a quien tú quieras que voten por tu blog.

¿Tienes Blog?

Si tienes blog de IT, hablas de alguna tecnología Microsoft o te interesa empezar a hablar de alguna categoría de productos y te consideras que puedes ser uno de los tops bloggers de la industria de TI en México, AGREGA TU BLOG.
El top blogger será el participante que escriba post en base a la categoría que seleccionó y el que reciba más votos de su blog.

 

¿No tienes blog?

Te ayudamos a crear tu blog, sólo tienes que entrar a la sección de Entrenamientos y cada semana tendremos uno diferente para ti.

Ya saben espero que así voten por este blog, esta ves me registre en la categoria de SQL Server, así que esperen muchos post sobre esta categoría, para votar ingresen a:

http://www.blogit.ms/Default.aspx.

Etiquetas de Technorati: ,,

Las 10 cosas que más fastidian a los programadores

octubre 21, 2008 2 comentarios

buenas noches!!, el día de hoy en geeks.ms me encontré un muy buen post, que la verdad me ha hecho reír un poco, porque estoy muy de acuerdo con lo que ahí se menciona, a continuación les dejo el post original. Aquellos que se muevan por el mundo del desarrollo me imagino que estarán de acuerdo con mas de uno de los puntos aquí comentados.

Aaarg!Me ha parecido muy interesante y divertido el post de Kevin Pang, “Top 10 Things That Annoy Programmers“, en el que obtiene los factores más irritantes para los desarrolladores combinando su propia experiencia con los resultados de una pregunta realizada en StackOverflow, la famosa comunidad de desarrolladores promovida por los populares Joel Spolsky y Jeff Atwood.
Además de estar casi totalmente de acuerdo con los puntos expuestos en su post, que enumero y comento a continuación, añadiré algunos más de propia cosecha de agentes irritantes.

  • 10. Comentarios que explican el “cómo” y no el “qué”. Tan importante es incluir comentarios en el código como hacerlo bien. Es terrible encontrar comentarios que son una simple traducción literal al español del código fuente, pues no aportan información extra, en lugar de una explicación de lo que se pretende hacer. Muy bueno el ejemplo de Kevin en el post original… ¿eres capaz de decir qué hace este código, por muy comentado que esté?
    r = n / 2; // Set r to n divided by 2
    
    // Loop while r - (n/r) is greater than twhile ( abs( r - (n/r) ) > t ) {    r = 0.5 * ( r + (n/r) ); // Set r to half of r + (n/r)} 
  • 9. Las interrupciones. Sin duda, el trabajo de desarrollador requiere concentración y continuidad, y las interrupciones son las grandes enemigas de estos dos aspectos. Una jornada de trabajo llena de llamadas, mensajes o consultas de clientes, proveedores, jefes o compañeros puede resultar realmente frustrante, a la vez que la distracción que introduce suele ser una fuente importante de errores en las aplicaciones.
  • 8. Ampliación del ámbito. Una auténtica pesadilla, sobre todo cuando se produce durante el desarrollo, consistente en el aumento desproporcionado del alcance de determinadas funcionalidades o características del software a crear. Es especialmente desmotivador si, además, no viene acompañado por el aumento del tiempo o recursos necesarios para su realización.Kevin incluye en su artículo un ejemplo, algo exagerado pero ilustrativo, de sucesivas ampliaciones de ámbito que convierten un requisito factible en un infierno para el desarrollador; seguro que os recuerda algún caso que habéis sufrido en vuestras propias carnes:
    • Versión 1: Mostrar un mapa de localización

      – Bah, fácil, sólo tengo que crear una imagen; incluso puedo basarme en algún mapa existente que encuentre por ahí

    • Versión 2: Mostrar un mapa 3D de localización– Uff, esto ya no es lo que hablamos; tendré que currarme bastante más el diseño, y ya no será tan fácil partir de alguno existente…
    • Versión 3: Mostrar un mapa 3D de localización, por el que el usuario pueda desplazarse volando– ¡!
  • 7. Gestores que no entienden de programación. Otro motivo común de irritación entre los desarrolladores es la incapacidad de gestores para comprender las particularidades de la industria del software en la que trabajan. Este desconocimiento genera problemas de todo tipo en una empresa y suponen un estrés terrible para el desarrollador.
  • 6. Documentar nuestras aplicaciones. Lamentablemente, en nuestro trabajo no todo es desarrollar utilizando lenguajes y tecnologías que nos divierten mucho. Una vez terminado un producto es necesario crear guías, manuales y, en general, documentación destinada al usuario final que, admitámoslo, nos fastidia bastante escribir.
  • 5. Aplicaciones sin documentación. A pesar de que entendamos y compartamos el punto anterior, también nos fastidia enormemente tener que trabajar con componentes o librerías partiendo de una documentación escasa o nula. Si lo habéis sufrido, entenderéis lo desesperante que resulta ir aprendiendo el significado de las funciones de un API usando el método de prueba y error.
  • 4. Hardware. Especialmente los errores de hardware que el usuario percibe como un fallo de la aplicación son normalmente muy difíciles de detectar: fallos de red, discos, problemas en la memoria… por desgracia, hay un amplio abanico de opciones. Y lo peor es que por ser desarrolladores de software se nos presupone el dominio y control absoluto en asuntos hardware, lo que no siempre es así.
  • 3. Imprecisiones. Aunque Kevin lo orienta al soporte al usuario, el concepto es igualmente molesto en fases de diseño y desarrollo del software. Las descripciones vagas y confusas son una causa segura de problemas, sea en el momento que sea.Son irritantes las especificaciones imprecisas, del tipo “esta calculadora permitirá al usuario realizar sumas, restas, multiplicaciones y otras operaciones”… ¿qué operaciones? ¿divisiones? ¿resolver ecuaciones diferenciales?

    Tampoco es fácil encajar un mensaje de un usuario tal que “me falla el ERP, arréglalo pronto“… A ver. El ERP tiene cientos de módulos, ¿fallan todos? ¿podríamos ser más concretos?

  • 2. Otros programadores. Como comenta Kevin, el malestar que provoca a veces la relación entre programadores bien merecería un post independiente, pero ha adelantado aspectos que, en su opinión, hace que a veces el trato con los compañeros sea insoportable:
    • Personalidad gruñona, hostilidad
    • Problemas para comprender que hay que dejar de debatir la arquitectura del sistema y pasar a realizar las tareas
    • Falta de habilidad para mantener una comunicación efectiva
    • Falta de empuje
    • Apatía hacia el código y el proyecto
  • 1. Tu propio código, 6 meses después. Sí, es frustrante estar delante de un código aberrante y darte cuenta de que tú eres el autor de semejante desastre. Y tras ello llega la fase de flagelación: ¿en qué estaba pensando cuando hice esto? ¿cómo fui tan estúpido? uff…Este hecho, sin embargo, forma parte de la evolución tecnológica, personal y profesional; todos estos factores están en continuo cambio, lo que hace que nuestra forma de atacar los problemas sea distinta casi cada día.

Siempre acaba pagándola el más tonto...Y hasta aquí la lista de Kevin en su post, ni que decir tiene que comparto sus reflexiones en la mayoría de los puntos. Por mi parte, añadiría los siguientes agentes irritantes que conozco por experiencia propia o de conocidos:

  • Extra 1. Requisitos evolutivos, como una ampliación del ámbito del punto 8 ;-) , que son aquellos que van cambiando conforme el desarrollo avanza y que obligan a realizar refactorizaciones, descartar código escrito, e introducir peligrosas modificaciones, afectando a veces por debajo de la línea de flotación del software. Más rabia produce, además, cuando se atribuyen una mala interpretación por parte del desarrollador de una especificación imprecisa.
  • Extra 2. Problemas en el entorno. Nada más frustrante que cortes en el suministro eléctrico, cuelgues, problemas en el hardware, lentitud en los equipos de trabajo o de acceso a información… a veces parece que tenemos que construir software luchando contra los elementos.
  • Extra 3. El “experto” en desarrollo de software. Clientes, gestores y otros individuos que utilizan frecuentemente, y sin conocimiento alguno de causa, expresiones como “Esto es fácil”, “Una cosa muy sencilla”, “¿Eso vas a tardar en hacer esta tontería?”…. A veces no es fácil hacer entender que la percepción externa de la complejidad es absolutamente irreal, y suele ser una causa frecuente de desesperación para los desarrolladores.
  • Extra 4. Usuarios corrosivos, que lejos de colaborar durante el desarrollo o la implantación de un sistema, aprovechan la ocasión para arremeter contra la aplicación, organización, jefes, compañeros, el gobierno, o lo que se ponga por delante. Es de justicia decir que muchas veces este comportamiento es debido a una mala gestión interna del proyecto, pero desde el punto de vista del profesional del sofware que sólo quiere realizar lo mejor posible su trabajo son una auténtica pesadilla.

En fin, que ya a estas alturas es fácil ver que hay bastantes cosas que fastidian a los desarrolladores, y seguro que podríamos añadir muchas más; algunas son evitables, otras son inherentes a la profesión y hay que aprender a convivir con ellas, pero en cualquier caso son un interesante motivo de reflexión.

¿Y a tí, qué es lo que más te fastidia?

Espero sus opiniones y que sumen a esta lista de lo que a ustedes como programadores les molesta o fastidia.

Post Original: http://geeks.ms/blogs/jmaguilar/archive/2008/10/19/las-10-cosas-que-m-225-s-fastidian-a-los-programadores.aspx

Fuente: http://geeks.ms

Categorías:.NET, General, programadores

Desarrollo experiencias ricas usando Microsoft .Net Framework y VS 2008

octubre 16, 2008 Deja un comentario

Más y más recursos gratis, esta vez toca el turno de aprender a usar las tecnologías de WCF (Windows Communication Foundation), WWF (Windows Workflow Foundation) y el más conocido WPF (Windows Presentation Foundation). Estos recursos son por parte de E-Learning, que como ya sabrán contiene documentación y laboratorios.

Los cursos van enfocados a personas con experiencia en Desarrollo y un poco de arquitectura de software para que puedan agregar una rica experiencia en sus soluciones, aunque si los revisan y no tiene mucha experiencia no hay mayor problema igual y es para que vayan aprendiendo sobres estas nuevas tecnologías. Recuerden los cursos son gratis!! :D

url:https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=213184

Etiquetas de Technorati: ,,,

SQL Server en aplicaciones personalizadas

octubre 16, 2008 1 Comentario

buen día,

Este post, es para recomendarles un muy buen articulo sobre como incrustar Bases de Datos SQL Server en aplicaciones personalizadas. En este artículo se describe la forma de integrar e implementar aplicaciones basadas en Microsoft SQL Server Express mediante archivos de configuración y la tecnología de implementación ClickOnce en Microsoft Visual Studio.

Espero que les sea de mucha ayuda, la verdad es que esta muy bien explicado, aquí la URL: http://www.microsoft.com/spanish/msdn/articulos/archivo/300106/voices/emsqlexcustapp.mspx

Etiquetas de Technorati: ,

SQL Server 2008 Experience!

octubre 10, 2008 Deja un comentario

Hoy en día, podemos contar con toda una gama de información sobre SQL Server 2008, para profesionales de TI, para tomadores de decisiones, para programadores o solo para divertirse :P . Toda esta información es proporcionada en 11 idiomas.

image_3

Para Profesionales de TI y Programadores encontramos una serie de entrevistas breves e intuitivas con el equipo de ingenieros de SQL Server en las que se tratan las diferentes tecnologías de SQL Server 2008. Para los tomadores de decisiones, existen vídeos “grabados entre bastidores” que muestran cómo usan SQL Server 2008 los clientes para abordar algunos importantes desafíos. Esto en Español :D

url: http://www.microsoft.com/sql/experience/?loc=es

Etiquetas de Technorati: ,

Completa el Código – Gran Cierre del Innovation Tour 2008

octubre 9, 2008 Deja un comentario
El día de hoy quiero hacerles una invitación para el gran cierre de Innovation Tour 2008, las sita es este miércoles, 22 de octubre de 2008 03:00 p.m. en la Ciudad de México con hora de recepción: 02:30 p.m.
 
invitacionintour08
No falten,

Idiomas:
Español.

Productos:
Otros.

Público:
Desarrollador/codificador profesional, Developer, Diseñador del sitio web y Socios.

Información general del evento

Gran Cierre del Innovation Tour 08
El costo del valet parking es de $100 pesos por auto.
Los primeros 300 autos no pagarán por este servicio.

Categorías:Eventos

Windows Live Quick Applications (beta)

octubre 8, 2008 Deja un comentario

Live Quick Applications es una serie de escenarios especificos para la Web, que estan basados en los servicios de Windows Live, las cuales nos ofrecen el código fuente para poder usarlas sin problema alguno.

Actualmente, existen varias aplicaciones, entre las más interesantes estan:

Streaming Media:Video Show Video Show

img_col1_2

Descargar el código

Educación: Contoso University Contoso Universidad

img_col2_3

Descargar el código 

CRM: ContosoISV ContosoISV

img_col1_3

Download the code

Visit Planner

img_col1_4

Download the code

Los invito que revisen estos quick applications de los servicios de Windows Live, la verdad es que contienen muy buen material, aquí la URL:

http://dev.live.com/quickapps/default.aspx

Categorías:live, Windows Live

Windows Live Tools para Visual Studio

octubre 8, 2008 1 Comentario
logo_vs_tools

Así es, Windows Live Tools para Microsoft Visual Studio 2008 es un conjunto de complementos para hacer la incorporación de los servicios de Windows Live en una aplicación Web de manera fácil que se implementan en Visual Studio 2008 y Visual Web Developer Express 2008.

Cuando instalamos este CTP de Windows Live Tools nos agrega seis controles que son:

Herramientas de desarrollo:

Descarga el CTP de Windows Live Tools para Visual Studio  

Seguir

Get every new post delivered to your Inbox.