Cadena 100 enlaces de Nada!

Posted by Itachi on martes 23 de septiembre de 2008

Uniendonos a la interesante iniciativa de graciasdenada.com.ar una cadena de 100 enlaces de Nada! :D

! - - copiar desde aquí:

  1. Gydn! Blog multirubro de ramos generales -> (ver cadena)
  2. Dietas, métodos, Flujo Vaginal en Ya Voy Mamá!! -> (ver cadena)
  3. Nadie007 te enseña las cosas curiosas de la red ->(ver cadena)
  4. La pelicula de Disney High school musical estrena el 24 de Octubre -> (ver cadena)
  5. La nueva estrella de Disney Miley Cyrus participo en Camp Rock -> (ver cadena)
  6. En CMS Joomla gano varios premios internacionales -> (ver cadena)
  7. El Futbol argentino es uno de los mas bonitos del mundo -> (ver cadena)
  8. Las Dietas son necesarias en diferentes etapas de la vida -> (ver cadena)
  9. Ver videos de Avril Lavigne, la princesa del pop -> (ver cadena)
  10. Cotización dolar y euro, economía y finanzas -> (ver cadena)
  11. El misterio del triángulo de las bermudas -> (ver cadena)
  12. Ferticidio’s geeks: un Geek hablando de otros Geeks -> (ver cadena)
  13. Los mejores cuentos y escritos están en ReChalado! -> (ver cadena)
  14. Autoleyendas, automóviles que hacen historia -> (ver cadena)
  15. MiHTPC, la aventura de poner un PC en el salón ->(ver cadena)
  16. You don´t know the power of the Dark Side… -> (ver cadena)
  17. Catrasca un poco de todo y nada de mucho ;) -> (ver cadena)
  18. con e-abaco, instalar y configurar ubuntu es mucho más facil -> (ver cadena)
  19. ViaBinaria blog de Tecnología, gadgets, web 2.0, programas, tutoriales, aplicaciones web. -> (ver cadena)
  20. Raul Quintana web developer -> (ver cadena)
  21. ZonaKaoz: Blog de ocio, humor, deportes, diseño, web 2.0 y un poco geek. El blog perfecto para perder el tiempo en el trabajo. -> (ver cadena)
  22. Todo lo que quieras saber sobre programación, tips, consejos, programas, tutoriales, etc. ->(ver cadena)
  23. GigaBriones, La Informática y Tecnología Nunca Fue Tan Sencilla, Un Blog Para Aprender a ser geek. ->(ver cadena)
  24. Humor Friki, Diversión, Humor Geek, Imagenes, Videos, Chistes, Curiosidades y Más, para frikis o geeks como tú. -> (ver cadena)
  25. Heckennedy Blog & Podcast, hablando de cosas que a ti te interesan ->(ver cadena)
  26. Terabytes Libres: el conocimiento humano le pertenece al mundo-> (ver cadena)
  27. Peliculas online gratis en internet significa que puedes ver peliculas online y gratis-> (ver cadena)
  28. empresa de programación y diseño paginas menorca on -> (ver cadena)
  29. Car hire Menorca -> (ver cadena)
  30. Recetas de dieta, recetas de la dieta de los puntos o dieta weight watchers. Trucos consejos y recetas para esta famosa dieta. Cada receta con completa información nutricional por si prefieres utilizarlas para una dieta hipocalórica tradicional -> (ver cadena)
  31. Car hire Menorca ->(ver cadena)
  32. Menorca Explorer Guide -> (ver cadena)
  33. Mi dieta de los puntos, mi diario de dieta en el que voy comprobando como funciona esta famosa dieta weight watchers -> (ver cadena)
  34. El blog del gourmet gastronomico, todo tipo de delicatessen , productos gourmet, recetas de cocina y restaurantes. Para cuando haya terminado con la dieta. -> (ver cadena)
  35. Todo lo que puedes leer en 5 minutos mas -> (ver cadena)
  36. Sitio de Tuxtla Gutierrez, con fotos, eventos sociales, fotos de escuelas -> (ver cadena)
  37. El mundo del té: su historia, formas de preparación, y recetas de todas las variedades de té e infusiones -> (ver cadena)
  38. Todas las Opcionez que se ven hoy en día -> (ver cadena)
  39. La casa del rock donde el rock siempre suena -> (ver cadena)
  40. FotoLeyenda: Leyendas -> (ver cadena)
  41. Buscas Información de juegos?, novedades de tecnología, o los últimos tips de Internet, todo esto y mas lo encuentras en TuPSX, Tu comunidad de juegos, tecnología e Internet -> (ver cadena)
  42. El CMS Joomla es uno de los mas utilizados en todo el mundo -> (ver cadena)
  43. ver cadena)
  44. La era de hielo 3 tiene prevista como fecha de estreno en Julio de 2009 -> (ver cadena)
  45. Blogtecnia, todo para tu pendrive en el Directorio Usb -> (ver cadena)
  46. Un lugar para encontrar de todo: El Huequito: aplicaciones informáticas, gadgets, curiosidades, pensamientos, poesía, fotografía, etc -> (ver cadena)
  47. Los mejores videos de Youtube -> (ver cadena)
  48. braulioaquino.blogspot.com está acortando la frontera entre Geek y Nerd, pero recuerda que los blogger también tenemos vida. -> (ver cadena)
  49. En simulacro de trabajo… y en la escuela… ¡Aca mirando como esta el patio¡. Informatica y otras cosas que de las pretendo tener idea… y las cosas que se peguen: Isyscompany: Por que nuestro tiempo libre es productivo -> (ver cadena)
  50. Tu solucion para neopets, Guildpets -> (ver cadena)
  51. Amatta JM, un blog de tecnología, humor, curiosidades, y algo mas… -> (ver cadena)
  52. El Mundo de Uriel, Internet , tecnologia y Diseño: Urielmania -> (ver cadena)
  53. Amebas a la deriva: juegos, famosas, imágenes y fotos -> (ver cadena)
  54. Sin miedo: Internet y Tecnología -> (ver cadena)
  55. -> (ver cadena)
  56. MicroZulo: Recursos y herramientas web -> (ver cadena)
  57. Ecanus: Internet, música, opinion y mucho mas…! -> (ver cadena)
  58. Mi ventana: actualidad, frases, y sobre Málaga -> (ver cadena)
  59. BaJaLaTaPa: un rebujito de actualidad, internet, motor, y mucho más. -> (ver cadena)
  60. Tecnología habitual: tecnología que se hace, padece o posee con continuación o por hábito. -> (ver cadena)
  61. Clases de salsa en Málaga para personas no fumadoras -> (ver cadena)
  62. Porque con vida geek la tecnologia es muy sencilla -> (ver cadena)
  63. Motarile, rile, rile. Un poco de todo para no aburrir. -> (ver cadena)
  64. Foxblog - If you never try, You never know just what you worth. Noticias, Tecnología, Internet y vídeos divertidos, de todo un poco -> (ver cadena)
  65. Juegos mmorpg gratis: juegos gratis online -> (ver cadena)
  66. Juegos nuevos y bonitos: Juegos de vestir, colorear, infantiles -> (ver cadena)
  67. Juegos de cocina y pastelería: Juegos de cocinar, pastelería y tartas -> (ver cadena)
  68. Después de Bailando, Cantando y Patinando, Nadando por un Sueño es Acquadance en ShowMatch -> (ver cadena)
  69. Juegos de vestir y moda: Juegos de vestir gratis -> (ver cadena)
  70. Pasado, presente y consejo de sabios´ blog -> (ver cadena)
  71. Juegos de autoescuela y coches: Juegos de coches y conducir -> (ver cadena)
  72. Humor, TV, Música, Informática, Tecnología… Vipoke, 15 años, blogger.-> (ver cadena)
  73. La Educación Física en México por la calidad de la Educación -> (ver cadena)
  74. Capitulos de Naruto Gratis y mas  -> (ver cadena)
  75. Episodios de Inuyasha Gratis: Videos Episodios Y Peliculas  -> (ver cadena)
  76. Mil Babosadas: Humor, Curiosidades, Tips, Chistes y mas  -> (ver cadena)
  77. Zona WWW: Tecnologia, Tutoriales, Noticias, Informatica  -> (ver cadena)
  78. Anime DragonBall :Z, GT Episodios, Capitulos y Peliculas -> (ver cadena)
  79. Area.NET : Recursos, Tutoriales .NET, ASP, JAVA y mas -> (ver cadena)

