aelena.com

19 January 2009

Artículos interesantes de Pluralsight

Filed under: .NET, artículos — admin @ 12:28

La gente de Pluralsight, entre los que están expertos reconocidos como Aaron Skonnard, nos dejan hoy una serie de artículos introductorios pero interesantes, que podeis descargar aquí. Los artículos en cuestión son:

  • An Introduction to Microsoft .NET Services for Developers (Aaron Skonnard)
  • A Developer’s Guide to the Microsoft® .NET Access Control Service (Keith Brown)
  • A Developer’s Guide to the Microsoft® .NET Service Bus (Aaron Skonnard)
  • A Developer’s Guide to the Microsoft® .NET Workflow Service (Matt Milner)

Hay otro link de descarga directa aquí.

15 January 2009

jQuery y Microsoft

Filed under: MVC, Asp.Net, jQuery — admin @ 21:56

En el PDC 2008 Stephen Walters, reconocido autor y experto en Asp.Net, anunciaba la futura integracion de jQuery con Visual Studio, incluyendo soporte intellisense, y además sin crear una versión propia, sino ofreciendo jQuery tal y como es, con el aliciente añadido, para las grandes empresas sobre todo, de tener soporte 24/7 de Micro.

jQuery vendrá con Asp.Net MVC. Sin duda esto son buenas noticias para la apasionada comunidad de jQuery, y también para los que no conocen o no trabajan esta librería de tan solo 15kB. Venir de la mano de Microsoft, creo que le vendrá muy bien para entrar donde antes este tipo de productos no podían llegar.

13 January 2009

¿Se puede cambiar el valor de una struct readonly?

Filed under: .NET, c# — admin @ 9:25

Si te enseñan el siguiente código, ¿cuál crees que es el resultado?

   1:  struct MutableStruct
   2:  {
   3:      private int x;
   4:      public int Mutate ( )
   5:      {
   6:          return ++x;
   7:      }
   8:  }
   9:  
  10:  class Program
  11:  {
  12:  public readonly MutableStruct _ms = new MutableStruct ();
  13:  static void Main ( string [] args )
  14:  {
  15:  Program _p = new Program ();
  16:  Console.WriteLine ( “Valor de la copia: {0} “,
  17:  _p._ms.Mutate ());
  18:  Console.WriteLine ( “Valor de la copia: {0} “,
  19:  _p._ms.Mutate () );
  20:  Console.WriteLine ( “Valor de la copia: {0} “,
  21:  _p._ms.Mutate ( ));
  22:  Console.ReadLine ();
  23:  }
  24:  }

El resultado puede sorprendernos a muchos. En realidad, no es 0, 0, 0 ni 1, 2, 3 sino 1,1,1. ¿Porqué? ¿cómo es eso? La cosa reside en la propia especificación del lenguaje C#. Recordemos que las struct son tipos de valor (value types), no referencias, es decir, son como un int y no como un objeto, como por ejemplo string. Por tanto, su valor no puede cambiar. Lo que ocurre es que al acceder a la struct en el código, obtenemos una copia de dicho valor, que no una referencia como ocurriría si accedieramos a un objeto, a una instancia de la clase “Producto”, por ejemplo, en nuestra aplicación. Es decir, que al hacer _p.ms estamos obteniendo una copia, y esa copia si es mutable, mientras que _m no lo es. Si modificamos el código ahora para comparar el valor original y la copia lo veremos más claro:

struct MutableStruct
{
private int x;
public int Mutate ( )
{
return ++x;
}
public override string ToString ( )
{
return String.Format ( “Valor de x: {0}”, x );
}

}

class Program
{
public readonly MutableStruct _ms = new MutableStruct ();
static void Main ( string [] args )
{
Program _p = new Program ();
Console.WriteLine ( “Valor de la copia: {0},{1}”,
_p._ms.Mutate (), _p._ms.ToString () );
Console.WriteLine ( “Valor de la copia: {0},{1}”,
_p._ms.Mutate (), _p._ms.ToString () );
Console.WriteLine ( “Valor de la copia: {0},{1}”,
_p._ms.Mutate ( ), _p._ms.ToString () );
Console.ReadLine ();
}
}

