José's profileJosé Dévora's spacePhotosBlogLists Tools Help

José Dévora

Location
Interests
Photo 1 of 2
More albums (1)

José Dévora's space

August 20

ADO.NET 2.0 en Comunidad .NET Juárez

El lunes de la semana pasada tuve la oportunidad de dar una plática referente a ADO.NET en la versión 2.0. Inicialmente estaba planeada para que la diera otro expositor, pero por cuestiones del trabajo, no pudo darla. En lo personal, me pareció muy interesante este tema y espero que le haya sido útil los asistentes (que por cierto, fueron muchos) por que considero que es uno de los temas con los que siempre nos topamos y debemos de conocer las entrañas para poder tener almacenamiento de datos y saber como cominicarnos con nuestra fuente de datos.

De los temas que se cubrieron fueron los siguientes:

  • Se cubrieron conceptos básicos en el uso de ADO.NET
  • Las ventajas de ADO.NET
  • Database Provider Factories (nuevo en la versión 2.0 y ampliamente recomendable)
  • Espacios de nombres importantes
  • Como emplear un DataAdapter
  • Que es un DataSet
  • Como usar un GridView y un DetailsView
  • Como podemos manejar transacciones.

Como pueden ver, estuvo muy interesante, y pues muchas gracias al buen Meny, quien tuvo una intervención para explicar el uso del GridView y del DetailsView. Además Carlos Rubalcava, nos dió una amplia explicación del funcionamiento interno del DataAdapter y como interactua en un modelo desconectado.

Mi 3er aire

Se que tengo tiempo de no escribir, pero no quiero dejar este espacio al olvido aun que así lo parezca. Por multiples razones, en los meses anteriores habia descuidado mucho mi blog. En los dias pasados, han pasado muchas cosas por mi cabeza entre los cuales se encuentra mi blog, por eso titulo esta entrada como mi 3er aire, no me quiero dar por vencido y quiero aprovechar este medio para poder compartir mis conocimientos y todo aquello que este aprendiendo.

Gracias a los comentarios que he recibido directa o indirectamente de mis amigos, me han motivado a que continue con este espacio. Actualmente en mi trabajo, soy líder técnico de un proyecto y esto me ha dado la oportunidad de apreder muchisimas cosas y tambien de ver la manera de compartirla con los integrantes de proyecto. Por lo que veo esto, como otra razon mas para dicidirme a continuar con este espacio.

May 19

Blogs de unos compas

Acabo de actualizar mi lista de ligas y agregué el blog de dos amigos.
 
El primero de ellos es Roberto Carrillo (alias Bonbetito) a quien tuve la fortuna de conocerlo la semana pasada aquí juarez, el es de Oaxtepec Morelos, y se tuvo que dar la vuelta a esta ciudad por cuestiones laborales a apagar algunos fuegos.
 
El otro blog que agregué a mi lista es el de Lázaro Lara, compañero del trabajo y ahorita estamos formando un equipo muy bueno para un proyecto interesante que traemos.
 
Ahi estaremos al pendiente de las entradas que esten publicando.

Podcast de Raúl Guerrero

Tengo la dicha de presentarles otro podcast que esta la verdad muy bueno, este podcast es de un buen amigo que se encuentra en la Cd. de México y que lo conoci por medio de el Podcast del Pozo Técnico, su nombre es Raul Guerrero y permitanme decirles que el contenido de sus episodios ha estado muy bueno.
 
Agrueguen la siguiente liga en tu manejador de subscripciones a podcast:
 
Hagan extensiva esta invitación a todos sus amigos y conocidos que crean les pueda interesar este buen podcast.

Entrevistas de trabajo

Ayer el buen Carlos Madrigal, Efrén mejor conocido como el chefi y un servidor, estuvimos grabando otro episodio para el Podcast del Pozo Técnico y en esta ocasión estuvimos platicando un buen rato de las experiencias que hemos tenido los 3 en los procesos de reclutamiento para diferentes proyectos.
 
Siento que este episodio tiene muy buen contenido y se los recomiendo ampliamente tanto a aquellas personas encargadas de un proceso de contratación como a todos aquellos que esten buscando trabajo y que de alguna u otra forma tienen que pasar por entrevistas. En esta charla vas a encontrar diferentes tips de que debes o no a hacer para una entrevista, desde echarle un ojo a tu currículum antes de enviarlo a la empresa que quieres entrar, hasta en que puntos se pueden fijar los entrevistadores una vez que te encuentres con ellos.
 
Por obvias razones todavía no se publica este nuevo episodio en el podcast, pero en cuanto este listo, yo actualizo esta misma entrada para que puedan echarselo, reirse un rato de las burradas que decimos pero a la vez aprender en base a la experiencia que hemos adquirido y así puedan ser mejores entrevistadores o entrevistados.
 
NOTA: Este episodio ya se comenzó a liberar, digo "comenzó" por que nos dio material suficiente como para separarlo en 2 partes, y ya esta lista la primer versión para que la descarguen, la pueden tomar de aqui.
 