hasta aquí - - !

Unanse, vean los detalles aquí

Manipulación de archivos de Excel 2007 y PowerPoint 2007 con el modelo de objetos de XML

Posted by Itachi on miércoles 11 de junio de 2008

El SDK de Microsoft para la visión preliminar de la tecnología de formato XML abierto es una biblioteca para obtener acceso a archivos de formato XML abierto. Consulte el código de modelo de objetos de XML abierto que puede usar para obtener acceso y manipular archivos de Excel 2007 y PowerPoint 2007.

Ver artículo...

Cómo personalizar la interfaz de usuario de 2007 Office Fluent mediante programación

La interfaz de usuario de 2007 Microsoft Office Fluent reemplaza el sistema actual de menús en capas, barras de herramientas y paneles de tareas con un sistema más sencillo optimizado para la eficiencia y para facilitar la capacidad de detección.

Ver artículo...

Excepciones C#

Posted by Itachi on martes 10 de junio de 2008

Excepciones

El framework de .net utiliza un mecanismo para informar de situaciones que impiden el flujo normal del código como un error, se trata de las excepciones.

Las excepciones se pueden producir por muchas razones, en general situaciones inesperadas, por ejemplo querer acceder a un archivo que no existe, esto produce una horrible excepción, veamos un poco de código

