<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Oscar Angulo</title>
	<atom:link href="http://www.oscarangulo.cl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oscarangulo.cl</link>
	<description>Desarrollo, Arquitectura, Tecnologías y mucho mas...</description>
	<lastBuildDate>Thu, 18 Feb 2010 20:22:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apple – Patente muestra cámara frontal para dispositivos de mano…</title>
		<link>http://www.oscarangulo.cl/2010/02/145/</link>
		<comments>http://www.oscarangulo.cl/2010/02/145/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 20:22:13 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[frontal]]></category>
		<category><![CDATA[patente]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=145</guid>
		<description><![CDATA[
Una solicitud de patente  de Apple, ha despertado la inquietud de muchos Geeks, ya que aborda un cámara frontal en sus dispositivos de mano… ¿iPad ChatRoulette?
La patente, con un titulo algo escurridizo enunciando &#8220;Apparatus and Method for Compensating for Variations in Digital Cameras&#8221; algo así como “Aparatos para compensar las variaciones de las cámaras digitales”, <a href='http://www.oscarangulo.cl/2010/02/145/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="Apple" src="http://www.oscarangulo.cl/imagenes/apple-front-camera/camera.jpg" alt="" width="500" height="511" /></p>
<p style="text-align: justify;">Una solicitud de patente  de Apple, ha despertado la inquietud de muchos Geeks, ya que aborda un cámara frontal en sus dispositivos de mano… ¿iPad ChatRoulette?</p>
<p style="text-align: justify;">La patente, con un titulo algo escurridizo enunciando &#8220;Apparatus and Method for Compensating for Variations in Digital Cameras&#8221; algo así como “Aparatos para compensar las variaciones de las cámaras digitales”, esboza las maneras en que la compañía podría dar cuenta de las variaciones en el proceso de fabricaciones de sus cámaras digitales.</p>
<p style="text-align: justify;"><span id="more-145"></span></p>
<p style="text-align: justify;">Pero el objetivo de esta patente no importa mucho, lo mas interesante es donde esta posicionada dentro de los dispositivos de la gran manzana, en la mayoría orientados hacia delante, lo que lo hace inmensamente interesante, en una de esas todo esto es una broma, pero si Steve lo llegase a hacer real, muchos lo aplaudirían o no?&#8230;</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 3px; width: 1px; height: 1px;"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]> <mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} --> <!--[endif]--></p>
<p class="MsoNormal"><span lang="ES-CL">Una solicitud de patente <span> </span>de Apple, ha despertado la inquietud de muchos Geeks, ya que aborda un cámara frontal en sus dispositivos de mano… ¿iPad ChatRoulette?</span></p>
<p class="MsoNormal"><span lang="ES-CL"> </span></p>
<p class="MsoNormal"><span lang="ES-CL">La patente, con un titulo algo escurridizo enunciando </span>&#8220;Apparatus and Method for Compensating for Variations in Digital Cameras&#8221; algo así como “Aparatos para compensar las variaciones de las cámaras digitales”, esboza las maneras en que la compañía podría dar cuenta de las variaciones en el proceso de fabricaciones de sus cámaras digitales.</p>
<p class="MsoNormal">
<p class="MsoNormal"><span lang="ES-CL">Pero el objetivo de esta patente no importa mucho, lo mas interesante es donde esta posicionada dentro de los dispositivos de la gran manzana, en la mayoría orientados hacia delante, lo que lo hace inmensamente interesante, en una de esas todo esto es una broma, pero si Steve lo llegase a hacer real, muchos lo aplaudirían o no?&#8230;</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2010/02/145/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vacunas gripe H1N1?, Ahora?</title>
		<link>http://www.oscarangulo.cl/2010/02/vacunas-gripe-h1n1-ahora/</link>
		<comments>http://www.oscarangulo.cl/2010/02/vacunas-gripe-h1n1-ahora/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 14:53:59 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Salud]]></category>
		<category><![CDATA[gripe]]></category>
		<category><![CDATA[H1N1]]></category>
		<category><![CDATA[influenza]]></category>
		<category><![CDATA[porcina]]></category>
		<category><![CDATA[vacuna]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=141</guid>
		<description><![CDATA[
Chile- Las primeras 100 mil vacunas contra el H1N1 ya llegaron desde China y están en manos del laboratorio Biosano. 
El problema, sin embargo,  radica en  declaraciones hechas por científicos que han criticado duramente la OMS (Organización Mundial de la Salud)  la que han sindicado de haberse coludido con la industria farmacéutica para llevar acabo <a href='http://www.oscarangulo.cl/2010/02/vacunas-gripe-h1n1-ahora/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="Vacuna H1N1" src="http://www.oscarangulo.cl/imagenes/vacuna/vacunaa.jpg" alt="" width="500" height="375" /></p>
<p style="text-align: justify;"><strong>Chile-</strong> <strong>Las primeras 100 mil vacunas contra el H1N1 ya llegaron desde China y están en manos del laboratorio Biosano. </strong></p>
<p style="text-align: justify;">El problema, sin embargo,  radica en  declaraciones hechas por científicos que han criticado duramente la OMS (Organización Mundial de la Salud)  la que han sindicado de haberse coludido con la industria farmacéutica para llevar acabo un jugoso negocio, de consecuencias no conocidas para los receptores de las vacunas.</p>
<p style="text-align: justify;">La OMS daba habitualmente recomedaciones a sus países miembros pero a  partir del 2005 decidió por medio de una excepción que que  en casos de pandemia no sería recomendación, si no que ordenaría a los Estados el modo de proceder.</p>
<p style="text-align: justify;">Meses antes de que salgan a la luz los primeros casos de gripe H1N1 en California EE.UU se cambió en la OMS la definción del concepto pandemia , y el 26 de abril EE.UU declara estado emergencia sanitaria nacional, siendo que había solo 20 personas contagiadas  a la fecha y nadie había muerto.</p>
<p style="text-align: justify;">Pero lo más cuestionado es que la OMS en voz de su directora la Dra. Margaret Chan, declaró  rápidamente a  la pandemia  en fase 5 y luego en junio la dejo en fase 6  ordenando a los gobierno del mundo que activasen planes de alerta máxima en sus naciones.</p>
<p style="text-align: justify;">En  México la “gripe porcina”-a la que luego por presiones de la industria del cerdo- causaría  alarma  y ocupando parte importante del minutaje diario de los noticieros de los mass media, los mismo pasaría en Chile, gente con mascarillas por las calles y preocupación en padres que se vieron compungidos por el cuento de Pedrito y el Lobo, el mismo que hoy deja a la OMS en tela de juicio.</p>
<p style="text-align: justify;"><span id="more-141"></span></p>
<p style="text-align: justify;"><strong>VACUNADOS</strong></p>
<p style="text-align: justify;">Los virus de la influenza pertenecen por definición a los orthomixovirus y los virus se dividen en grupos segun la especificidad antigénica de sus nucleos. Los virus B y C son relacionados a los humanos mientras que los de tipo A afectan a aves y cerdos.</p>
<p style="text-align: justify;">Lo que parece, sin embargo, inexplicable es cómo virus de animales se traspasaron a humanos  <a href="http://www.elciudadano.cl/2009/06/12/las-patas-mutantes-de-los-chanchos-enfermos/" target="_blank">Recomendamos leer para ampliar su conocimiento respecto a la Gripe Porcina</a></p>
<p style="text-align: justify;">La inmunidad dada por las vacunas, es parecida  a la generada por las enfermedades: la introducción en el organismo de un elemento llamado antígeno, lleva a  una respuesta del organismo, mediante la formación de otro elemento llamado anticuerpo, que es el  actuará como barrera contra las enfermedades.</p>
<p style="text-align: justify;">Los cuetionamientos que surgen aquí, son sí es necesario inocular la enfermerdad en la persona, o es mejor el tratamiento con antibióticos luego de que la enfermedad es adquirida.  Es mejor dejar que el sistema inmunológico se desarrolle naturalmente, comer alimentos ricos en vitaminas o manipularlo a temprana edad en nuestros infantes. Sin duda la última via expuesta, no es negocio para la industria farmacéutica, que en Chile se descubriera coludida en materia económica.</p>
<p style="text-align: justify;">Tampoco podemos olvidar la contaminación de vacunas ocurrida en el viejo continente, en laboratorios Baxter a principios del 2009. Ahí se descubrió  vacunas que supuestamente estaban destinadas a combatir el H1N1,  estaban contaminadas con  H5N1 y el H3N2. El dañino material  estaba destinado a varios paises de Europa. <a href="http://www.tlaxcala.es/pp.asp?reference=7223&amp;lg=es" target="_blank">Más información al respecto</a></p>
<p style="text-align: justify;"><strong>PRESENCIA DE MERCURIO EN VACUNAS</strong></p>
<p style="text-align: justify;">Otro punto al que se debería prestar atención es a la presencia de mercurio en las vacunas. El hecho fue denunciado durante el 2009 por Carmen Gloria Chaigneau, quien junto a otras madres inició acción legal contra la autoridad responsable, por la presencia del metal pesado en vacunas que está  comprobado científicamente puede acarrear autismo y otras enfermedades en los niños.</p>
<p style="text-align: justify;">La información circuló por el canal Megavisón quien pidió respuestas al Ministerio de Salud, señalando éste que todo está  en orden según los dispuesto por la OMS. Entrando en contradicción con científicos que han señalado la presencia de thimerosal (el componente que tiene mercurio y se ocupa como preservante) está altamente relacionado a enfermedades mentales en los niños.</p>
<p style="text-align: justify;">¿Tienen las últimas vacunas que compró Chile para el H1N1 trazas de thimerosal?  Las primeras dosis llegan en marzo, esperamos ser informados a cabalidad por la autoridad competente.</p>
<p style="text-align: justify;">
<p style="text-align: left;"><strong>Fuente:  <a href="http://www.elciudadano.cl/2010/02/17/quieren-vacunar-a-mas-de-2-millones-de-chilenosas-con-cuestionada-vacuna">El Ciudadano.cl</a></strong></p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2010/02/vacunas-gripe-h1n1-ahora/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sound Scrape Concept Projects Images, imágenes ajustadas al ritmo de tu música&#8230;</title>
		<link>http://www.oscarangulo.cl/2010/02/sound-scrape-concept/</link>
		<comments>http://www.oscarangulo.cl/2010/02/sound-scrape-concept/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 14:44:30 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Conceptos]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[scape]]></category>
		<category><![CDATA[Scrape]]></category>
		<category><![CDATA[sonido]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=138</guid>
		<description><![CDATA[
Las visualizaciones de iTunes son agradables de ver (aunque parecen un poco inservibles en verdad), pero este concepto de sonido Scape parece mejor, con el proyector LED incorporado, permite visualizaciones radiantes coincidiendo con el ritmo de la música que estas reproduciendo.

Todas estas imágenes basadas en la naturaleza, así que si estas escuchando One (Metallica), no <a href='http://www.oscarangulo.cl/2010/02/sound-scrape-concept/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="Concept Sound Scrape" src="http://www.oscarangulo.cl/imagenes/sound_scrape/500x_soundscrape2.jpg" alt="" width="500" height="375" /></p>
<p>Las visualizaciones de iTunes son agradables de ver (aunque parecen un poco inservibles en verdad), pero este concepto de sonido Scape parece mejor, con el proyector LED incorporado, permite visualizaciones radiantes coincidiendo con el ritmo de la música que estas reproduciendo.<span id="more-138"></span></p>
<p><img class="aligncenter" title="Scape" src="http://www.oscarangulo.cl/imagenes/sound_scrape/500x_music-projector.jpg" alt="" width="500" height="375" /></p>
<p>Todas estas imágenes basadas en la naturaleza, así que si estas escuchando One (Metallica), no esperes ver bombas ni ametralladoras. En cambio de esto el concepto permite mostrar suaves nubes y relajantes piscinas de agua. Con una piedra puedes cambiar de canción, o subir el volumen, no será mucho digo yo???. Aunque aun no es real, parece una día interesante que mas de un geek va a querer poseer.</p>
<p>Saludos!!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2010/02/sound-scrape-concept/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;The test form is only available for requests from the local machine&#8221;</title>
		<link>http://www.oscarangulo.cl/2010/02/the-test-form-is-only-available-for-requests-from-the-local-machine-2/</link>
		<comments>http://www.oscarangulo.cl/2010/02/the-test-form-is-only-available-for-requests-from-the-local-machine-2/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 18:30:33 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[The test form is only available]]></category>
		<category><![CDATA[The test form is only available for requests from the local machine]]></category>
		<category><![CDATA[webservices]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=117</guid>
		<description><![CDATA[Solución a este molesto mensaje&#8230;

    
        

                
                
       <a href='http://www.oscarangulo.cl/2010/02/the-test-form-is-only-available-for-requests-from-the-local-machine-2/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Solución a este molesto mensaje&#8230;</p>
<pre class="brush:xml">
    <system.web>
        <webServices>
<protocols>
                <add name="HttpGet"/>
                <add name="HttpPost"/>
            </protocols>
         </webServices>
    </system.web>
</pre>
<p>Espero les sirva saludos.!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2010/02/the-test-form-is-only-available-for-requests-from-the-local-machine-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>¿Qué es Silverlight?</title>
		<link>http://www.oscarangulo.cl/2010/02/que_es_silverlight/</link>
		<comments>http://www.oscarangulo.cl/2010/02/que_es_silverlight/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 15:55:58 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[silver]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[silverligth]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=105</guid>
		<description><![CDATA[
Muchas personas me han preguntado sobre la nueva plataforma de Microsoft llamada Silverlight: qué es, qué hace, cómo se trabaja con ella y dónde hay ejemplos. Dado que no soy aficionado a publicar mucha info acá está la información importante y condensada:

Silverlight es un plugin que se instala en el navegador web, que en este <a href='http://www.oscarangulo.cl/2010/02/que_es_silverlight/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.oscarangulo.cl/imagenes/silverposter.jpg"><img class="aligncenter" title="Silverlight" src="http://www.oscarangulo.cl/imagenes/silverthumb.png" alt="" width="466" height="289" /></a></p>
<p>Muchas personas me han preguntado sobre la nueva plataforma de Microsoft llamada <strong><a href="http://es.wikipedia.org/wiki/Microsoft_Silverlight">Silverlight</a></strong>: qué es, qué hace, cómo se trabaja con ella y dónde hay ejemplos. Dado que no soy aficionado a publicar mucha info acá está la información importante y condensada:</p>
<ul>
<li>Silverlight es un <em>plugin</em> que se instala en el navegador web, que en este caso significa <strong>Internet      Explorer 6 o superior, Netscape 6+, Firefox 1.5+</strong> en Windows XP y      Vista; para Macintosh, Silverlight es soportado por <strong>Safari y      Firefox</strong>. El <em>plugin</em> pesa algo así como 1.4 Mb.</li>
</ul>
<p><span id="more-105"></span></p>
<ul>
<li>Silverlight es una versión      reducida del framework de .NET (<em>¡el framework completo de .NET es de      40+Mb!</em>) enfocada a eficientar el manejo de multimedia dentro del      navegador: video, audio, animación, interactividad, etc.</li>
<li>Uno de los puntos más      fuertes de Silverlight es el soporte que tiene para <strong>video de Alta      Definición (HD)</strong> que maneja streaming desde el cliente (o sea, sin      meterle mano al servidor) de video de <strong>hasta 720 líneas progresivas      por cuadro.</strong> ¡<em>Wow!</em></li>
<li>Para crear contenido para      Silverlight es necesario conocer dos tecnologías: <strong><a href="http://www.xamldev.com/">XAML</a></strong> para la parte visual y algún lenguaje de programación para la parte      operativa. En Silverlight 1.0 este lenguaje es <strong><a href="http://www.w3schools.com/js/default.asp">JavaScript</a></strong>.</li>
<li>Ya está disponible la      versión alfa de Silverlight 3.0, que tiene soporte para más de 20      lenguajes de programación diferentes, como <strong>C#, VB.NET, PHP, Java,      Python, Ruby, C++</strong> y varios más. De esta manera puedes empezar a      crear contenido Silverlight (o como digo yo, <em>Silverlighted</em>)      inmediatamente si ya conoces alguno de estos lenguajes.</li>
<li>Para crear contenido      gráfico para Silverlight tu herramienta debería ser <strong><a title="Expression Blend 2 preview" href="http://www.microsoft.com/expression/products/features.aspx?key=blend2preview">Expression      Blend</a></strong>, y para un desarrollador<strong> <a title="Visual Studio 2008 Express" href="http://msdn2.microsoft.com/en-us/express/future/bb421472.aspx">Visual      Studio 2008</a></strong>.</li>
<li>Hay <a title="Showcase Silverlight" href="http://silverlight.net/showcase/">excelentes ejemplos</a> sobre <a href="http://blogs.msdn.com/controlpanel/blogs/www.silverlight.net"><strong>Silverlight</strong> en el sitio oficial</a>, además de algunos <a title="Tutoriales Silverlight" href="http://silverlight.net/quickstarts/">tutoriales</a> y <a href="http://silverlight.net/community/communitygallery.aspx">código</a> para descargar y reciclar. En español existe el sitio <a href="http://www.silverlight.org.mx/">www.Silverlight.org.mx</a> con foros      y gente que está trabajando con Silverlight en hispanoamérica.</li>
</ul>
<p>Si tienes más preguntas, <strong>¡adelante!</strong> Déjalas en los comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2010/02/que_es_silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video</title>
		<link>http://www.oscarangulo.cl/2009/10/video/</link>
		<comments>http://www.oscarangulo.cl/2009/10/video/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 13:17:25 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=102</guid>
		<description><![CDATA[
Try JibJab Sendables® eCards today!

]]></description>
			<content:encoded><![CDATA[<div style="background-color: #e9e9e9; width: 425px;"><object id="A64060" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="319" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="quality" value="high" /><param name="scaleMode" value="showAll" /><param name="allowNetworking" value="all" /><param name="allowFullScreen" value="true" /><param name="FlashVars" value="external_make_id=8bUsGg0Wp7ZgXMsh&amp;service=sendables.jibjab.com&amp;partnerID=JibJab" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://aka.zero.jibjab.com/client/zero/ClientZero_EmbedViewer.swf?external_make_id=8bUsGg0Wp7ZgXMsh&amp;service=sendables.jibjab.com&amp;partnerID=JibJab" /><embed id="A64060" type="application/x-shockwave-flash" width="425" height="319" src="http://aka.zero.jibjab.com/client/zero/ClientZero_EmbedViewer.swf?external_make_id=8bUsGg0Wp7ZgXMsh&amp;service=sendables.jibjab.com&amp;partnerID=JibJab" allowscriptaccess="always" flashvars="external_make_id=8bUsGg0Wp7ZgXMsh&amp;service=sendables.jibjab.com&amp;partnerID=JibJab" allowfullscreen="true" allownetworking="all" scalemode="showAll" quality="high" wmode="transparent"></embed></object></p>
<div style="text-align: center; margin-top: 6px; width: 435px;">Try JibJab Sendables® <a href="http://sendables.jibjab.com/ecards">eCards</a> today!</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2009/10/video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Y nosotros nos quejamos?</title>
		<link>http://www.oscarangulo.cl/2009/09/y-nosotros-nos-quejamos/</link>
		<comments>http://www.oscarangulo.cl/2009/09/y-nosotros-nos-quejamos/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 15:48:01 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/2009/09/y-nosotros-nos-quejamos/</guid>
		<description><![CDATA[Play Video
 
Fuerza chicos&#8230; Con esto queda demostrado que todo se puede.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oscarangulo.cl/2009/09/y-nosotros-nos-quejamos/#mediaPlayer_99_0">Play Video</a></p>
<p> </p>
<p>Fuerza chicos&#8230; Con esto queda demostrado que todo se puede.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2009/09/y-nosotros-nos-quejamos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.oscarangulo.cl/nick.wmv" length="7409038" type="video/x-ms-wmv" />
		</item>
		<item>
		<title>LINQ to XML (como crear rss reader)</title>
		<link>http://www.oscarangulo.cl/2009/09/linq-to-xml-como-crear-rss-reader/</link>
		<comments>http://www.oscarangulo.cl/2009/09/linq-to-xml-como-crear-rss-reader/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 14:06:27 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=94</guid>
		<description><![CDATA[Probablemente la mayor mejora en el modelo de programación que se ha hecho en .NET 3.5 es el trabajo que la consulta de datos
sea un concepto de primera clase. Llamamos a este modelo de programación de consultas “LINQ”, que viene de .NET Language Integrated Query. LINQ permite un modelo realmente rico que facilita la creación <a href='http://www.oscarangulo.cl/2009/09/linq-to-xml-como-crear-rss-reader/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Probablemente la mayor mejora en el modelo de programación que se ha hecho en .NET 3.5 es el trabajo que la consulta de datos<br />
sea un concepto de primera clase. Llamamos a este modelo de programación de consultas “LINQ”, que viene de .NET Language Integrated Query. LINQ permite un modelo realmente rico que facilita la creación de diferentes proveedores de datos. .NET3.5 integra un conjunto de librerías que permiten realizar consultas LINQ sobre objetos, xml y bases de datos.</p>
<p style="text-align: justify;"><span id="more-94"></span><br />
<strong>¿Qué es LINQ to XML?</strong></p>
<p style="text-align: justify;">LINQ to XML es un proveedor de datos de LINQ que está implementado en el namespace “System.Xml.Linq” en .NET 3.5</p>
<p style="text-align: justify;">Proporciona un modelo de programación limpio que nos permite leer, construir y escribir datos en XML. Con esto, podemos realizar consultas LINQ a través de XML que tengamos en el sistema de archivos, desde una URL remota o servicio web, o cualquier contenido XML en memoria.</p>
<p style="text-align: justify;">Nos permite una forma de consultar datos y formarlos mucho más fácilmente que con la API de bajo nivel XmlReader/XmlWriter. También es mucho más eficiente (y usa mucha menos memoria) que la API DOM que tiene XmlDocument.</p>
<p style="text-align: justify;"><strong>Usando LINQ to XML para consultar un archivo XML local</strong></p>
<p style="text-align: justify;">Para una primera toma de contacto y ver cómo funciona  LINQ to XML, podemos crear un archivo local XML simple  como el siguiente, que usa un schema personalizado que hemos definido para guardar nuestras rss:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step2.jpg" border="0" alt="" width="566" height="319" align="bottom" /></p>
<p style="text-align: justify;">Podríamos usar la nueva clase XDocument que viene en el namespace System.Xml.Linq para abrir y consultar el archivo. Lo que queremos es iltrar los elementos &lt;Feed&gt; y devolver una secuencia de las feeds deshabilitadas (esto es, cuando el elemento &lt;Feed&gt; tenga el atributo “status” con el valor “disable”). Con el siguiente código lo conseguimos:</p>
<p style="text-align: justify;">VB:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step4.jpg" border="0" alt="" width="928" height="256" align="bottom" /></p>
<p style="text-align: justify;">C#:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step3.jpg" border="0" alt="" width="816" height="368" align="bottom" /></p>
<p style="text-align: justify;">Fijáos en el código que estamos cargando el archivo XML con el método estático XDocument.Load(path) – que devuelve un objeto XDocument. Como estamos ejecutando este codigo en ASP.NET, usamos el método  Server.MapPath(path) para obtener la ruta correcta de nuestro archivo XML relativo a la página que estamos ejecutando.</p>
<p style="text-align: justify;">Una vez que tenemos el objecto XDocument podemos escribir la expresión LINQ necesaria para obtener los datos que estamos buscando. En el código anterior estamos consultado cada elemento &lt;Feed&gt; del archivo XML. Esto lo conseguimos con la consulta:</p>
<blockquote style="text-align: justify;"><p><em>from feed in feedXML.Decedents(”Feed”)</em></p></blockquote>
<p style="text-align: justify;">Luego le aplicamos un filtro para que devuelva aquellos elementos “Feed” que no tienen el atributo “status” y los que cuyo valor del atributo “status” NO es “disabled”:</p>
<blockquote style="text-align: justify;"><p><em>Where (feed.Attribute(”status”) is<br />
Nothing) OrElse (feed.Attribute(”status”).Value &lt;&gt;<br />
“disabled”)</em></p></blockquote>
<p style="text-align: justify;">Ahora usamos el select de nuestra consulta LINQ para indicar qué datos queremos devolver. Simplemente escribimos “select feed”, LINQ to XML devolverá una secuencia de objetos XElement que representan cada nodo del archivo XML que cumplen el filtro. En el código anterior usamos las características de shaping/projection de LINQ en lugar de definir un nuevo tipo anónimo al vuelo, y definimos dos propiedades –<br />
Name y Feed – que queremos obtener con los subelementos &lt;Name&gt; y &lt;URL&gt; de cada elemento &lt;Feed&gt;:</p>
<blockquote style="text-align: justify;"><p><em>Select Name = feed.Element(”Name”).Value,<br />
Url=feed.Element(”Url”).Value</em></p></blockquote>
<p style="text-align: justify;">Y ahora podemos trabajar con esa colección de datos como lo haríamos con cualquier colección o tabla en .NET. VS 2008 nos da intellisense y chequeo en compilación sobre esta secuencia de  tipos anónimos:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step5.jpg" border="0" alt="" width="487" height="133" align="bottom" /></p>
<p style="text-align: justify;">También podemos enlazar estos resultados con cualquier control de ASP.NET, Windows Forms, o WPF. Por ejemplo, si tenemos un control de lista desplegable (dropdownlist) en nuestra página:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step6.jpg" border="0" alt="" width="522" height="227" align="bottom" /></p>
<p style="text-align: justify;">Podemos usar el código de LINQ to XML anterior paraenlazar los resultados:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step7.jpg" border="0" alt="" width="922" height="178" align="bottom" /></p>
<p style="text-align: justify;">Con esto, nuestra página quedará de la siguiente forma:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step8.jpg" border="0" alt="" width="397" height="149" align="bottom" /></p>
<p style="text-align: justify;"><strong>Umm- ¿que es eso de “tipos anonimos”?</strong></p>
<p style="text-align: justify;">En el código anterior hemos usado una nueva  característica de VB y C# llamada “tipo anónimos”. Los tipos anónimos permiten a los desarrolladores definir tipos directamente en una linea, sin tener que crear una clase para el tipo. Podéis aprender más sobre ellos en el<br />
post sobre los tipos anónimos.</p>
<p style="text-align: justify;">Aunque los tipos anónimos son muy útiles cuando queremos iterar localmente y trabajar con datos, normalmente queremos/necesitamos definir clases cuando pasamos los resultados de las consultas LINQ entre múltiples clases, entre librerías, y entre servicios web.</p>
<p style="text-align: justify;">Para permitir esto, podemos definirnos una clase llamada “FeedDefinition” para representar nuestros datos así:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step9.jpg" border="0" alt="" width="333" height="100" align="bottom" /></p>
<p style="text-align: justify;">Fijáos que estamos usando la característica de “<a href="http://thinkingindotnet.wordpress.com/2007/03/27/nuevas-caracteristicas-de-la-nueva-version-de-c-orcas/">Propiedades automáticas</a>” de C# para definir las propiedades (sin tener que definir una variable para ellos).</p>
<p style="text-align: justify;">Ahora podemos escribir el siguiente método para devolver una lista genérica List&lt;FeedDefinition&gt;:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step10.jpg" border="0" alt="" width="849" height="257" align="bottom" /></p>
<p style="text-align: justify;">Fijáos que el único cambio que hemos hecho a la consulta LINQ to XML es que en vez de usar un tipo anónimo (”select new” sin ningún tipo) hemos usado  “select new FeedDefinition”. Con este cambio estamos devolviendo una secuencia de objetos FeedDefinition que podemos pasar a otras clases, ensamblados, o a servicios web.</p>
<p style="text-align: justify;"><strong>Usar LINQ to XML para obtener una lista de rss en XML<br />
remota</strong></p>
<p style="text-align: justify;">El método estático XDocument.Load(path) nos permite abrir tanto archivos XML locales, como feeds XML devueltas de una url HTTP. Esto nos permite acceder a RSS remotas, REST APIs, y a cualquier otro contenido XML publicado en la web.</p>
<p style="text-align: justify;">Por ejemplo, veamos el XML de las rss de mi blog(<a href="http://weblogs.asp.net/scottgu/rss.aspx">http://weblogs.asp.net/scottgu/rss.aspx</a>):</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step11.jpg" border="0" alt="" width="805" height="497" align="bottom" /></p>
<p style="text-align: justify;">Con el siguiente código LINQ to XML podemos obtener los datos de mi RSS, y trabajar con cada elemento feed individual como cualquier otro objeto .NET:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step12.jpg" border="0" alt="" width="668" height="494" align="bottom" /></p>
<p style="text-align: justify;">Fijáos cómo estamos convirtiendo el campo “Published” de la rss – que es un string en XML- a un tipo DateTime de .NET. Fijáos también que LINQ to XML añade un tipo XNamespace que nos permite una forma segura de tipos para declarar y trabajar con Namespaces XML ( Lo<br />
que necesitamos hacer para obtener los elementos &lt;slash:comments&gt;).</p>
<p style="text-align: justify;">Podemos aprovechar las características de composición de LINQ para hacer otra consulta más para obtener aquellos post que han sido  publicados en los últimos siete días:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step14.jpg" border="0" alt="" width="662" height="588" align="bottom" /></p>
<p style="text-align: justify;">Como vemos, podemos usar los resultados de una consulta LINQ como parte de entrada de otra. Con esto conseguimos un código muy limpio, y entendible.</p>
<p style="text-align: justify;"><strong>Usar subconsultas LINQ dentro de una expresión LINQ to XML</strong></p>
<p style="text-align: justify;">Si miramos el XML del RSS, veremos que el tag de comentarios de cada post se guardan como elementos &lt;category&gt; repetidos debajo de cada elemento &lt;item&gt;:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step15.jpg" border="0" alt="" width="959" height="396" align="bottom" /></p>
<p style="text-align: justify;">Cuando definimos el modelo de objetos para una clase “BlogEntry”, podemos representar los valores de &lt;category&gt; como una colección de strings. Por ejemplo, con una propiedad “Tags” que es una lista genérica de strings:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step16.jpg" border="0" alt="" width="434" height="152" align="bottom" /></p>
<p style="text-align: justify;">Os estaréis preguntando – ¿Como obtenemos el conjunto de elementos &lt;category&gt; de los elementos &lt;item&gt; y los transformamos en una colección de strings?. LINQ permite que este tipo de escenarios sea muy sencillo, con consultas LINQ anidadas:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step17.jpg" border="0" alt="" width="794" height="450" align="bottom" /></p>
<p style="text-align: justify;">LINQ nos permite coger grandes cantidades de datos y hacerlas jerárquicas (y tomar una estructura de datos jerárquica y llenarla). Podemos usar esta característica con cualquier tipo de fuente de datos – XML, SQL, objetos, arrays, colecciones, etc.</p>
<p style="text-align: justify;"><strong>Juntarlo todo para un lector simple de RSS</strong></p>
<p style="text-align: justify;">Ya hemos visto lo sencillo que es escribir código LINQ to XML para obtener una RSS de un archivo local, y cómo consultarla remotamente para obtener los detalles de cad a elemento. Podemos enlazar el resultado a un GridView o ListView de ASP.NET:</p>
<p style="text-align: justify;"><img src="http://www.scottgu.com/blogposts/rssreader/step0.jpg" border="0" alt="" width="885" height="546" align="bottom" /></p>
<p style="text-align: justify;">Hemos construido una aplicación de ejemplo que junta  todas esas características para obtener un lector de RSS con LINQ to XML y el nuevo control &lt;asp:ListView&gt;. Podéis descargarla de <a href="http://www.scottgu.com/blogposts/rssreader/LINQToXMLRSSReader.zip">aquí</a>. Está tanto en VB como en C#.</p>
<p style="text-align: justify;"><strong>Resumen</strong></p>
<p style="text-align: justify;">LINQ to XML es una herramienta muy potente para consultar, filtrar y transformar datos XML de forma eficiente. Podemos usarlo tanto para XML’s locales o remotos. Podemos usarlo para transformar datos XML en objetos y colecciones .NET que podremos manipular y transferir en nuestras aplicaciones.</p>
<p style="text-align: justify;">LINQ to XML usa el mismo núcleo y conceptos sobre consultas de LINQ, que LINQ to SQL, LINQ to Object, LINQ to SharePoint, LINQ to  mazon, LINQ to NHibernate, etc, usan cuando consultan datos. Podéis aprender más sobre la sintaxis de LINQ y las nuevas características de VB y C# en los siguientes post:</p>
<ul style="text-align: justify;">
<li>
<p style="margin-bottom: 0cm"> </p>
<ul>
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/03/27/nuevas-caracteristicas-de-la-nueva-version-de-c-orcas/">Propiedades<br />
automáticas, Inicializadores de objetos e inicializadores<br />
de colecciones</a>.</li>
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/03/28/nueva-caracteristica-de-“orcas”-metodos-de-extension/">Métodos<br />
de extension.</a></li>
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/04/10/nueva-caracteristica-de-orcas-expresiones-lambda/">Expresiones<br />
Lambda</a></li>
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/04/22/nueva-caracteristica-de-“orcas”-sintaxis-de-consultas/">Sintaxis<br />
de consultas</a></li>
<li><a href="http://thinkingindotnet.wordpress.com/2007/05/16/nueva-caracteristica-de-orcas-tipos-anonimos/">Tipos<br />
anónimos</a></li>
</ul>
</li>
</ul>
<p style="text-align: justify;">También encontraréis útil la serie de post sobre LINQ to SQL:</p>
<ul style="text-align: justify;">
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/05/20/usando-linq-to-sql-1ª-parte/"><span style="color: #006a80;">Parte<br />
1: Introducción a LINQ to SQL</span></a></li>
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/05/30/linq-to-sql-2ª-parte-definiendo-nuestras-clases-del-modelo-de-datos/"><span style="color: #006a80;">Parte<br />
2: Definiendo el modelo de datos.</span></a></li>
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/06/30/linq-to-sql-3ª-parte-consultando-la-base-de-datos/"><span style="color: #006a80;">Parte<br />
3: Consultando la base de datos</span></a></li>
<li>
<p style="margin-bottom: 0cm"><a href="http://thinkingindotnet.wordpress.com/2007/07/13/linq-to-sql-4ª-parte-actualizando-la-base-de-datos/"><span style="color: #006a80;">Parte<br />
4: Actualizando la base de datos.</span></a></li>
<li><a href="http://thinkingindotnet.wordpress.com/2007/07/19/linq-to-sql-5ª-parte-enlazar-controles-de-interfaz-de-usuario-con-el-asplinqdatsource/">Parte<br />
5: Enlazar controles de interfaz de usuario con<br />
el ASP:LinqDatSource</a></li>
</ul>
<p style="text-align: justify;">Dentro de poco volveremos con LINQ to XML y veremos cómo podemos usarlo no sólo para datos XML sino para generar cualquier tipo de salida XML desde una estructura de datos de .NET.</p>
<p style="text-align: justify;">Espero que sirva</p>
<p style="text-align: justify;">Referencia : thinkingindotnet.wordpress.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2009/09/linq-to-xml-como-crear-rss-reader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Y Nos Convertiremos en Super SayaYin?</title>
		<link>http://www.oscarangulo.cl/2009/09/y-nos-convertiremos-en-super-sayayin/</link>
		<comments>http://www.oscarangulo.cl/2009/09/y-nos-convertiremos-en-super-sayayin/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 00:21:09 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=90</guid>
		<description><![CDATA[ Estimados, se acuerdan de vegeta, cuando vei el ki de Goku y se iba de espalda&#8230;
Bueno muy pronto podran ver mi ki, jajaja. En realidad no se si tanto, pero estos lentes de contacto seran capas de mostrarnos una &#8220;Realidad aumentada&#8221;, estan hechos de chips y todas esas cosas, mas una pantalla led pequeñisima, que <a href='http://www.oscarangulo.cl/2009/09/y-nos-convertiremos-en-super-sayayin/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 476px"><img title="Super Lente" src="http://www.fayerwayer.com/up/2009/09/lente-de-contacto.jpg" alt="Por FayerWayer" width="466" height="319" /><p class="wp-caption-text">Por FayerWayer</p></div>
<p style="text-align: justify;"> Estimados, se acuerdan de vegeta, cuando vei el ki de Goku y se iba de espalda&#8230;</p>
<p style="text-align: justify;">Bueno muy pronto podran ver mi ki, jajaja. En realidad no se si tanto, pero estos lentes de contacto seran capas de mostrarnos una &#8220;Realidad aumentada&#8221;, estan hechos de chips y todas esas cosas, mas una pantalla led pequeñisima, que nos permitira obtener mas informacion de nuestro entorno, imginense mirando algo ver la temperatura, medir tamaños&#8230;</p>
<p style="text-align: justify;">Fuente <a href="http://www.fayerwayer.com">www.fayerwayer.com</a></p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2009/09/y-nos-convertiremos-en-super-sayayin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MVC ( Modelo Vista Controlador )</title>
		<link>http://www.oscarangulo.cl/2009/08/mvc-modelo-vista-controlador/</link>
		<comments>http://www.oscarangulo.cl/2009/08/mvc-modelo-vista-controlador/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 17:39:19 +0000</pubDate>
		<dc:creator>Oscar Angulo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.oscarangulo.cl/?p=86</guid>
		<description><![CDATA[Estimados, le toca el turno a MVC, partamos por la definición:
 
 
Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones Web, donde la vista es la <a href='http://www.oscarangulo.cl/2009/08/mvc-modelo-vista-controlador/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><strong>Estimados, le toca el turno a MVC, partamos por la definición:</strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Modelo Vista Controlador (MVC)</strong> es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones Web, donde la vista es la página <a title="HTML" href="http://es.wikipedia.org/wiki/HTML">HTML</a> y el código que provee de datos dinámicos a la página. El modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista.</p>
<p> <span id="more-86"></span></p>
<p>Ya suena bonito ¿Pero y?&#8230;</p>
<p> </p>
<p> </p>
<p>Vamos a explicarlo ahora de una manera mas didáctica:</p>
<p> </p>
<p> </p>
<p>Partamos por la raíz etimología MODELO, VISTA, CONTROLADOR:</p>
<ul>
<li><strong>Modelo</strong>: Esta es la representación específica de la información con la cual el sistema opera. La lógica de datos asegura la integridad de estos y permite derivar nuevos datos; por ejemplo, no permitiendo comparar un número de unidades negativo, calculando si hoy es el cumpleaños del usuario o los totales, impuestos o los ítems del carrito de compra. Esto quiere decir que aquí se operan los datos y las reglas de negocio asociadas al sistema, los datos deben entrar de manera correcta y salir de manera perfecta para que la aplicación haga todas las maravillas que programaras.</li>
<li><strong>Vista</strong>: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.</li>
<li><strong>Controlador</strong>: Este responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista.</li>
</ul>
<p> </p>
<p>A Continuación un pequeño diagrama.</p>
<p style="text-align: center;"> <img class="size-full wp-image-87 alignnone" title="mvc" src="http://www.oscarangulo.cl/wp-content/uploads/2009/08/mvc.png" alt="mvc" width="321" height="151" /></p>
<p align="center"><a href="http://upload.wikimedia.org/wikipedia/commons/a/a9/ModelViewControllerDiagram_es.svg"></a></p>
<p>Las desventajas:</p>
<ul>
<li>Tener que ceñirse a una estructura predefinida, lo que a veces puede incrementar la complejidad del sistema. Hay problemas que son más difíciles de resolver respetando el patrón MVC.</li>
<li>
La curva de aprendizaje para los nuevos desarrolladores se estima mayor que la de modelos más simples como Webforms.</li>
<li>
La distribución de componentes obliga a crear y mantener un mayor número de ficheros.</li>
</ul>
<p> </p>
<p>Las ventajas</p>
<ul>
<li>Clara separación entre interfaz, lógica de negocio y de presentación, que además provoca parte de las ventajas siguientes.</li>
<li>
Sencillez para crear distintas representaciones de los mismos datos.</li>
<li>
Facilidad para la realización de pruebas unitarias de los componentes, así como de aplicar desarrollo guiado por pruebas (TDD).</li>
<li>
Reutilización de los componentes.</li>
<li>
Simplicidad en el mantenimiento de los sistemas.</li>
<li>
Facilidad para desarrollar prototipos rápidos.</li>
<li>
Los desarrollos suelen ser más escalables.</li>
</ul>
<p> </p>
<p>Como pueden ver entre pro y contras termina siendo una opción bastante buena para el desarrollo de nuestras aplicaciones.</p>
<p> </p>
<p>Además Microsoft con su ASP.net MVC nos facilita un montón la vida, permitiéndonos tener una aplicación con el patrón MVC implementado en pocos minutos, amigos les invito a analizar la pagina que menciono a continuación e interiorizarse en este mundo, que como saben es “Un Mundo Interesante”.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oscarangulo.cl/2009/08/mvc-modelo-vista-controlador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