Que lo disfruten y esperen la segunda parte!!!
May 17

.NET Generics

Una de las características del Microsoft® .NET Framework 2.0 es Generics. Generics permite a los desarrolladores definir tipos sin la necesidad de especificar ciertos detalles.. En cambio, estos detalles se especifican cuando el tipo definido es utilizado por el código consumidor.
 
Primero que nada me gustaría comentar algo acerca del término genérico, este concepto significa que "algo" no está atado a una marca, lo anterior pensando en situaciones comunes fuera del mundo de la programación. Por ejemplo cuando tu vas a la tienda tu puedes comprar productos genéricos ya que no tienen una marca.
 
Ahora piensa un poco en genérico pero en el sentido estricto de una clase donde en esta ocasión no se forza a que este ligada a un tipo (Type) en especial. Encontre un ejemplo en un articulo de Microsoft que me ha ayudado a comprender gran parte de la utilidad de Generics ya que gracias este nuevo beneficio poemos crear clases de colecciones genéricas, el siguiente código muestra la definición de una lista de nodos ligada y como es que se está utilizando. Aquí podemos apreciar como la lista recibe elementos de tipo Object, con la finalidad de poder almacenar "cualquier tipo de elemento", esto nos ocasiona que cuando lo queremos utilizar o manipular los valores de la lista, pues debemos de especificar de que tipo de elemento estamos hablando además de que se pueden presentar algunas limitaciones con tal de cumplir con el contexto de que sea util para varios tipos.
 

using System;

// Definition of a node type for creating a linked list
class Node {
   Object  m_data;
   Node    m_next;

   public Node(Object data, Node next) {
      m_data = data;
      m_next = next;
   }

   // Access the data for the node
   public Object Data { get { return m_data; } }

   // Access the next node
   public Node Next { get { return m_next; } }

   // Get a string representation of the node
   public override String ToString() {
      return m_data.ToString();
   }           
}

// Code that uses the node type
class App {
   public static void Main() {

      // Create a linked list of integers
      Node head = new Node(5, null);
      head = new Node(10, head);
      head = new Node(15, head);

      // Sum-up integers by traversing linked list
      Int32 sum = 0;
      for (Node current = head; current != null;
           current = current.Next) {
         sum += (Int32) current.Data;
      }     

      // Output sum
      Console.WriteLine("Sum of nodes = {0}", sum);     
   }
}

 
En la siguiente parte puedes apreciar como la misma lista esta hecha pero con Generics. En esta ocasion el tipo de los elementos no está a ciencia cierta definido, en realidad el tipo se lo vamos a pasar como un parametro (lo pueden ver en <T>) y ya este lo podemos utilizar como cualquier tipo que se especifique con el uso de este código.
 

class Node<T> {
   T        m_data;
   Node<T>  m_next;

   public Node(T data, Node<T> next) {
      m_data = data;
      m_next = next;
   }

   // Access the data for the node
   public T Data { get { return m_data; } }

   // Access the next node
   public Node<T> Next { get { return m_next; } }

   // Get a string representation of the node
   public override String ToString() {
      return m_data.ToString();
   }           
}

class App {
   public static void Main() {

      // Create a linked list of integers
      Node<Int32> head = new Node<Int32>(5, null);
      head = new Node<Int32>(10, head);
      head = new Node<Int32>(15, head);

      // Sum up integers by traversing linked list
      Int32 sum = 0;
      for (Node<Int32> current = head; current != null;
           current = current.Next) {
         sum += current.Data;
      }     

      // Output sum
      Console.WriteLine("Sum of nodes = {0}", sum);     
   }
}

 
Esta manera de escribir el código y de pasar el tipo como parametro, se ve MUY elegante, no lo pueden negar. Tambien pueden apreciar que se puede iterar la lista de una menera mas sencilla y podemos aprovechar todas las caracteristicas del tipo del objeto que estamos utilizando. Si se dieron cuenta ya no utilizamos System.Object, puesto que ya no es necesario por que a final de cuentas vamos a utilizar el tipo de dato que en realidad necesitamos.
 
Gracias a Generics de .NET ahora podemos crear colecciones o listas de una manera mas sencilla, elegante y como lo dice su nombre, genérico. Al rato daré mas detalle de este nuevo beneficio!
March 13

Comunidad .NET Juarez - Reunión Marzo 2006

Para todos aquellos que son miembros de la comunidad .NET en Juarez, les recuerdo que HOY es la cita para la reunión de el mes de Marzo. Para quienes no son miembros aún, que estan esperando, subscribanse aquí. El tema de hoy:

 

Personal Software Process  
Por Gabriel Bravo (profesor de la UACJ)

Cuando: 03/13/2006
Hora de inicio: 7:00 PM 
Lugar: CITE, 4to Piso, Tec de Monterrey 

 

No se lo pierdan y asistan, recuerden que entre más miembros acudan a las reuniones, mayores serán los beneficios que nos puede proporcionar Microsoft. Espero ver a varios hoy en la tarde.