using (StreamReader reader = new StreamReader(@"c:\archivoQueNoExiste.txt"))
{
reader.ReadLine();
reader.Close();
}


Si lo ejecutamos recibimos una fea fea excepción del tipo FileNotFoundException, ok esto es lo que queríamos, ahora bien, qué hacemos ahora?



Alternativa ante las excepciones



Inicialmente podemos hacer dos cosas cuando nos encontramos con una porción de código que puede lanzar una excepción



-Atraparla en un bloque catch



-No hacer nada



Comencemos por el primer caso



try 
{
using (StreamReader reader = new StreamReader(@"c:\archivoQueNoExiste.txt"))
{
reader.ReadLine();
reader.Close();
}
}catch
{
throw;
}


Qué pasa acá, bien, lo mismo que no hacer nada, porque en el bloque volvemos a lanzar la excepción por lo tanto es lo mismo que no hacer nada



try 
{
using (StreamReader reader = new StreamReader(@"c:\archivoQueNoExiste.txt"))
{
reader.ReadLine();
reader.Close();
}
}catch(Exception ex)
{
throw ex;
}


Este ejemplo es peor que el anterior porque no sólo no hacemos nada sino que además al colocar Exeception ex y luego hacer throw borramos toda la información que se recopiló hasta el momento del error (el stack trace) por lo tanto, no sólo no la manipulamos sino que además perdemos valiosa información.



Enseñanza:



-Si atrapamos una excepción y la relanzamos haciendo referencia al objeto Exception borramos el stack trace.



try 
{
using (StreamReader reader = new StreamReader(@"c:\archivoQueNoExiste.txt"))
{
reader.ReadLine();
reader.Close();
}
}catch(Exception ex)
{
GuardarInformacionDelError(ex);
}


Esto es bastante más elegante, ocurre un error y guardamos la información para un análisis posterior, sin embargo esto nos lleva a una enseñanza mejor, por qué no hacer mejor esto:



string nombre = @"c:\archivoQueNoExiste.txt";
if (File.Exists(nombre))
{
using (StreamReader reader = new StreamReader(nombre))
{
reader.ReadLine();
reader.Close();
}
}


Nada de nada, no ocurre la excepción porque estamos verificando de antemano la existencia del archivo, la enseñanza es que es mejor evitar las excepciones, porque son costosas a nivel recursos y son feas también.



Manejando excepciones



En caso de querer manejar la excepción o que ocurra una excepción inesperada por ejemplo:



string nombre = @"c:\archivoQueNoExiste.txt";
if (File.Exists(nombre))
{
using (StreamWriter writer = new StreamWriter(nombre))
{
writer.Write("hola mundo");
writer.Close();
}
}