Al ejecutar veremos la siguiente salida por pantalla:

Valor de la copia: 1, Valor de x: 0
Valor de la copia: 1, Valor de x: 0
Valor de la copia: 1, Valor de x: 0

Esto nos permite ver que realmente lo único que cambia es el valor de la x interna de _p._ms, pero no cambia la variable asociada a ese campo, que sería la x privada que vemos en la definición de la struct.
Interesante ¿verdad?

Disclaimer: esto no se me ha ocurrido a mi, sino a Eric Lippert, pero me ha parecido muy interesante reproducirlo para trastear.

¿Y si le quitamos el readOnly?

Perdonad el formato, el editor es una puta mierda.

Saludos.

Community Technology Preview of Visual Studio 2008 extensions for SharePoint v1.3

Filed under: MOSS 2007, CTP, Visual Studio — admin @ 8:26

Ayer en el blog del SharePoint Product Group se anunciaba la disponibilidad de la CTP de las extensiones para Sharepoint para Visual Studio 2008, descargable desde aqui. Para no repetirnos, las mejoras que aportará este CTP se pueden ver en el anuncio original del blog del SharePoint Product Group.

Saludos

12 January 2009

Gaza y la hipocresía de la izquierda una vez más

Filed under: politica — admin @ 22:28

Otra vez toca aguantar a los de siempre, los titiriteros, actorcillos y demás gentecillas de izquierda como el inefable Zerolo o el fracaso permanente y ambulante de Llamazares manifestándose a favor de los Hamás y los terroristas, y es que todo lo que sea contra Israel o los EE.UU. es siempre motivo para sacar el silbato y que el rebaño acuda a la calle.

Yo no recuerdo manifestaciones de estos colectivos a favor de la democracia en Cuba, ni a favor del trato igualitario a las mujeres en los países islámicos, ni a favor de que mujeres y niñas tengan acceso a sanidad o educación allí donde ejerce su tiranía el islam más radical. Tampoco les he visto protestar por los escritores, periodistas, bloggers, y disidentes chinos en general, presos o condenados a muerte por tener opiniones opuestas a las del Régimen. Tampoco protestaron el año pasado por la brutal represión de la Junta en Myanmar, ni por la invasión rusa de Georgia, a la que el diario Público incluso dedicó su portada con gran deleite. ¿Alguien recuerda una manifestación anti talibán a cargo de esta gente? ¿Tampoco contra ETA? Tampoco les he visto quejarse por la penosa situación de Corea del Norte a manos de ese enano cabezón que tiene al pais pasando hambrunas cada dos por tres y completamente aislada del mundo. Curiosamente, a Zerolo tampoco le indignan las condenas a la horca de los homosexuales en países como Irán. La verdad es que podríamos encontrar muchos más ejemplos, y es que se les ve el plumero desde muy lejos a esta gente. Que su agenda es la de atacar cualquier cosa que tenga sus raíces en Occidente y apoyar siempre al tirano, al islamista, al regimen comunista opresor. Y es que, claro, cuando se odia la libertad moral y económica y mental del individuo, esos son tus aliados naturales.

Ah, y se me olvidaba Venezuela, claro.

¿Qué tendría que hacer Israel? ¿Respetar el hecho que Hamas haya roto el alto el fuego? ¿Seguir aguantando los cohetes caseros todos los días en sus ciudades? ¿Seguir recibiendo con los brazos abiertos a los terroristas suicidas que se han inmolado en bares y pizzerias todos estos años?

La gente olvida que los de Hamas son unos terroristas que no tienen ningún reparo en usar a su población como escudo humano, mejor si son niños o mujeres, porque así luego las noticias tienen más impacto. Y sin embargo, curiosamente, no les faltan gente que los apoye. Yo no lo entiendo. Una organización terrorista devenida en partido, que no quiere una democracia ni un acuerdo de paz con Israel, que tiene las manos manchadas de sangre, y, sin embargo, contra la que nadie se manifiesta. Y la gente indignada en la calle. Increíble.