<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Espacio Digital</title>
	
	<link>http://infoinnova.net</link>
	<description>Tecnología | Informática | Sistemas</description>
	<lastBuildDate>Mon, 14 May 2012 15:18:45 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/EspacioDigital" /><feedburner:info uri="espaciodigital" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>EspacioDigital</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.feedness.com/alta/http://feeds.feedburner.com/EspacioDigital" src="http://www.feedness.com/ayuda/wp-content/square_b_sh_feed.gif">Subscribe with Feedness</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/EspacioDigital" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FEspacioDigital" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Comentarios XML en .NET</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/QmDIn3XMxkU/</link>
		<comments>http://infoinnova.net/2012/05/comentarios-xml-en-net/#comments</comments>
		<pubDate>Mon, 14 May 2012 15:18:45 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Entornos de Desarrollo]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[GhostDoc]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=864</guid>
		<description><![CDATA[Todos sabemos que es una buena costumbre tener todo nuestro código bien documentado no solo para nosotros mismos sino para que cuando el código tenga que ser leído por otra persona le sea claro desde el primer momento. Pero, también sabemos que hacer comentarios en el código aburre (algunos consideramos que nos desconcentra del flujo [...]]]></description>
			<content:encoded><![CDATA[<h5>Todos sabemos que es una buena costumbre tener todo nuestro código bien documentado no solo para nosotros mismos sino para que cuando el código tenga que ser leído por otra persona le sea claro desde el primer momento. Pero, también sabemos que hacer comentarios en el código aburre (algunos consideramos que nos desconcentra del flujo del programa) y ni que hablar de los comentarios XML donde uno tiene que estar recordando las etiquetas necesarias lo cual nos hace perder tiempo y productividad a la hora de programar. </h5>
<h5>En algún momento me construí mi propia herramienta (usando Macros) para documentar código basado en este artículo que me fue súper útil: <a href="http://www.codeproject.com/Articles/12717/Handy-NET-Macro" target="_blank">Handy .NET Macro</a>.</h5>
<p>Menos mal que que existen herramientas para asistirnos en la laboriosa tarea de escribir nuestros amados comentarios XML, sí esos que hay que comenzar con “/// “.</p>
<p>En mi afán de tener una herramienta que documente código ya escrito encontré GhostDoc, que me ha servidor para resolver todas las necesidades que tenía para documentar el código. Veamos algunas características.</p>
<h2>GhostDoc</h2>
<p>GhostDoc es un plug-in compatible tanto con las versiones de Visual Studio 2005&#160; y superiores creado por Roland Weigelt, cuya utilidad es (<strike>Obligarnos a escribir comentarios</strike>), automatizar la escritura de comentarios XML, generando toda la estructura del comentario, lo único que tenemos que hacer es modificar el texto que necesitemos para que todo sea más entendible y legible entre todos los programadores que comparten un proyecto.&#160; Gracias a este plug-in nos ahorramos de escribir una cantidad impresionantes de texto y podemos realizar los comentarios XML muy rápido.</p>
<p><strong>¿Cómo Funciona?      <br /></strong></p>
<p>Muy simple, imaginemos que tenemos unas reglas de negocio complejas y que para ello tenemos que implementar algunas clases (aquí un ejemplo simple) :</p>
<p><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image.png" rel="lightbox[864]" title="image"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image_thumb.png" width="644" height="402" /></a></p>
<p>Teniendo el código así se ve todo complejo y por lo tanto casi imposible de usar si es que no se tiene la documentación de:</p>
<ul>
<li>
<p>¿Para qué sirve la clase?</p>
</li>
<li>
<p>¿Para qué sirve cada método?</p>
</li>
<li>
<p>¿Que representa cada parámetro?</p>
</li>
</ul>
<p>Para proceder con nuestra tarea de documentación asistida tenemos que realizar los siguientes pasos:</p>
<ol>
<li>
<p>Descargar la versión que corresponda de GhostDoc de la siguiente dirección:<a href="http://www.roland-weigelt.de/ghostdoc/"><strong>Roland Weigelt’s&#160; GhostDoc</strong></a>. Luego procedemos a instalarlo dejando los valores por defecto.</p>
</li>
<li>
<p>Al iniciar Visual Studio se nos pedirá que seleccionemos algunas opciones como combinación de teclas para acceso directo, donde también pueden dejar los valores por defecto, para verificar que esté instalado el plug-in, revisar en el menú principal la opción “Tools”, bajo la que ahora debería estar GhostDoc.</p>
</li>
<li>
<p>Ya tenemos todo listo así que nos queda comenzar a generar los comentarios XML, en primer lugar comentaremos la clase, para lo cual pulsamos clic derecho sobre el nombre de la clase y en el menú contextual seleccionamos: “Document this” (también podemos utilizar la combinación de teclas de acceso rápido, si es que dejaron los valores por defecto serán: Ctrl + Shift + D) </p>
<p><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image1.png" rel="lightbox[864]" title="image"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image_thumb1.png" width="644" height="106" /></a></p>
<p>Esto genera la estructura del comentario completa incluida las etiquetas de resumen, poniendo el cursor en posición para escribir la descripción de la clase.</p>
</li>
<li>
<p>A continuación solo nos queda escribir la descripción de la clase:</p>
<p><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image2.png" rel="lightbox[864]" title="image"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image_thumb2.png" width="644" height="155" /></a></p>
</li>
<li>
<p>Ahora nos toca generar los comentarios XML para los métodos, el proceso es el mismo, pulsamos clic derecho sobre el nombre del método y del menú contextual seleccionamos: “Document this”, lo cual genera toda la estructura necesaria para la descripción del método los parámetros de entrada y la salida del método. Ahora solo nos queda escribir la descripción del método, los parámetros y el valor de salida, repetimos el procedimiento para todos los métodos.</p>
</li>
<p><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image3.png" rel="lightbox[864]" title="image"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image_thumb3.png" width="644" height="395" /></a></p>
<li>
<p>Ahora ya tenemos nuestra clase completamente comentada, cabe aclarar que en este caso solo utilizamos comentarios para la clase y para métodos, pero también se pueden generar comentarios para otros miembros de clases como <strong>propiedades</strong> y <strong>eventos</strong>. GhostDoc también tiene numerosas opciones de configuración avanzadas, para las cuales tendrán que profundizar más en el estudio de esta herramienta.</p>
</li>
</ol>
<p><strong>¿Y para qué sirven esos comentarios XML?      <br /></strong>Ahora ya tenemos nuestra clase completamente comentada, y ¿para qué nos sirve esto?, pues si pensamos en lo más inmediato, sirve para que las personas que revisen el código de esta clase puedan guiarse por estos comentarios y entender la funcionalidad de los miembros de la clase, esta no es su única utilidad, también sirve para que los usuarios de nuestra clase sepan cómo utilizar los miembros públicos de la clase, los comentarios XML que escribimos se presentarán como ayudas de <strong>IntelliSense</strong> al momento de escribir el código como se muestra en las siguiente imagen:</p>
<p><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image4.png" rel="lightbox[864]" title="image"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/05/image_thumb4.png" width="644" height="74" /></a></p>
<p>La utilidad de los comentarios XML no termina aquí, también pude servir para generar los archivos de ayuda a partir de estos comentarios XML (pero esto merece otro artículo).    <br />Espero que esta excelente herramienta os motive a escribir más comentarios XML y os sea de utilidad.</p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/05/comentarios-xml-en-net/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/QmDIn3XMxkU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/05/comentarios-xml-en-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/05/comentarios-xml-en-net/</feedburner:origLink></item>
		<item>
		<title>Hands-on con Windows 8</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/CReK1UlLRn0/</link>
		<comments>http://infoinnova.net/2012/04/hands-on-con-windows-8/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 17:18:10 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Hand-on-Labs]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=838</guid>
		<description><![CDATA[Interesante vídeo que resume las nuevas características de Windows 8. Revelan que es el más gran avance desde que se introdujo Windows 95 hace 16 años. Un Windows renovado y reinventado a partir de las robustas características de velocidad y seguridad de Windows 7. Una interfaz táctil completamente nueva. Un nuevo Windows para nuevos dispositivos. [...]]]></description>
			<content:encoded><![CDATA[<p align="justify"><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/04/windows-compare.top1_.jpg" rel="lightbox[838]" title="Windows 8"><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 10px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Windows 8" border="0" alt="Windows 8" align="right" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/04/windows-compare.top1_thumb.jpg" width="240" height="138" /></a>Interesante vídeo que resume las nuevas características de Windows 8. Revelan que es el más gran avance desde que se introdujo Windows 95 hace 16 años. </p>
<p align="justify">Un Windows renovado y reinventado a partir de las robustas características de velocidad y seguridad de Windows 7. Una interfaz táctil completamente nueva. Un nuevo Windows para nuevos dispositivos. </p>
<p align="justify">Se puede descargar la versión preliminar desde <a href="http://windows.microsoft.com/es-ES/windows-8/consumer-preview" target="_blank">aquí</a></p>
<p> <object width="384" height="356" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="ep"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="wmode" value="transparent" /><param name="movie" value="http://i.cdn.turner.com/money/.element/apps/cvp/4.0/swf/cnn_money_384x216_embed.swf?context=embed&amp;videoId=/video/technology/2012/03/14/t-ts-windows-8-review.cnnmoney" /><param name="bgcolor" value="#000000" /><embed src="http://i.cdn.turner.com/money/.element/apps/cvp/4.0/swf/cnn_money_384x216_embed.swf?context=embed&amp;videoId=/video/technology/2012/03/14/t-ts-windows-8-review.cnnmoney" type="application/x-shockwave-flash" bgcolor="#000000" allowfullscreen="true" allowscriptaccess="always" width="384" wmode="transparent" height="356"></embed></object></p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/04/hands-on-con-windows-8/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/CReK1UlLRn0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/04/hands-on-con-windows-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/04/hands-on-con-windows-8/</feedburner:origLink></item>
		<item>
		<title>Máquinas virtuales de Visual Studio 11 y Visual Studio 11 Team Foundation Server Beta</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/hrtIWov2t5k/</link>
		<comments>http://infoinnova.net/2012/03/mquinas-virtuales-de-visual-studio-11-y-visual-studio-11-team-foundation-server-beta/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 13:05:12 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Base de Datos]]></category>
		<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[Entornos de Desarrollo]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Virtualización]]></category>
		<category><![CDATA[Hand-on-Labs]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Team Foundation Server]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=828</guid>
		<description><![CDATA[Nuevas máquinas virtuales disponibles de estos productos con unos interesantes hands-on-labs para empezar a probar y practicar. Todos los enlaces de la descarga y la descripción de su uso se pueden encontrar aquí. Aquí unas capturas de pantalla para abrir el apetito… La máquina virtual está tiene dos aplicaciones Web desarrolladas por Fabrikam Fiber – [...]]]></description>
			<content:encoded><![CDATA[<p>Nuevas máquinas virtuales disponibles de estos productos con unos interesantes hands-on-labs para empezar a probar y practicar. Todos los enlaces de la descarga y la descripción de su uso se pueden encontrar <a href="http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx" target="_blank">aquí</a>.</p>
<p>Aquí unas capturas de pantalla para abrir el apetito…</p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/0435.Fabrikam_2D00_Fiber_5F00_051B293B.png" rel="lightbox[828]" title="Fabrikam Fiber"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Fabrikam Fiber" border="0" alt="Fabrikam Fiber" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/0458.Fabrikam_2D00_Fiber_5F00_thumb_5F00_77D4A027.png" width="500" height="283" /></a>    <br /><i>La máquina virtual está tiene dos aplicaciones Web desarrolladas por </i><i>Fabrikam Fiber – un proveedor de servicios de cable y telecomunicaciones. Ellos usan las herramientas de </i><i>Visual Studio application lifecycle management para administrar su código fuente, ejecutar sus compilaciones, probar los sitios Web, así como planificar y hacer un seguimiento al proyecto.     <br /></i></p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/3175.PowerPoint_2D00_Storyboarding_5F00_68518E58.png" rel="lightbox[828]" title="PowerPoint Storyboarding"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="PowerPoint Storyboarding" border="0" alt="PowerPoint Storyboarding" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/1106.PowerPoint_2D00_Storyboarding_5F00_thumb_5F00_7811235C.png" width="500" height="283" /></a>    <br /><em>La nueva herramienta Storyboarding de PowerPoint hará más fácil afinar los requerimientos y asegurarse que el equipo esté desarrollando el software correcto antes de escribir una línea de código. </em></p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/8446.Team_2D00_Web_2D00_Access_2D00_Home_5F00_3D497A86.png" rel="lightbox[828]" title="Team Web Access Home"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Team Web Access Home" border="0" alt="Team Web Access Home" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/4152.Team_2D00_Web_2D00_Access_2D00_Home_5F00_thumb_5F00_13F23288.png" width="500" height="283" /></a>    <br /><em>El equipo de </em><i>Fabrikam Fiber&#160; usa Team Web Access portal&#160; para ayudarles a colaborar de manera más efectiva como equipo.      <br /></i></p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/5381.Product_2D00_Backlog_2D00_with_2D00_Forecast_2D00_Lines_5F00_279F1C1C.png" rel="lightbox[828]" title="Product Backlog with Forecast Lines"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Product Backlog with Forecast Lines" border="0" alt="Product Backlog with Forecast Lines" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/2260.Product_2D00_Backlog_2D00_with_2D00_Forecast_2D00_Lines_5F00_thumb_5F00_2CA159CB.png" width="500" height="283" /></a>    <br /><i><em>El equipo de </em></i><i>Fabrikam Fiber&#160; mantiene</i> una un registro común dentro de la Web para seguir el trabajo futuro y empezar a asignar esta labor a las iteraciones.</p>
<p align="center"><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/2161.Sprint_2D00_Backlog_5F00_1D1E47FC.png" rel="lightbox[828]" title="Sprint Backlog"><img title="Sprint Backlog" border="0" alt="Sprint Backlog" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/7853.Sprint_2D00_Backlog_5F00_thumb_5F00_743332F2.png" width="500" height="283" /></a></p>
<p><em>Los elementos del registro de pedidos se puede descomponer en iteraciones y se descompone, con un punto de vista sobre la capacidad de cada miembro del equipo de manera que se evita la sobrecarga en las personas más allá de lo que puede ofrecer con éxito.</em></p>
<p><i><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/2161.Task_2D00_Board_5F00_61120646.png" rel="lightbox[828]" title="Task Board"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Task Board" border="0" alt="Task Board" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/1184.Task_2D00_Board_5F00_thumb_5F00_46656A2D.png" width="500" height="283" /></a>      <br /></i><i><em>El equipo de </em></i><i>Fabrikam Fiber&#160; </i><i>usa la nueva “task board” en la Web para hacer un seguimiento del trabajo en todo el proyecto. Echa un vistazo a la &quot;gestión de proyectos ágil &#8230;&quot;.</i></p>
<p><i><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/8424.Team_2D00_Explorer_2D00_Home_5F00_64CFAB16.png" rel="lightbox[828]" title="Team Explorer Home"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Team Explorer Home" border="0" alt="Team Explorer Home" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/2664.Team_2D00_Explorer_2D00_Home_5F00_thumb_5F00_3B786318.png" width="500" height="283" /></a>      <br />El explorador del Equipo ha sido totalmente re-diseñado .      <br /></i></p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/2148.Team_2D00_Explorer_2D00_Everywhere_5F00_25AE7ABB.png" rel="lightbox[828]" title="Team Explorer Everywhere"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Team Explorer Everywhere" border="0" alt="Team Explorer Everywhere" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/2654.Team_2D00_Explorer_2D00_Everywhere_5F00_thumb_5F00_296C1F8B.png" width="500" height="283" /></a>    <br /><em>También los desarrolladores con Eclipse tienen una actualización con mejoras en la apariencia.</em></p>
<p><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/3730.Unit_2D00_Testing_5F00_40B723FC.png" rel="lightbox[828]" title="Unit Testing"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Unit Testing" border="0" alt="Unit Testing" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/4621.Unit_2D00_Testing_5F00_thumb_5F00_52B341BC.png" width="500" height="283" /></a>    <br /><i>Visual Studio 11 permitirá que herramientas de terceros tales como NUnit and xUnit, puedan hacer pruebas unitarias.     <br /></i></p>
<p><i><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/3125.Code_2D00_Clone_2D002D002D00_Comparing_2D00_Two_2D00_Matches_5F00_49E33970.png" rel="lightbox[828]" title="Code Clone - Comparing Two Matches"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Code Clone - Comparing Two Matches" border="0" alt="Code Clone - Comparing Two Matches" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/3618.Code_2D00_Clone_2D002D002D00_Comparing_2D00_Two_2D00_Matches_5F00_thumb_5F00_201FBE7D.png" width="500" height="283" /></a>      <br />En el laboratorio de pruebas unitarias, también descubrirá la nueva y poderosa capacidad clonar código. Esto le permite encontrar bloques de código semánticamente similares, lo que podría abrir nuevas oportunidades de refactorización,o indicar bloques de código que necesitan una corrección común de errores.</i></p>
<p><i><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/7532.Exploratory_2D00_Testing_2D002D002D00_Filing_2D00_a_2D00_Bug_2D00_1_5F00_3360751C.png" rel="lightbox[828]" title="Exploratory Testing - Filing a Bug 1"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Exploratory Testing - Filing a Bug 1" border="0" alt="Exploratory Testing - Filing a Bug 1" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/0181.Exploratory_2D00_Testing_2D002D002D00_Filing_2D00_a_2D00_Bug_2D00_1_5F00_thumb_5F00_6A5A5355.png" width="500" height="283" /></a>      <br />Microsoft Test Manager 11 ofrece un apoyo aún mayor para las pruebas exploratorias.Esto le permite poner una marca de probador en adelante, encontrar errores, y&#160; automáticamente capturar los diagnósticos.      <br /></i></p>
<p><em><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/0676.Give_2D00_Feedback_5F00_2FFEDD74.png" rel="lightbox[828]" title="Give Feedback"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Give Feedback" border="0" alt="Give Feedback" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/1663.Give_2D00_Feedback_5F00_thumb_5F00_772483A6.png" width="500" height="283" /></a>      <br />Y ya que hay cambios en la Web <i><em>El equipo de </em></i><i>Fabrikam Fiber, puede recabar la opinión de las partes interesadas para asegurarse de que lo que se construyó cumple con las expectativas de los usuarios finales, los abogados de privacidad, el director general, o quien más tiene que ofrecer las pruebas de aceptación del software. La nueva retroalimentación de los clientes facilita este proceso mediante la captura de datos, mientras que un actor está evaluando el software. Estos datos &#8211; que puede incluir grabaciones de vídeo, texto y las anotaciones de audio y recortes de pantalla &#8211; todos pueden ser almacenados en Team Foundation Server para facilitar el acceso al equipo de desarrollo y la trazabilidad completa de los requisitos originales </i>.</em></p>
<p><i><a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/3125.IntelliTrace_2D00_Capture_5F00_71D59CF5.png" rel="lightbox[828]" title="IntelliTrace Capture"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="IntelliTrace Capture" border="0" alt="IntelliTrace Capture" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-30-07-metablogapi/7411.IntelliTrace_2D00_Capture_5F00_thumb_5F00_0FD3AAEA.png" width="500" height="283" /></a>      <br /></i>Por último, sabemos que la gestión de ciclo de vida de la aplicación no termina cuando se libera una versión . Visual Studio 11 amplía las capacidades de IntelliTrace que le permite capturar archivos ricos en contenido de las máquinas que se ejecutan en su entorno de producción con bajo impacto mediante comandos de PowerShell. Esto le da una amplia información, la depuración histórica queda a su alcance &#8211; lo que le permite ver exactamente qué errores se están produciendo en su entorno de producción.</p>
<p>¡A disfrutarlo!</p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/03/mquinas-virtuales-de-visual-studio-11-y-visual-studio-11-team-foundation-server-beta/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/hrtIWov2t5k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/03/mquinas-virtuales-de-visual-studio-11-y-visual-studio-11-team-foundation-server-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/03/mquinas-virtuales-de-visual-studio-11-y-visual-studio-11-team-foundation-server-beta/</feedburner:origLink></item>
		<item>
		<title>T-SQL: Listar todos los Procedimientos Almacenados de una Base de Datos</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/EqNnBB2FFdc/</link>
		<comments>http://infoinnova.net/2012/03/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos-2/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 23:29:00 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Base de Datos]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=822</guid>
		<description><![CDATA[En un artículo anterior mostraba un Script para Listar Esquemas y Tablas de una base de datos, y siguiendo con la secuencia de Scripts para SQL Server, aquí tenemos la forma de como obtener todos los procedimientos almacenados de una base de datos. SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' ORDER BY ROUTINE_NAME Que [...]]]></description>
			<content:encoded><![CDATA[<p align="justify"><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/03/SNAGHTMLb804b41.png" rel="lightbox[822]" title="Procedimientos Almacenados "><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Procedimientos Almacenados " border="0" alt="Procedimientos Almacenados " align="right" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/03/SNAGHTMLb804b4_thumb.png" width="300" height="47" /></a>En un artículo anterior mostraba un Script para <a href="http://infoinnova.net/2012/02/listar-esquemas-y-tablas-de-una-base-de-datos/">Listar Esquemas y Tablas de una base de datos</a>, y siguiendo con la secuencia de Scripts para SQL Server, aquí tenemos la forma de como obtener todos los procedimientos almacenados de una base de datos.</p>
<pre class="csharpcode"><span class="kwrd">SELECT</span> ROUTINE_NAME <span class="kwrd">FROM</span> INFORMATION_SCHEMA.ROUTINES
   <span class="kwrd">WHERE</span> ROUTINE_TYPE = <span class="str">'PROCEDURE'</span>
   <span class="kwrd">ORDER</span> <span class="kwrd">BY</span> ROUTINE_NAME </pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Que os sea útil <img src='http://infoinnova.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  </p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/03/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos-2/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/EqNnBB2FFdc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/03/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/03/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos-2/</feedburner:origLink></item>
		<item>
		<title>Menú para “Todos los usuarios” en Windows Vista, Windows 7 Windows 2008 y demás ediciones superiores</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/A0jhGYDWLJA/</link>
		<comments>http://infoinnova.net/2012/02/menu-para-todos-los-usuarios-en-windows-vista-windows-7-windows-2008-y-demas-ediciones-superiores/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 00:47:00 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Ofimática]]></category>
		<category><![CDATA[Sistemas Operativos]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=809</guid>
		<description><![CDATA[En las ediciones de Windows si queríamos agregar un elemento al Menú Inicio para todos los usuarios se podía ir al menú contextual del menú Inicio de Windows tal como se muestra en la imagen. Sin embargo en la ediciones de Windows Vista, Windows 7 Windows 2008 y demás ediciones superiores ese menú ha desaparecido. [...]]]></description>
			<content:encoded><![CDATA[<p align="justify"><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Menú todos los usuarios Windows" border="0" alt="Menú todos los usuarios Windows" align="right" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/02/image1.png" width="244" height="163" />En las ediciones de Windows si queríamos agregar un elemento al <font style="font-weight: bold">Menú Inicio para todos los usuarios</font> se podía ir al menú contextual del menú Inicio de Windows tal como se muestra en la imagen. Sin embargo en la ediciones de Windows Vista, Windows 7 Windows 2008 y demás ediciones superiores ese menú ha desaparecido. </p>
<p align="justify">El lugar donde ahora se encuentra la carpeta del Menú para todos los usuarios está en <strong>C:\ProgramData\Microsoft\Windows\Start Menu</strong> (Típicamente C: o la unidad donde esté instalado el sistema operativo). Aquí se pueden crear todos los accesos directos que se necesiten y estarán habilitados para todos los usuarios. Se puede ir directamente a esta carpeta, pero está oculta por defecto, así que sería necesario seleccionar la opción “Mostrar archivos, carpetas y unidades ocultos” de “Opciones de Carpeta y búsqueda” del menú organizar en el explorador de Windows.</p>
<p align="justify">Si se trata de acceder directamente a la carpeta “C:\Users\All Users\Start Menu”, se mostrará un mensaje de acceso denegado, porque a pesar del nombre, no es el lugar que se debería usar de todas formas. Para eso se usa la carpeta <strong>C:\ProgramData\Microsoft\Windows\Start Menu.</strong></p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/02/menu-para-todos-los-usuarios-en-windows-vista-windows-7-windows-2008-y-demas-ediciones-superiores/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/A0jhGYDWLJA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/02/menu-para-todos-los-usuarios-en-windows-vista-windows-7-windows-2008-y-demas-ediciones-superiores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/02/menu-para-todos-los-usuarios-en-windows-vista-windows-7-windows-2008-y-demas-ediciones-superiores/</feedburner:origLink></item>
		<item>
		<title>T-SQL: Listar Esquemas y Tablas de una base de datos</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/Lx21O21fj1o/</link>
		<comments>http://infoinnova.net/2012/02/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 23:30:00 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Base de Datos]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=805</guid>
		<description><![CDATA[En un artículo anterior mostraba un Script para Listar todas las tablas de una base de datos con sus respectivos tamaños. Aquí una forma mas simple en el supuesto caso que solo quisiéramos ver las tablas y sus respectivos esquemas. &#160; SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_type='BASE TABLE' ORDER BY table_name &#160; Que os sea [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/02/image.png" rel="lightbox[805]" title="T-SQL"><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="T-SQL" border="0" alt="T-SQL" align="right" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/02/image_thumb.png" width="260" height="62" /></a>En un artículo anterior mostraba un Script para <a href="http://infoinnova.net/2012/01/tablas-de-una-base-de-datos-con-sus-respectivos-tamanos/">Listar todas las tablas de una base de datos con sus respectivos tamaños</a>. Aquí una forma mas simple en el supuesto caso que solo quisiéramos ver las tablas y sus respectivos esquemas.</p>
<p>&#160;</p>
<pre class="csharpcode"><span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> INFORMATION_SCHEMA.TABLES
<span class="kwrd">WHERE</span> table_type=<span class="str">'BASE TABLE'</span>
<span class="kwrd">ORDER</span> <span class="kwrd">BY</span> table_name</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<p>Que os sea útil <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Guiño" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/02/wlEmoticon-winkingsmile.png" /></p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/02/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/Lx21O21fj1o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/02/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/02/t-sql-listar-todos-los-procedimientos-almacenados-de-una-base-de-datos/</feedburner:origLink></item>
		<item>
		<title>T-SQL: Listar todas las tablas de una base de datos con sus respectivos tamaños</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/BdaWxbQQFM4/</link>
		<comments>http://infoinnova.net/2012/01/tablas-de-una-base-de-datos-con-sus-respectivos-tamanos/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 23:55:00 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Base de Datos]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=794</guid>
		<description><![CDATA[¿Habéis necesitado alguna vez saber el tamaño que ocupa cada tabla de una base de datos en SQL Server?. Investigando sobre el tema, he logrado obtener la consulta con la que obtenemos esa información. Básicamente se trata de hacer una consulta de la tabla “sysindexes”, pero al tener muchos campos y algunos datos directamente ilegibles [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">¿Habéis necesitado alguna vez saber el tamaño que ocupa cada tabla de una base de datos en SQL Server?. Investigando sobre el tema, he logrado obtener la consulta con la que obtenemos esa información. </p>
<p align="justify">Básicamente se trata de hacer una consulta de la tabla “<strong>sysindexes</strong>”, pero al tener muchos campos y algunos datos directamente ilegibles construimos una consulta haciendo las conversiones de datos solo de los campos que nos interesan, así como también los filtros respectivos para que no se incluya información que no sean propiedades de una tabla. Finalmente a esta consulta le podemos dar un formato numérico más legible y ordenarlo por el campo que nos sea de interés. En el siguiente ejemplo está ordenado descendentemente por número de registros que contiene la tabla. </p>
<pre class="csharpcode"><font size="1"><span class="kwrd">SELECT</span>
    X.[name],
    REPLACE(<span class="kwrd">CONVERT</span>(<span class="kwrd">varchar</span>, <span class="kwrd">CONVERT</span>(money, X.[<span class="kwrd">rows</span>]), 1), <span class="str">'.00'</span>, <span class="str">''</span>)
        <span class="kwrd">AS</span> [<span class="kwrd">rows</span>],
    REPLACE(<span class="kwrd">CONVERT</span>(<span class="kwrd">varchar</span>, <span class="kwrd">CONVERT</span>(money, X.[reserved]), 1), <span class="str">'.00'</span>, <span class="str">''</span>)
        <span class="kwrd">AS</span> [reserved],
    REPLACE(<span class="kwrd">CONVERT</span>(<span class="kwrd">varchar</span>, <span class="kwrd">CONVERT</span>(money, X.[<span class="kwrd">data</span>]), 1), <span class="str">'.00'</span>, <span class="str">''</span>)
        <span class="kwrd">AS</span> [<span class="kwrd">data</span>],
    REPLACE(<span class="kwrd">CONVERT</span>(<span class="kwrd">varchar</span>, <span class="kwrd">CONVERT</span>(money, X.[index_size]), 1), <span class="str">'.00'</span>, <span class="str">''</span>)
        <span class="kwrd">AS</span> [index_size],
    REPLACE(<span class="kwrd">CONVERT</span>(<span class="kwrd">varchar</span>, <span class="kwrd">CONVERT</span>(money, X.[unused]), 1), <span class="str">'.00'</span>, <span class="str">''</span>)
        <span class="kwrd">AS</span> [unused]
<span class="kwrd">FROM</span>
(<span class="kwrd">SELECT</span>
    <span class="kwrd">CAST</span>(object_name(id) <span class="kwrd">AS</span> <span class="kwrd">varchar</span>(50))
        <span class="kwrd">AS</span> [name],
    <span class="kwrd">SUM</span>(<span class="kwrd">CASE</span> <span class="kwrd">WHEN</span> indid &lt; 2 <span class="kwrd">THEN</span> <span class="kwrd">CONVERT</span>(bigint, [<span class="kwrd">rows</span>]) <span class="kwrd">END</span>)
        <span class="kwrd">AS</span> [<span class="kwrd">rows</span>],
    <span class="kwrd">SUM</span>(<span class="kwrd">CONVERT</span>(bigint, reserved)) * 8
        <span class="kwrd">AS</span> reserved,
    <span class="kwrd">SUM</span>(<span class="kwrd">CONVERT</span>(bigint, dpages)) * 8
        <span class="kwrd">AS</span> <span class="kwrd">data</span>,
    <span class="kwrd">SUM</span>(<span class="kwrd">CONVERT</span>(bigint, used) - <span class="kwrd">CONVERT</span>(bigint, dpages)) * 8
        <span class="kwrd">AS</span> index_size,
    <span class="kwrd">SUM</span>(<span class="kwrd">CONVERT</span>(bigint, reserved) - <span class="kwrd">CONVERT</span>(bigint, used)) * 8
        <span class="kwrd">AS</span> unused
    <span class="kwrd">FROM</span> sysindexes <span class="kwrd">WITH</span> (NOLOCK)
    <span class="kwrd">WHERE</span> sysindexes.indid <span class="kwrd">IN</span> (0, 1, 255)
        <span class="kwrd">AND</span> sysindexes.id &gt; 100
        <span class="kwrd">AND</span> object_name(sysindexes.id) &lt;&gt; <span class="str">'dtproperties'</span>
    <span class="kwrd">GROUP</span> <span class="kwrd">BY</span> sysindexes.id <span class="kwrd">WITH</span> <span class="kwrd">ROLLUP</span>
) <span class="kwrd">AS</span> X
<span class="kwrd">WHERE</span> X.[name] <span class="kwrd">is</span> <span class="kwrd">not</span> <span class="kwrd">null</span>
<span class="kwrd">ORDER</span> <span class="kwrd">BY</span> X.[<span class="kwrd">rows</span>] DESC</font></pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<p><a href="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/01/image.png" rel="lightbox[794]" title="T-SQL"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="T-SQL" border="0" alt="T-SQL" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/01/image_thumb.png" width="244" height="208" /></a></p>
<p>Espero que os sea de utilidad. </p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/01/tablas-de-una-base-de-datos-con-sus-respectivos-tamanos/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/BdaWxbQQFM4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/01/tablas-de-una-base-de-datos-con-sus-respectivos-tamanos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/01/tablas-de-una-base-de-datos-con-sus-respectivos-tamanos/</feedburner:origLink></item>
		<item>
		<title>C# WinAPI: Trabajando con ficheros INI</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/PHny-gs9F10/</link>
		<comments>http://infoinnova.net/2012/01/c-winapi-trabajando-con-ficheros-ini/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 10:26:14 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Entornos de Desarrollo]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=782</guid>
		<description><![CDATA[¿Cómo trabajar con los ficheros INI usando el .NET Framework?. Los ficheros INI son ficheros de configuración utilizados por las aplicaciones de los sistemas operativos Windows (El término proviene de &#34;Windows Initialization file&#34;). Hoy en día es más común usar el Registro del sistema operativo o almacenar las configuraciones en ficheros XML. Sin embargo muchas [...]]]></description>
			<content:encoded><![CDATA[<p align="justify"><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="csharpthebasics[1]" border="0" alt="csharpthebasics[1]" align="right" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/01/csharpthebasics11.jpg" width="244" height="178" />¿Cómo trabajar con los ficheros INI usando el <strong>.NET Framework</strong>?. Los ficheros <strong>INI</strong> son ficheros de configuración utilizados por las aplicaciones de los sistemas operativos Windows (El término proviene de &quot;Windows Initialization file&quot;). Hoy en día es más común usar el Registro del sistema operativo o almacenar las configuraciones en ficheros XML. Sin embargo muchas características de aplicaciones Windows siguen usando los ficheros INI&#160; (por ejemplo los favoritos del Internet Explorer).</p>
<p align="justify">Para crear un programa que lea y escriba ficheros INI desde .NET necesitamos dos métodos definidos en el Kernel32: <i><strong>WritePrivateProfileString</strong></i>&#160; para escribir y <i><strong>GetPrivateProfileString</strong></i> para leer:</p>
<pre class="csharpcode">[DllImport(<span class="str">&quot;kernel32.dll&quot;</span>)]
<span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">extern</span> <span class="kwrd">long</span> WritePrivateProfileString(
<span class="kwrd">   string</span> section,
<span class="kwrd">   string</span> key,
<span class="kwrd">   string</span> val,
<span class="kwrd">   string</span> filePath);

[DllImport(<span class="str">&quot;kernel32.dll&quot;</span>)]
<span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">extern</span> <span class="kwrd">int</span> GetPrivateProfileString(
<span class="kwrd">   string</span> section,
<span class="kwrd">   string</span> key,
<span class="kwrd">   string</span> def,
<span class="kwrd">   StringBuilder</span> retVal,
<span class="kwrd">   int</span> size,
<span class="kwrd">   string</span> filePath);</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/01/c-winapi-trabajando-con-ficheros-ini/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/PHny-gs9F10" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/01/c-winapi-trabajando-con-ficheros-ini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/01/c-winapi-trabajando-con-ficheros-ini/</feedburner:origLink></item>
		<item>
		<title>El efecto del cierre de Megaupload en el tráfico de internet</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/7V_czQ6Qt64/</link>
		<comments>http://infoinnova.net/2012/01/el-efecto-del-cierre-de-megaupload-en-el-tarfico-de-internet/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 22:59:00 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Redes Sociales]]></category>
		<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[Medios Digitales]]></category>
		<category><![CDATA[Megaupload]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=771</guid>
		<description><![CDATA[Un gráfico en el que se puede ver como Megaupload tenía un alto porcentaje de trafico en Internet, y ahora que sus servidores han sido intervenidos y dados de baja, realmente se nota mucho la reducción del consumo del ancho de banda de los usuarios finales. Será momento de preguntarse si esto hará que otros [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Un gráfico en el que se puede ver como <strong>Megaupload</strong> tenía un alto porcentaje de trafico en Internet, y ahora que sus servidores han sido intervenidos y dados de baja, realmente se nota mucho la reducción del consumo del ancho de banda de los usuarios finales. Será momento de preguntarse si esto hará que otros tipos de tráfico repunten en la red, tales como el tráfico de los servicios <strong>peer-to-peer</strong> (conexiones punto a punto) que podría indicar que los <strong>MegaUploaders</strong> se convertían en usuarios de <strong>BitTorrent</strong>. De momento no se sabe nada. </p>
<p><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="mega[1]" border="0" alt="mega[1]" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2012/01/mega1.jpg" width="480" height="362" /></p>
<p>Vía <a href="http://gigaom.com/2012/01/20/follow-the-traffic-what-megauploads-downfall-did-to-the-web/" target="_blank">GigaOM</a></p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/01/el-efecto-del-cierre-de-megaupload-en-el-tarfico-de-internet/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/7V_czQ6Qt64" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/01/el-efecto-del-cierre-de-megaupload-en-el-tarfico-de-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/01/el-efecto-del-cierre-de-megaupload-en-el-tarfico-de-internet/</feedburner:origLink></item>
		<item>
		<title>Crear discos virtuales VHD a partir de un disco duro físico</title>
		<link>http://feedproxy.google.com/~r/EspacioDigital/~3/6QrQXcRwsqs/</link>
		<comments>http://infoinnova.net/2012/01/crear-discos-virtuales-vhd/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 09:45:00 +0000</pubDate>
		<dc:creator>Juan Carlos Heredia</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[VHD]]></category>
		<category><![CDATA[Virtualización]]></category>

		<guid isPermaLink="false">http://infoinnova.net/?p=533</guid>
		<description><![CDATA[Una de las cosas que a muchos nos pasa es que aún tenemos algún equipo que ya lleva mucho tiempo en marcha y necesitamos formatearlo pero siempre lo postergamos porque no sabemos que daños colaterales pueda causar esta tarea ya que puede llevar instalados programas y contener archivos en su disco de sistema (aunque tenga [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Una de las cosas que a muchos nos pasa es que aún tenemos algún equipo que ya lleva mucho tiempo en marcha y necesitamos formatearlo pero siempre lo postergamos porque no sabemos que daños colaterales pueda causar esta tarea ya que puede llevar instalados programas y contener archivos en su disco de sistema (aunque tenga un disco extra para datos), sabemos que en la partición del sistema siempre los programas guardan configuraciones y demás archivos que son necesarios. </p>
<p align="justify">En estos casos normalmente no basta con hacer un copia completa del disco duro sobre otro disco, formatear y listo; así sólo conseguiremos tener acceso desde la nueva máquina a los ficheros físicos del sistema anterior, pero no podremos realizar tareas de nivel superior, como copiar configuraciones, exportar o importar datos desde aplicaciones, etc. Y lo que es imposible, en muchos casos, es planificar este movimiento con tanta exactitud que no se quede ni un byte por detrás. Por suerte para este tipo de tareas podemos con cierta tranquilidad era <strong>virtualizar el sistema anterior</strong>. Esto nos permitiría acceder en vivo a la configuración anterior y traspasar archivos con la seguridad que se necesita.</p>
<p align="justify">Y aquí es donde ha entrado en juego <a href="http://technet.microsoft.com/es-es/sysinternals/ee656415(en-us).aspx">Disk2Vhd</a>, la magnífica herramienta de <strong>Sysinternals</strong> (recomendada por <a href="http://technet.microsoft.com/es-es/sysinternals/default.aspx">Microsoft</a>), que es capaz de generar un disco duro virtual (archivo con extensión .vhd) a partir de un disco duro físico. Y lo mejor de todo, que puede hacerlo sobre el propio equipo que está generando el volcado, es decir, <em>en caliente</em>.</p>
<p align="justify">Para esto es necesario trabajar con Windows XP SP2, Windows Server 2003 SP1 o superiores, incluyendo sistemas x64, y suficiente espacio en un disco duro como para almacenar el archivo resultante del volcado (por ejemplo, en un disco duro externo).</p>
<p align="justify"><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 5px 10px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Disk2vhd" border="0" alt="Disk2vhd" align="right" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2011/03/Disk2vhd.jpg" width="317" height="240" />La aplicación es muy sencilla de utilizar. Se descarga desde <a href="http://technet.microsoft.com/es-es/sysinternals/ee656415(en-us).aspx">su sitio web</a> y se ejecuta, no requiere instalación (también puedes <a href="http://live.sysinternals.com/Disk2vhd.exe">descargar directamente desde aquí</a>); tras ello, simplemente debemos elegir los discos a virtualizar, seleccionar una ubicación de salida para el archivo .vhd, esperar unas horas (dependiendo del tamaño) y ya lo tenemos. Normalmente bastará con virtualizar el disco de sistema.</p>
<ol>
<ul>
<li>
<div align="justify"><strong><u>Primer consejo</u></strong>: Para que la conversión se realice más rápidamente, lo mejor es hacer que el .vhd a generar resida en un disco duro distinto del que estamos virtualizando, aunque se puede realizar sobre el mismo. Una vez con el archivo .vhd a buen recaudo, ya podemos formatear tranquilamente el disco del sistema, montar el nuevo sistema operativo y comenzar a instalar las aplicaciones que vayamos a necesitar.           <br />Para acceder al sistema anterior tal y como estaba antes de la masacre, basta con instalar Virtual PC, crear una máquina virtual, “engancharle” el disco .vhd que hemos generado, y arrancar normalmente, pero ojo:</div>
</li>
<li>
<div align="justify"><strong><u>Segundo consejo</u></strong>: haz una copia de seguridad del archivo .vhd antes de realizar cambios sobre el disco duro virtual. Me he encontrado algunos callejones sin salida en los que me ha venido de perlas (p.e., petes del Virtual PC al instalar las Virtual Machine Additions que me dejaban la máquina virtual inutilizada).           <br />La primera vez que enciendes la máquina virtual se llevará un <em>buen </em>rato arrancando Windows; es lógico, pues todos los controladores que tiene instalados corresponden a la máquina física, y el nuevo entorno debe ser configurado, prácticamente igual que si hubiéramos instalado el disco duro físicamente en otro equipo y arrancáramos desde él. Cuando esta reconfiguración finaliza, podremos utilizar con normalidad la máquina virtual e ir pasando las configuraciones y archivos al nuevo sistema tranquilamente.</div>
</li>
<li>
<div align="justify"><strong><u>Tercer consejo</u></strong>: revisa la configuración básica de tu máquina virtual para evitar conflictos y funcionamiento anómalo en algunas aplicaciones; nombre de máquina, dirección IP, variables de entorno del sistema operativo, etc. En mi caso, la variable TMP/TEMP apuntaba a una unidad inexistente en el entorno virtual, y provocó algún que otro problemilla.</div>
</li>
</ul>
</ol>
<p align="justify">Y por si lo que queremos acceder a los datos del equipo anterior en bruto, existe la posibilidad de <strong>montar un archivo .vhd como si fuera un disco duro</strong> más y acceder a su contenido directamente, por lo que podemos evitar la incomodidad de tener que arrancar Virtual PC para todo. Si usas Windows 7 (o 2008), esta capacidad viene “de serie”, sólo tienes que <a href="http://geeks.ms/blogs/vista-tecnica/archive/2008/12/01/soporte-nativo-de-archivos-vhd-en-windows-7.aspx">activarla desde el administrador de discos</a>:</p>
<p align="center"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Disk Management" border="0" alt="Disk Management" src="http://infoinnova.net/wp-content/blogs.dir/1/files/2011/03/image61.png" width="480" height="367" /></p>
<div class="AWD_facebook_likebutton "><fb:like href="http://infoinnova.net/2012/01/crear-discos-virtuales-vhd/" send="false" width="300" colorscheme="light" layout=standard show_faces="false" font="arial" action="like" ref=""></fb:like></div><img src="http://feeds.feedburner.com/~r/EspacioDigital/~4/6QrQXcRwsqs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://infoinnova.net/2012/01/crear-discos-virtuales-vhd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://infoinnova.net/2012/01/crear-discos-virtuales-vhd/</feedburner:origLink></item>
	</channel>
</rss>