y que el archivo sea de sólo lectura o algo así (obviamente también podemos verificarlo antes, es un ejemplo), entonces tenemos un bloque de código en el catch para manipular la excepción, pero qué hacemos? Primero que nada podemos guardar información de error, segundo lanzar otra excepción, una personalizada, indicando un problema con información más "amigable"



try 
{
string nombre = @"c:\archivoQueNoExiste.txt";
if (File.Exists(nombre))
{
using (StreamWriter writer = new StreamWriter(nombre))
{
writer.Write("hola mundo");
writer.Close();
}
}
}catch (Exception ex)
{
GuardarInformacionDelError(ex);
throw new ExcepcionPersonalizada("Ocurrión un error sentimos las molestias");
}


Un lujo asiático, vamos a hacer un resumen de lo que aprendimos



-Siempre es mejor verificar para evitar las excepciones que esperar que ocurran



-Si ocurren y vamos a atraparlas hay que manipularlas correctamente, de muy poco sirve relanzar la misma excepción



Tipificando excepciones



Las excepciones son objeto de una clase, todas heredan de la clase base Exception y las podemos diferenciar por el tipo, nada de códigos de error ni cosas raras



Esta tipificación nos permite poder hacer cosas simpáticas filtrando las excepciones, veámos el siguiente ejemplo:



try 
{
string nombre = @"c:\archivoQueNoExiste.txt";
if (File.Exists(nombre))
{
using (StreamWriter writer = new StreamWriter(nombre))
{
writer.Write("hola mundo");
writer.Close();
}
}
}catch (UnauthorizedAccessException)
{
throw new ExcepcionPersonalizada("No se puede acceder al archivo");
}catch (Exception ex)
{
GuardarInformacionDelError(ex);
throw new ExcepcionPersonalizada("Ocurrió un error inesperado");
}


En este caso en caso de ocurrir una excepcion del tipo UnauthorizedAccessException vamos a lanzar otra indicando que no se puede acceder al achivo, ahora cuando ocurra cualquier otra excepción se va a guardar la información y se va a lanzar una excepción personalizada indicando que pasó algo raro. Ahora, sabemos que UnautorizedAccessException hereda de SystemException qué pasa si hacemos esto?:



try 
{
string nombre = @"c:\archivoQueNoExiste.txt";
if (File.Exists(nombre))
{
using (StreamWriter writer = new StreamWriter(nombre))
{
writer.Write("hola mundo"); writer.Close();
}
}
}catch (UnauthorizedAccessException)
{
throw new ExcepcionPersonalizada("No se puede acceder al archivo");
}catch (SystemException)
{
throw new ExcepcionPersonalizada("Error de sistema");
}catch (Exception ex)
{
GuardarInformacionDelError(ex);
throw new ExcepcionPersonalizada("Ocurrió un error inesperado");
}


Bien, se ejecuta el bloque que tiene UnauthorizedAccessException porque siempre se ejecuta primero el bloque con el tipo más especializado, es decir, como la excepción es del tipo UnauthorizedAccessException por más que esta herede de SystemException se ejecuta su bloque para que podamos hacer algo con ese tipo en particuar de excepción, otra cosa con todas las otras excepciones que hereden de systemException y por útlimo otra cosa con el resto.



Otra enseñanza



-Cuando tenemos varios bloque catch se ejecuta el que tiene el tipo que mejor encaja con el de la excepción que se produjo y sólo ese.



Ahora bien, qué pasa si hacemos esto:



try 
{
string nombre = @"c:\archivoQueNoExiste.txt";
if (File.Exists(nombre))
{
using (StreamWriter writer = new StreamWriter(nombre))
{
writer.Write("hola mundo"); writer.Close();
}
}
}catch (ApplicationException)
{
throw new ExcepcionPersonalizada("No se puede acceder al archivo");
}


Nadie atrapa la excepción porque estamos sólo teniendo en cuenta las del tipo ApplicationException y deribadas y no es el caso de UnauthorizedAccessException, entonces la excepción "burbujea" al método que invocó al actual y seguirá haciendo esto hasta que algún bloque maniuple la excepción, si esto nunca ocurre la aplicación pincha, o más técnicamente, el CLR la finaliza con un carte muy feo que habla acerca de nuestro descuído.



