<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>DiabloGuardian</title>
	<atom:link href="http://dennysoliver.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dennysoliver.wordpress.com</link>
	<description>mis códigos orgasmicos y demás cosas.</description>
	<lastBuildDate>Fri, 04 Dec 2009 18:35:11 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dennysoliver.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>DiabloGuardian</title>
		<link>http://dennysoliver.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dennysoliver.wordpress.com/osd.xml" title="DiabloGuardian" />
	<atom:link rel='hub' href='http://dennysoliver.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Ejemplo recorrer pixeles de una imagen</title>
		<link>http://dennysoliver.wordpress.com/2009/12/04/ejemplo-recorrer-pixeles-de-una-imagen/</link>
		<comments>http://dennysoliver.wordpress.com/2009/12/04/ejemplo-recorrer-pixeles-de-una-imagen/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 18:35:11 +0000</pubDate>
		<dc:creator>dennysoliver</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dennysoliver.wordpress.com/?p=38</guid>
		<description><![CDATA[Lo que este código hace es recibir una fotografía de un rostro y devolver una imagen con la silueta del mismo. Para obtener solo la silueta me di cuenta que en las fotografías por lo regular los contornos de las cosas son mas oscuros que los fondos, entonces recorro la imagen pixel por pixel obtengo la escala RGB de cada pixel [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=38&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lo que este código hace es recibir una fotografía de un rostro y devolver una imagen con la silueta del mismo. Para obtener solo la silueta me di cuenta que en las fotografías por lo regular los contornos de las cosas son mas oscuros que los fondos, entonces recorro la imagen pixel por pixel obtengo la escala RGB de cada pixel y lo comparo con un rango de oscuridad que previamente establecí (en este caso un pixel oscuro va a ser aquel que en su niveles de los colores  rojo, verde y azul se encuentre dentro del rango 0 a 100 ), si el pixel es oscuro se imprime como tal y si no cumple con la condición se pinta de blanco. Y es así como obtengo el efecto de devolver solo la silueta.</p>
<pre>
<blockquote>
<div id="_mcePaste">import javax.swing.*;</div>
<div id="_mcePaste">import java.awt.*;</div>
<div id="_mcePaste">import java.awt.event.*;</div>
<div id="_mcePaste">import java.awt.image.*;</div>
<div id="_mcePaste">/*</div>
<div id="_mcePaste"> *</div>
<div id="_mcePaste"> *@author DiabloGuardian</div>
<div id="_mcePaste"> *dennysoliver@msn.com</div>
<div id="_mcePaste"> *</div>
<div id="_mcePaste"> */</div>
<div id="_mcePaste">class SiluetasImg extends JFrame { </div>
<div id="_mcePaste">  Image imagenFuente; </div>
<div id="_mcePaste">  int iniAncho;</div>
<div id="_mcePaste">  int iniAlto;</div>
<div id="_mcePaste">  Image imagenNueva;</div>
<div id="_mcePaste">  int insetArriba;</div>
<div id="_mcePaste">  int insetIzqda;</div>
<div id="_mcePaste">  </div>
<div id="_mcePaste">  public static void main( String[] DiabloGuardian ) {</div>
<div id="_mcePaste">    SiluetasImg obj = new SiluetasImg();</div>
<div id="_mcePaste">    obj.repaint();</div>
<div id="_mcePaste">    }</div>
<div id="_mcePaste">  public SiluetasImg() {</div>
<div id="_mcePaste">    imagenFuente = Toolkit.getDefaultToolkit().getImage( "jennifer1.jpg" );</div>
<div id="_mcePaste">    </div>
<div id="_mcePaste">    MediaTracker tracker = new MediaTracker( this );</div>
<div id="_mcePaste">    tracker.addImage( imagenFuente,1 );</div>
<div id="_mcePaste">        </div>
<div id="_mcePaste">    try {</div>
<div id="_mcePaste">      if( !tracker.waitForID( 1,10000 ) ) {</div>
<div id="_mcePaste">        System.out.println( "Error en la carga de la imagen" );</div>
<div id="_mcePaste">        System.exit( 1 );        </div>
<div id="_mcePaste">      }</div>
<div id="_mcePaste">    } catch( InterruptedException e ) {</div>
<div id="_mcePaste">      System.out.println( e );</div>
<div id="_mcePaste">      }</div>
<div id="_mcePaste">    </div>
<div id="_mcePaste">    iniAncho = imagenFuente.getWidth( this );</div>
<div id="_mcePaste">    iniAlto = imagenFuente.getHeight( this );</div>
<div id="_mcePaste">    this.setVisible( true );</div>
<div id="_mcePaste">    </div>
<div id="_mcePaste">     insetArriba = this.getInsets().top;</div>
<div id="_mcePaste">    insetIzqda = this.getInsets().left;</div>
<div id="_mcePaste">    this.setSize( insetIzqda+iniAncho,insetArriba+iniAlto );</div>
<div id="_mcePaste">    this.setTitle( "By DiabloGuardian" );</div>
<div id="_mcePaste">    this.setBackground( Color.white );</div>
<div id="_mcePaste">    </div>
<div id="_mcePaste">    int[] pix = new int[iniAncho * iniAlto];</div>
<div id="_mcePaste">    try {</div>
<div id="_mcePaste">      PixelGrabber pgObj = new PixelGrabber( imagenFuente,</div>
<div id="_mcePaste">        0,0,iniAncho,iniAlto,pix,0,iniAncho );</div>
<div id="_mcePaste">            </div>
<div id="_mcePaste">      if( pgObj.grabPixels() &amp;&amp; </div>
<div id="_mcePaste">        ( (pgObj.getStatus() &amp; ImageObserver.ALLBITS ) != 0 ) ) {</div>
<div id="_mcePaste">        for( int i=0; i &lt; (iniAncho*iniAlto); i++ ) {</div>
<div id="_mcePaste">        	if(verPixel(pix[i]))</div>
<div id="_mcePaste">          		pix[i] = 0xFFFFFFFF;</div>
<div id="_mcePaste">          }</div>
<div id="_mcePaste">        }</div>
<div id="_mcePaste">      else {</div>
<div id="_mcePaste">        System.out.println( "Problemas al descomponer la imagen" );</div>
<div id="_mcePaste">        }</div>
<div id="_mcePaste">    } catch( InterruptedException e ) {</div>
<div id="_mcePaste">      System.out.println( e );</div>
<div id="_mcePaste">      }</div>
<div id="_mcePaste">    </div>
<div id="_mcePaste">    imagenNueva = this.createImage( new MemoryImageSource(</div>
<div id="_mcePaste">      iniAncho,iniAlto,pix,0,iniAncho ) );</div>
<div id="_mcePaste">    </div>
<div id="_mcePaste">    this.addWindowListener(</div>
<div id="_mcePaste">      new WindowAdapter() {</div>
<div id="_mcePaste">        public void windowClosing( WindowEvent evt ) {</div>
<div id="_mcePaste">          System.exit( 0 );</div>
<div id="_mcePaste">        }</div>
<div id="_mcePaste">      }</div>
<div id="_mcePaste">    );</div>
<div id="_mcePaste">  }</div>
<div id="_mcePaste">  </div>
<div id="_mcePaste">  public void paint( Graphics g ) {</div>
<div id="_mcePaste">    if( imagenNueva != null ) {</div>
<div id="_mcePaste">      	g.drawImage( imagenNueva,insetIzqda,insetArriba,this );    </div>
<div id="_mcePaste">      }</div>
<div id="_mcePaste">    }</div>
<div id="_mcePaste">    </div>
<div id="_mcePaste">    public boolean verPixel(int pixel) { </div>
<div id="_mcePaste">int alpha = (pixel &gt;&gt; 24) &amp; 0xff; </div>
<div id="_mcePaste">int red = (pixel &gt;&gt; 16) &amp; 0xff; </div>
<div id="_mcePaste">int green = (pixel &gt;&gt; 8 ) &amp; 0xff; </div>
<div id="_mcePaste">int blue = (pixel ) &amp; 0xff; </div>
<div id="_mcePaste">if((red &gt; -1 &amp;&amp; red &lt; 100) &amp;&amp; (green &gt; -1 &amp;&amp; green &lt; 100) &amp;&amp; (blue &gt; -1 &amp;&amp; blue &lt; 100))</div>
<div id="_mcePaste">return false;</div>
<div id="_mcePaste">else</div>
<div id="_mcePaste">return true;</div>
<div id="_mcePaste">}     </div>
<div id="_mcePaste"> }</div>
</blockquote>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">En el código especificamos la imagen a procesar, que es la siguiente</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"><a href="http://dennysoliver.files.wordpress.com/2009/12/mario.jpg"><img class="alignleft size-full wp-image-40" title="mario" src="http://dennysoliver.files.wordpress.com/2009/12/mario.jpg?w=480" alt="mario"   /></a></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
<div id="_mcePaste">y el programa devuelve lo siguiente.</div>
<div id="_mcePaste"></div>
<div id="_mcePaste"><a href="http://dennysoliver.files.wordpress.com/2009/12/salida.jpg"><img class="alignleft size-full wp-image-41" title="salida" src="http://dennysoliver.files.wordpress.com/2009/12/salida.jpg?w=480" alt="salida"   /></a></div>
<div id="_mcePaste"></div>
<div id="_mcePaste"></div>
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dennysoliver.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dennysoliver.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dennysoliver.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dennysoliver.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dennysoliver.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dennysoliver.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dennysoliver.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dennysoliver.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dennysoliver.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dennysoliver.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dennysoliver.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dennysoliver.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dennysoliver.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dennysoliver.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=38&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dennysoliver.wordpress.com/2009/12/04/ejemplo-recorrer-pixeles-de-una-imagen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7acb5e30c3c8f5d0b1097ebf17c58991?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dennysoliver</media:title>
		</media:content>

		<media:content url="http://dennysoliver.files.wordpress.com/2009/12/mario.jpg" medium="image">
			<media:title type="html">mario</media:title>
		</media:content>

		<media:content url="http://dennysoliver.files.wordpress.com/2009/12/salida.jpg" medium="image">
			<media:title type="html">salida</media:title>
		</media:content>
	</item>
		<item>
		<title>Ejemplo para llamar una función pg/psql</title>
		<link>http://dennysoliver.wordpress.com/2009/11/17/ejemplo-para-llamar-una-funcion-pgpsql-2/</link>
		<comments>http://dennysoliver.wordpress.com/2009/11/17/ejemplo-para-llamar-una-funcion-pgpsql-2/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 21:59:25 +0000</pubDate>
		<dc:creator>dennysoliver</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[postgres]]></category>

		<guid isPermaLink="false">http://dennysoliver.wordpress.com/?p=32</guid>
		<description><![CDATA[  Este es un ejemplo de como llamar una funcion pg/sql que retorna un valor, y leer el valor dentro de un jsp. En este caso mi función devuelve un valor de tipo boolean. Esta es la funcion en postgres CREATE OR REPLACE FUNCTION agregar(double precision, character varying, integer, character varying,  character varying, character varying) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=32&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="padding-left:30px;"> </p>
<div id="_mcePaste" style="text-align:justify;">Este es un ejemplo de como llamar una funcion pg/sql que retorna un valor, y leer el valor dentro de un jsp. En este caso mi función devuelve un valor de tipo boolean.</div>
<div style="padding-left:30px;"><strong>Esta es la funcion en postgres</strong></div>
<blockquote>
<pre style="text-align:justify;">CREATE OR REPLACE FUNCTION agregar(double precision, character varying, integer, character varying, </pre>
<pre style="text-align:justify;">character varying, character varying)</pre>
<pre style="text-align:justify;">  RETURNS boolean AS
$BODY$
declare
 id ALIAS FOR $3;
 establecidas int :=0;
 agregadas int :=0;
 inicio date :=TO_DATE($5,'YYYY/MM/DD');
 termino date :=TO_DATE($6,'YYYY/MM/DD');
 nulo date:= null;
 mensaje boolean := false;
BEGIN
 select into establecidas from proyectos where id=id;
 agregadas :=  count(id) from etapas where id=id;
 IF agregadas &lt; establecidas THEN
insert into etapas (monto, observaciones, id_proy, nombre,</pre>
<pre style="text-align:justify;"> fch_inicio, fch_termino, prorroga) values ($1,$2,$3,$4,inicio,termino,nulo);</pre>
<pre style="text-align:justify;">mensaje:=true;
 END IF;
 RETURN mensaje;
END;
$BODY$
  LANGUAGE 'plpgsql'</pre>
</blockquote>
<p style="text-align:justify;"><strong>Aquí mandamos llamar la función y capturamos el valor</strong></p>
<blockquote>
<pre style="text-align:justify;">CallableStatement proc = conn.prepareCall("{ ?=call agregar( ?,?,?,?,?,? ) }");
proc.setFloat(2,monto);
proc.setString(3,observaciones);
proc.setInt(4,p);
proc.setString(5,nombre);
proc.setString(6,fch_inicio);
proc.setString(7,fch_termino);
proc.registerOutParameter( 1, Types.BOOLEAN );
proc.execute();
if(proc.getBoolean(1))
response.sendRedirect("lista.jsp?clave="+p);
else
out.println("&lt;h3 id='colora'&gt;&lt;center&gt;No se pude agregar,&lt;/center&gt;&lt;/h3&gt;");
proc.close();</pre>
</blockquote>
<p>En algunas maquinas puede generar un error la jsp en el tipo de dato que se registra, esto se soluciona registrando el tipo de dato Types.BOOLEAN por Types.BIT y ya no habrá problema alguno, y para obtener el valor de retorno podemos seguir haciendo uso del metodo getBoolean(1) ya que <a href="http://java.sun.com/javase/6/docs/api/java/sql/CallableStatement.html#getBoolean(java.lang.String)" target="_blank">la documentacion dice esto:</a> Recupera el valor de un parámetro JDBC bit o booleano como un booleano en el lenguaje de programación Java.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dennysoliver.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dennysoliver.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dennysoliver.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dennysoliver.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dennysoliver.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dennysoliver.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dennysoliver.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dennysoliver.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dennysoliver.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dennysoliver.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dennysoliver.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dennysoliver.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dennysoliver.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dennysoliver.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=32&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dennysoliver.wordpress.com/2009/11/17/ejemplo-para-llamar-una-funcion-pgpsql-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7acb5e30c3c8f5d0b1097ebf17c58991?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dennysoliver</media:title>
		</media:content>
	</item>
		<item>
		<title>Google ahora nos presenta, GO</title>
		<link>http://dennysoliver.wordpress.com/2009/11/12/google-ahora-nos-presenta-go/</link>
		<comments>http://dennysoliver.wordpress.com/2009/11/12/google-ahora-nos-presenta-go/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 17:54:27 +0000</pubDate>
		<dc:creator>dennysoliver</dc:creator>
				<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://dennysoliver.wordpress.com/?p=23</guid>
		<description><![CDATA[El 10 de noviembre por la noche google lanzo su nuevo lenguaje de programación llamado GO y sus características que muestran son: que es simple, rápido, seguro, concurrente, divertido, y lo mejor de todo es que es open source. Por lo que eh leído, es muy similar a c++, pero por ahí me entere que es una mezcla de c++ y phyton; entonces creo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=23&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-25" title="go-logo-black" src="http://dennysoliver.files.wordpress.com/2009/11/go-logo-black.png?w=150&#038;h=52" alt="go-logo-black" width="150" height="52" />El 10 de noviembre por la noche google lanzo su nuevo lenguaje de programación llamado <a href="http://golang.org/" target="_blank">GO</a> y sus características que muestran son: que es simple, rápido, seguro, concurrente, divertido, y lo mejor de todo es que es open source.</p>
<p>Por lo que eh leído, es muy similar a c++, pero por ahí me entere que es una mezcla de c++ y phyton; entonces creo que es orientado a objetos, ademas cuenta con un garbage-collector.</p>
<p>Pongo este video para que se enteren mas de lo que trata.</p>
<span style="text-align:center; display: block;"><a href="http://dennysoliver.wordpress.com/2009/11/12/google-ahora-nos-presenta-go/"><img src="http://img.youtube.com/vi/rKnDgT73v8s/2.jpg" alt="" /></a></span>
<p>ahora veamos el ejemplo del &#8220;hola mundo&#8221;, para ver la simplicidad de la sintaxis</p>
<blockquote>
<pre><span style="color:#3366ff;">package main

import "fmt"

func main() {
  fmt.Printf("Hello, 世界\n")
}</span></pre>
</blockquote>
<pre>aqui esta la liga al tutorial <a href="http://golang.org/doc/go_tutorial.html" target="_blank">link</a></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dennysoliver.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dennysoliver.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dennysoliver.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dennysoliver.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dennysoliver.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dennysoliver.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dennysoliver.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dennysoliver.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dennysoliver.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dennysoliver.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dennysoliver.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dennysoliver.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dennysoliver.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dennysoliver.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=23&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dennysoliver.wordpress.com/2009/11/12/google-ahora-nos-presenta-go/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7acb5e30c3c8f5d0b1097ebf17c58991?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dennysoliver</media:title>
		</media:content>

		<media:content url="http://dennysoliver.files.wordpress.com/2009/11/go-logo-black.png?w=150" medium="image">
			<media:title type="html">go-logo-black</media:title>
		</media:content>
	</item>
		<item>
		<title>Ejemplo struts 1.x  ( Parte I )</title>
		<link>http://dennysoliver.wordpress.com/2009/11/10/ejemplo-struts-1-x-parte-i/</link>
		<comments>http://dennysoliver.wordpress.com/2009/11/10/ejemplo-struts-1-x-parte-i/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 22:09:42 +0000</pubDate>
		<dc:creator>dennysoliver</dc:creator>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[struts]]></category>
		<category><![CDATA[struts 1.x]]></category>

		<guid isPermaLink="false">http://dennysoliver.wordpress.com/?p=15</guid>
		<description><![CDATA[A petición de un par de amigos del tecnológico voy a publicar un ejemplo de como desarrollar una aplicación web utilizando el framework de struts 1.x, en este caso solo pondré ejemplos básicos con la finalidad de hacer fácil la comprensión de la forma en que trabaja struts. Como en todos lo cursos vamos a empezar con un poco de teoría para que cuando llegue el momento de los códigos todo sea mas [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=15&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><img class="alignleft size-thumbnail wp-image-16" title="apache-struts-logo" src="http://dennysoliver.files.wordpress.com/2009/11/apache-struts-logo.jpg?w=150&#038;h=90" alt="apache-struts-logo" width="150" height="90" />A petición de un par de amigos del tecnológico voy a publicar un ejemplo de como desarrollar una aplicación web utilizando el framework de struts 1.x, en este caso solo pondré ejemplos básicos con la finalidad de hacer fácil la comprensión de la forma en que trabaja struts. Como en todos lo cursos vamos a empezar con un poco de teoría para que cuando llegue el momento de los códigos todo sea mas simple de entender. Trataré de publicar cada una de las partes cada semana, así es que empecemos con la primera.</p>
<h3 style="text-align:justify;"><span style="color:#3366ff;">Que es y para que utilizar struts?</span></h3>
<p style="text-align:justify;"><span style="color:#000000;">Struts es un framework (marco de trabajo) que trabaja bajo la plataforma J2EE e implementa la arquitectura MVC, que nos permite ahorrar tiempo durante el desarrollo de nuestras aplicaciones web, ademas de organizar nuestro proyecto separando la lógica de negocio de la vista.</span></p>
<h3 style="text-align:justify;"><span style="color:#3366ff;">MVC en struts</span></h3>
<p style="text-align:justify;">Las tres capas con las que se trabaja bajo esta arquitectura son modelo, vista y controlador. La manera de que struts la implementa es la siguiente:</p>
<p style="padding-left:30px;text-align:justify;"><strong>Modelo: </strong>En esta capa es donde se encuentra la logica de negocio, en otra palabras es toda la parte funcional de nuestra aplicacion. El modelo esta formado por tres tipos de clases:</p>
<p style="padding-left:60px;text-align:justify;"><strong>DTO (Data Transfer Object): </strong>Estas clases nos sirven para encapsular la información en objetos, y poder transferirla entre las demás clases.</p>
<p style="padding-left:60px;text-align:justify;"><strong>DAO (Data Access Object): </strong>La funcionalidad de este tipo de clases es acceder a una fuente de datos, realizando consultas, inserciones,actualizaciones, y todo lo demás.</p>
<p style="padding-left:60px;text-align:justify;"><strong>BO (Bussines Object): </strong>En este tipo de clases realizamos realmente la lógica de negocios, cálculos, etcétera.</p>
<p style="padding-left:30px;text-align:justify;"><strong>Vista:</strong> Esta capa la forman las JSP, las hojas de estilos; para formar las pantallas de los usuarios finales.</p>
<p style="padding-left:30px;text-align:justify;"><strong>Controlador:</strong> Ya tenemos la parte de la vista y el modelo, pero falta comunicarlos y esto es la función de la capa controlador, esto se realiza a través de clases Action o DispatchAction.</p>
<p style="padding-left:30px;text-align:justify;"> </p>
<p style="text-align:justify;">Creo que con esto es suficiente para empezar a entender como funciona struts, a partir del siguiente post empezare a colocar un poco de códigos de ejemplo.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dennysoliver.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dennysoliver.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dennysoliver.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dennysoliver.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dennysoliver.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dennysoliver.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dennysoliver.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dennysoliver.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dennysoliver.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dennysoliver.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dennysoliver.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dennysoliver.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dennysoliver.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dennysoliver.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=15&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dennysoliver.wordpress.com/2009/11/10/ejemplo-struts-1-x-parte-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7acb5e30c3c8f5d0b1097ebf17c58991?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dennysoliver</media:title>
		</media:content>

		<media:content url="http://dennysoliver.files.wordpress.com/2009/11/apache-struts-logo.jpg?w=150" medium="image">
			<media:title type="html">apache-struts-logo</media:title>
		</media:content>
	</item>
		<item>
		<title>por que DiabloGuardian ?</title>
		<link>http://dennysoliver.wordpress.com/2009/11/06/por-que-diabloguardian/</link>
		<comments>http://dennysoliver.wordpress.com/2009/11/06/por-que-diabloguardian/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 19:12:49 +0000</pubDate>
		<dc:creator>dennysoliver</dc:creator>
				<category><![CDATA[DiabloGuardian]]></category>

		<guid isPermaLink="false">http://dennysoliver.wordpress.com/?p=7</guid>
		<description><![CDATA[La historia y el por que de este nombre de usuario siempre ha sido un misterio para la mayoría de las personas que me conocen (algunas aunque sea virtualmente), algunos piensan que el nickname es a causa de que me gusta el libro Diablo Guardian de Xavier Velasco, pero  eso solo es una coincidencia, mi afición por este nick [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=7&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-10" title="daredevil" src="http://dennysoliver.files.wordpress.com/2009/11/daredevil.jpg?w=126&#038;h=150" alt="daredevil" width="126" height="150" /></p>
<p>La historia y el por que de este nombre de usuario siempre ha sido un misterio para la mayoría de las personas que me conocen (algunas aunque sea virtualmente), algunos piensan que el nickname es a causa de que me gusta el libro Diablo Guardian de Xavier Velasco, pero  eso solo es una coincidencia, mi afición por este nick surge cuando conozco la historia de <a href="http://es.wikipedia.org/wiki/Daredevil" target="_blank">DareDevil</a> un buen personaje de Marvel Comics del cual lo que mas me agrada es su habilidad de ecolocalizacion, entonces la verdadera razón de que yo haya adoptado el nombre de DiabloGuardian es simplemente por que es mi superheroe favorito, asi como me pudiera gustar superman, batman, o algún otro personaje yo elegí este.</p>
<p>En varios lugares me pueden encontrar con ese nombre por ejemplo en <a href="http://www.forosdelweb.com/f45">foros del web</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dennysoliver.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dennysoliver.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dennysoliver.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dennysoliver.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dennysoliver.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dennysoliver.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dennysoliver.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dennysoliver.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dennysoliver.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dennysoliver.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dennysoliver.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dennysoliver.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dennysoliver.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dennysoliver.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dennysoliver.wordpress.com&amp;blog=10307294&amp;post=7&amp;subd=dennysoliver&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dennysoliver.wordpress.com/2009/11/06/por-que-diabloguardian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7acb5e30c3c8f5d0b1097ebf17c58991?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dennysoliver</media:title>
		</media:content>

		<media:content url="http://dennysoliver.files.wordpress.com/2009/11/daredevil.jpg?w=126" medium="image">
			<media:title type="html">daredevil</media:title>
		</media:content>
	</item>
	</channel>
</rss>