Otra enseñanza



-Si no atrapamos una excepción esta burbujea a la capa superior y así sucesivamente hasta que alguien la manipula o el CLR interrumpe la aplicación



No utilizar excepciones como control de flujo para reglas de negocios



Un tema polémico, no es recomendable utilizar excepciones personalizadas para controlar el flujo de la aplicación por dos razones:



-Son costosas a nivel recursos



-Y se llaman excepciones porque deben ocurrir sólo en ocasiones excepcionales



Auque puede haber casos en los que se utilicen, por ejemplo, escribimor un servicio web para que consuma alquien a través de internet, poco seguro sería si la validación de los datos del usuario devolviese un valor booleano si la autenticación del mismo fuera errónea, creo que más de uno pensaría en que es sencillo saltarla, en este caso lo más recomendable es lanzar una excepción para que se interrumpa la comunicación directamente.



Crear excepciones personalizadas



Bueno, no hay mucho para decir, simplemente hay que seguir una regla, que nuestras excepciones hereden de ApplicationException porque Exception está reservada para excepciones del CLR, esto nos va a permitir un mejor filtrado, más aún si definimos nuestra propia excepción base y hacemos heredas todas nuestras excepciones de esta.



Hasta la próxima.



Articulo Gracias a Leonardo Micheloni



Saludos

Herramientas para Empezar a Programar..

Posted by Itachi on lunes 9 de junio de 2008

Gracias a Whibla. Por poner a disposicion estos excelentes recursos, Nos deja un par de recursos para empezar a programar. Teniendo la plena libertad de elegir el Lenguaje de nuestra  preferencia. les dejo dos opciones las versiones express o el dev.

Si quieren estar al tanto de las Novedades y Recursos mas Interesantes. MI recomendacion de este dia es visitar esta web. www.forouniversitario.info

Estos son los enlaces:

 

Visual Basic 2005 Express Edition

http://www.microsoft.com/spanish/msdn/vstudio/express/VB/default.mspx


C++ 2005 Express Edition

http://www.microsoft.com/spanish/msdn/vstudio/express/VC/default.mspx


SQL 2005 Express Edition

http://www.microsoft.com/spanish/msdn/vstudio/express/SQL/default.mspx


Visual Web Developer 2005 Express Edition

http://www.microsoft.com/spanish/msdn/vstudio/express/VWD/default.mspx


Dev C++
http://www.bloodshed.net/dev/devcpp.html


Si quieren para programar en otros lenguajes con los productos Express entren a esta página donde se encuentran todos los productos Express Edition 2005 para descargar gratuitamente.
http://www.microsoft.com/spanish/msdn/vstudio/express/default.mspx
Una recomendacion es que al bajar los productos Express Edition registren el producto ya que se obtienen algunos beneficios y regístrenlo como estudiantes.

Saludos

Gracias A Whibla. Visiten su web. www.probandocodigo.com

Cursos gratuitos de Microsoft .Net Framework 3.0

Posted by Itachi on martes 3 de junio de 2008

image

Microsoft ha puesto ha disposición de los desarrolladores tres cursos (¿premiun clinics?) sobre las nuevas tecnologías de Framework 3.0, son estos:

Para acceder a la Pagina Principal Accede Aqui

Tutorial: Crear un botón mediante Microsoft Expression Blend

Este tutorial le guía a lo largo del proceso de creación de un botón personalizado de WPF mediante Microsoft Expression Blend.

Este es el resultado final.

 image

Al concluir el tutorial. Si deseas acceder al tutorial Click Aqui

Microsoft Expression Blend funciona generando Lenguaje de marcado de aplicaciones extensible (XAML) que luego se compila para crear el programa ejecutable. Si prefiere trabajar directamente con Lenguaje de marcado de aplicaciones extensible (XAML), hay otro tutorial que crea la misma aplicación que este utilizando Lenguaje de marcado de aplicaciones extensible (XAML) con Visual Studio en lugar de Blend. Para obtener más información, consulte Tutorial: Crear un botón mediante el uso de XAML.

Saludos