<?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>Qbit Mexhico Blog &#187; Java</title>
	<atom:link href="http://qbit.com.mx/blog/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://qbit.com.mx/blog</link>
	<description>Lo que hacemos y pensamos se escribe aqui</description>
	<lastBuildDate>Tue, 15 May 2012 16:15:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Remover elementos repetidos de un array php ruby java c# vb javascript</title>
		<link>http://qbit.com.mx/blog/2012/01/24/remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript</link>
		<comments>http://qbit.com.mx/blog/2012/01/24/remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 17:59:48 +0000</pubDate>
		<dc:creator>Jack Fiallos</dc:creator>
				<category><![CDATA[c#]]></category>
		<category><![CDATA[Jackfiallos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Qbit]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[vb]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[elementos]]></category>
		<category><![CDATA[eliminar]]></category>
		<category><![CDATA[remover]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://qbit.com.mx/blog/?p=401</guid>
		<description><![CDATA[Siguiendo la línea de publicar un post técnico y uno intelectual.. esta vez ha llegado el momento del post téncico.. lo que por mi actividad es muy fácil de escribirlo.. Esta entrada esta basada en la experiencia que tengo sobre algunos lenguajes y algo que es muy común de hacer y que muchos programadores escriben [...]
Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/10/oauth-twitter-ruby/' rel='bookmark' title='OAuth Twitter Ruby'>OAuth Twitter Ruby</a></li>
<li><a href='http://qbit.com.mx/blog/2012/01/17/frameworks-como-elegirlos/' rel='bookmark' title='Frameworks, como elegirlos'>Frameworks, como elegirlos</a></li>
<li><a href='http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/' rel='bookmark' title='Utilizar una clase Java en Oracle 10g'>Utilizar una clase Java en Oracle 10g</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=0fe8495ecf67ef7b922e354a69a28749&amp;default=http://qbit.com.mx/blog/archivos/blank_gravatar.png' alt='No Gravatar' width=40 height=40/><div id="attachment_404" class="wp-caption aligncenter" style="width: 310px"><a href="http://qbit.com.mx/blog/wp-content/uploads/Bild-1-300x226.png"><img class="size-full wp-image-404" title="Array remove duplicates items" src="http://qbit.com.mx/blog/wp-content/uploads/Bild-1-300x226.png" alt="Array remove duplicates items" width="300" height="226" /></a><p class="wp-caption-text">Array remove duplicates items</p></div>
<p>Siguiendo la línea de publicar un post técnico y uno intelectual.. esta vez ha llegado el momento del post téncico.. lo que por mi actividad es muy fácil de escribirlo.. Esta entrada esta basada en la experiencia que tengo sobre algunos lenguajes y algo que es muy común de hacer y que muchos programadores escriben a su manera, unos porque no conocen el método y otros porque les gusta tener el control del código.</p>
<p>Este ejemplo se basa en eliminar los elementos duplicados de un arreglo, por ejemplo: (&#8216;a&#8217;, &#8216;b&#8217;, &#8216;c&#8217;, &#8216;b&#8217;, &#8216;c&#8217;, &#8216;d&#8217;)</p>
<p><strong>Php</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$arreglo</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'a'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'b'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'c'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'b'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'c'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'d'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$filtro</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_unique</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arreglo</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>Ruby</strong></p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">arreglo = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'a'</span>, <span style="color:#996600;">'b'</span>, <span style="color:#996600;">'c'</span>, <span style="color:#996600;">'b'</span>, <span style="color:#996600;">'c'</span>, <span style="color:#996600;">'d'</span><span style="color:#006600; font-weight:bold;">&#93;</span>
filtro = arreglo.<span style="color:#9900CC;">uniq</span></pre></div></div>

<p><strong>Java</strong></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> arreglo <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #0000ff;">'a'</span>, <span style="color: #0000ff;">'b'</span>, <span style="color: #0000ff;">'c'</span>, <span style="color: #0000ff;">'b'</span>, <span style="color: #0000ff;">'c'</span>, <span style="color: #0000ff;">'d'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
Set<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span> unst <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HashSet<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Arrays</span>.<span style="color: #006633;">asList</span><span style="color: #009900;">&#40;</span>arreglo<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> filtro <span style="color: #339933;">=</span> unst.<span style="color: #006633;">toArray</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>C#</strong></p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> arreglo <span style="color: #008000;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #666666;">'a'</span>, <span style="color: #666666;">'b'</span>, <span style="color: #666666;">'c'</span>, <span style="color: #666666;">'b'</span>, <span style="color: #666666;">'c'</span>, <span style="color: #666666;">'d'</span><span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
<span style="color: #6666cc; font-weight: bold;">string</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> filtro <span style="color: #008000;">=</span> arreglo<span style="color: #008000;">.</span><span style="color: #0000FF;">Distinct</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToArray</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p><strong>Javascript</strong></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Array.<span style="color: #660066;">prototype</span>.<span style="color: #660066;">unique</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> el <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">concat</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">sort</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> el.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>el<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">===</span> el<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
            el.<span style="color: #660066;">splice</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">else</span>
            i<span style="color: #339933;">++;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000066; font-weight: bold;">return</span> el<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #003366; font-weight: bold;">var</span> filtro <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'a'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'b'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'c'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'b'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'c'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'d'</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">unique</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><strong>MaxScript</strong></p>

<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;">arreglo <span style="color: #66cc66;">=</span> #<span style="color: #66cc66;">&#40;</span>'a'<span style="color: #66cc66;">,</span> 'b'<span style="color: #66cc66;">,</span> 'c'<span style="color: #66cc66;">,</span> 'b'<span style="color: #66cc66;">,</span> 'c'<span style="color: #66cc66;">,</span> 'd'<span style="color: #66cc66;">&#41;</span>
for i in arreglo<span style="color: #66cc66;">.</span>count to <span style="color: #cc66cc;">1</span> by -<span style="color: #cc66cc;">1</span> <span style="color: #b1b100;">do</span>
<span style="color: #66cc66;">&#40;</span>
    id <span style="color: #66cc66;">=</span> findItem arreglo arreglo<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>id <span style="color: #66cc66;">!=</span> i<span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">do</span> deleteItem arreglo i
<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Seguramente hay muchas otras maneras de eliminar los elementos duplicados en los arreglos.. para lenguajes como maxscript, javascript o java.. pero al final se trata de lograr desarrollar la funcionalidad deseada. </p>
<p>El maestro de El Castor decia.. &#8220;No importa como lo hagas.. lo que importa es que funcione&#8221;..</p>
<h2>Compartir y Disfrutar</h2>

<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 32px">
<ul class="wp-socializer-opacity columns-no">
 <li><a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F24%2Fremover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript%2F&amp;t=Remover+elementos+repetidos+de+un+array+php+ruby+java+c%23+vb+javascript" title="Share this on Facebook" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Facebook" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -330px; border:0;"/></a></li> 

 <li><a href="http://twitter.com/home?status=Remover+elementos+repetidos+de+un+array+php+ruby+java+c%23+vb+javascript%20-%20http%3A%2F%2Fqbit.com.mx%2Fblog%3Fp%3D401%20@QbitMexhico" title="Tweet this !" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Twitter" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1386px; border:0;"/></a></li> 

 <li><a href="http://delicious.com/post?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F24%2Fremover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript%2F&amp;title=Remover+elementos+repetidos+de+un+array+php+ruby+java+c%23+vb+javascript&amp;notes=%0D%0A%0D%0ASiguiendo+la+l%C3%ADnea+de+publicar+un+post+t%C3%A9cnico+y+uno+intelectual..+esta+vez+ha+llegado+el+momento+del+post+t%C3%A9ncico..+lo+que+por+mi+actividad+es+muy+f%C3%A1cil+de+escribirlo..+Esta+entrada+esta+basada+en+la+experiencia+que+tengo+sobre+algunos+lengu" title="Post this on Delicious" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Delicious" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -132px; border:0;"/></a></li> 

 <li><a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F24%2Fremover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript%2F&amp;title=Remover+elementos+repetidos+de+un+array+php+ruby+java+c%23+vb+javascript&amp;bodytext=%0D%0A%0D%0ASiguiendo+la+l%C3%ADnea+de+publicar+un+post+t%C3%A9cnico+y+uno+intelectual..+esta+vez+ha+llegado+el+momento+del+post+t%C3%A9ncico..+lo+que+por+mi+actividad+es+muy+f%C3%A1cil+de+escribirlo..+Esta+entrada+esta+basada+en+la+experiencia+que+tengo+sobre+algunos+lengu" title="Submit this to Digg" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Digg" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -231px; border:0;"/></a></li> 

 <li><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F24%2Fremover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript%2F&amp;title=Remover+elementos+repetidos+de+un+array+php+ruby+java+c%23+vb+javascript" title="Submit this to StumbleUpon" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="StumbleUpon" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1287px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
<p>Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/10/oauth-twitter-ruby/' rel='bookmark' title='OAuth Twitter Ruby'>OAuth Twitter Ruby</a></li>
<li><a href='http://qbit.com.mx/blog/2012/01/17/frameworks-como-elegirlos/' rel='bookmark' title='Frameworks, como elegirlos'>Frameworks, como elegirlos</a></li>
<li><a href='http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/' rel='bookmark' title='Utilizar una clase Java en Oracle 10g'>Utilizar una clase Java en Oracle 10g</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://qbit.com.mx/blog/2012/01/24/remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frameworks, como elegirlos</title>
		<link>http://qbit.com.mx/blog/2012/01/17/frameworks-como-elegirlos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=frameworks-como-elegirlos</link>
		<comments>http://qbit.com.mx/blog/2012/01/17/frameworks-como-elegirlos/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 16:53:11 +0000</pubDate>
		<dc:creator>Jack Fiallos</dc:creator>
				<category><![CDATA[Paradigmas]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Qbit]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tecnologia]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[aplicaciones]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[consideraciones]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[eleccion]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phyton]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://qbit.com.mx/blog/?p=368</guid>
		<description><![CDATA[He pensado en esto unas mil veces y siempre llego a la conclusión de que aunque los frameworks hacen la vida más fácil (en algunos casos), el proceso de desarrollo más rápido y mejora las capacidades de trabajo en equipo, es necesario siempre considerar el uso o no de este tipo de herramientas. Desde mi [...]
Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/13/desarrollo-de-aplicaciones-para-ambientes-tridimensionales/' rel='bookmark' title='Desarrollo de aplicaciones para  ambientes tridimensionales'>Desarrollo de aplicaciones para  ambientes tridimensionales</a></li>
<li><a href='http://qbit.com.mx/blog/2012/01/27/invocando-un-metodo-de-un-objeto-especifico-usando-quartz-net-y-spring-net/' rel='bookmark' title='Invocando un método de un objeto especifico usando Quartz .NET y Spring .NET'>Invocando un método de un objeto especifico usando Quartz .NET y Spring .NET</a></li>
<li><a href='http://qbit.com.mx/blog/2012/04/03/restful-api-frameworks-en-php/' rel='bookmark' title='RESTful API Frameworks en PHP'>RESTful API Frameworks en PHP</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=0fe8495ecf67ef7b922e354a69a28749&amp;default=http://qbit.com.mx/blog/archivos/blank_gravatar.png' alt='No Gravatar' width=40 height=40/><div class="wp-caption aligncenter" style="width: 310px"><img title="Framework como elegirlos" src="http://jackfiallos.com/bblog/blogfiles/framework_image002-300x244.png" alt="Framework como elegirlos" width="300" height="244" /><p class="wp-caption-text">Framework como elegirlos</p></div>
<p>He pensado en esto unas mil veces y siempre llego a la conclusión de que aunque los frameworks hacen la vida más fácil (en algunos casos), el proceso de desarrollo más rápido y mejora las capacidades de trabajo en equipo, es necesario siempre considerar el uso o no de este tipo de herramientas. Desde mi punto de vista, trataré de explicar que se necesita para elegir un framework.</p>
<h2><strong>Características</strong></h2>
<p>Basándose en una lista de características del software a desarrollar, un framework debería de cumplir con dicha lista sin agregar complejidad al desarrollo mismo (también conocido como código extra). Suponiendo que quiero desarrollar una aplicación donde básicamente quiero tener usuarios y cada usuario tenga una lista de tareas, pues bien asumo que utilizaré un módulo de usuarios y otro para creación de tareas. Hasta este punto el framework no es necesario.. pero que tal si en mis previsiones esta el realizar funciones más complejas como agregar un calendario para tener un registro de eventos, tomados segun se fueron escribiendo las tareas.. todo esto de forma social y abierta a los demás usuarios .. ok, ya se empieza a complicar y seguro algunos dirían que el framework no se necesita.. pero lo que puede aportar el framework es que aparte de cubrir las características básicas, también se puede adaptar a las características futuras, manteniendo siempre una línea de desarrollo relativamente sencilla de mantener.</p>
<h2><strong>Extensible</strong></h2>
<p>Con un framework se resuelve más de un problema, de hecho se resuelven problemas que posiblemente no sabías que existian en tu código y eso antes de que te sentaras a codificar. La gran mayoría de frameworks cuentan con repositorios de extensiones mantenidas por la comunidad que extienden funciones y componentes de sus funcionalidades básicas. Es necesario mencionar que extensible no se refiere solamente a la cantidad de extensiones, sino también a la calidad y facilidad con que se pueden mantener y crear tus propias extensiones.</p>
<h2><strong>Prototipos que determinen su uso</strong></h2>
<p>Creo que experimentar con nuevas tecnologías te hace entender en que momento utilizarlas. Si no has experimentado con nuevas opciones de desarrollo, entonces cada vez que necesites utilizar una nueva herramienta tendrás que gastar algo de tiempo y esfuerzo extra para aprender. Una práctica recomendable es siempre construir un pequeño prototipo donde trates de agrupar por ejemplo interacciones con formularios, almacenamiento en BD y uso de javascript. Me refiero a algo muy simple que quizás con algo de documentación puedas construir en un solo día.</p>
<h2><strong>Ayuda</strong></h2>
<p>Los frameworks con más tiempo de vida suelen tener muy buena documentación en comparación con los nuevos. Foros, listas de correo, blogs, e incluso sitios como StackOverflow proporcionan una gran cantidad de información. Si hay poca actividad en los foros o listas de correo, definitivamente no es una buena opción la que has elegido por lo que una buena idea sería abandonar ese framework. Encontrar ayuda o ejemplos de código es muy importante en el proceso de aprendizaje de nuevas herramientas. En cuanto a los blogs no dejan de ser útiles porque te dicen que esta pasando alrededor de un framework.</p>
<p>Hay que recordar que el framework aporta agilidad y orden al desarrollo de software, si hace todo lo contrario es porque has metido la pata y debes buscar una mejor herramienta.</p>
<h2>Compartir y Disfrutar</h2>

<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 32px">
<ul class="wp-socializer-opacity columns-no">
 <li><a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F17%2Fframeworks-como-elegirlos%2F&amp;t=Frameworks%2C+como+elegirlos" title="Share this on Facebook" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Facebook" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -330px; border:0;"/></a></li> 

 <li><a href="http://twitter.com/home?status=Frameworks%2C+como+elegirlos%20-%20http%3A%2F%2Fqbit.com.mx%2Fblog%3Fp%3D368%20@QbitMexhico" title="Tweet this !" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Twitter" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1386px; border:0;"/></a></li> 

 <li><a href="http://delicious.com/post?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F17%2Fframeworks-como-elegirlos%2F&amp;title=Frameworks%2C+como+elegirlos&amp;notes=%0D%0A%0D%0AHe+pensado+en+esto+unas+mil+veces+y+siempre+llego+a+la+conclusi%C3%B3n+de+que+aunque+los+frameworks+hacen+la+vida+m%C3%A1s+f%C3%A1cil+%28en+algunos+casos%29%2C+el+proceso+de+desarrollo+m%C3%A1s+r%C3%A1pido+y+mejora+las+capacidades+de+trabajo+en+equipo%2C+es+necesario+siempr" title="Post this on Delicious" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Delicious" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -132px; border:0;"/></a></li> 

 <li><a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F17%2Fframeworks-como-elegirlos%2F&amp;title=Frameworks%2C+como+elegirlos&amp;bodytext=%0D%0A%0D%0AHe+pensado+en+esto+unas+mil+veces+y+siempre+llego+a+la+conclusi%C3%B3n+de+que+aunque+los+frameworks+hacen+la+vida+m%C3%A1s+f%C3%A1cil+%28en+algunos+casos%29%2C+el+proceso+de+desarrollo+m%C3%A1s+r%C3%A1pido+y+mejora+las+capacidades+de+trabajo+en+equipo%2C+es+necesario+siempr" title="Submit this to Digg" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Digg" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -231px; border:0;"/></a></li> 

 <li><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2012%2F01%2F17%2Fframeworks-como-elegirlos%2F&amp;title=Frameworks%2C+como+elegirlos" title="Submit this to StumbleUpon" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="StumbleUpon" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1287px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
<p>Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/13/desarrollo-de-aplicaciones-para-ambientes-tridimensionales/' rel='bookmark' title='Desarrollo de aplicaciones para  ambientes tridimensionales'>Desarrollo de aplicaciones para  ambientes tridimensionales</a></li>
<li><a href='http://qbit.com.mx/blog/2012/01/27/invocando-un-metodo-de-un-objeto-especifico-usando-quartz-net-y-spring-net/' rel='bookmark' title='Invocando un método de un objeto especifico usando Quartz .NET y Spring .NET'>Invocando un método de un objeto especifico usando Quartz .NET y Spring .NET</a></li>
<li><a href='http://qbit.com.mx/blog/2012/04/03/restful-api-frameworks-en-php/' rel='bookmark' title='RESTful API Frameworks en PHP'>RESTful API Frameworks en PHP</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://qbit.com.mx/blog/2012/01/17/frameworks-como-elegirlos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipo de  Datos Enum en Grails</title>
		<link>http://qbit.com.mx/blog/2011/03/02/tipo-de-datos-enum-en-grails/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tipo-de-datos-enum-en-grails</link>
		<comments>http://qbit.com.mx/blog/2011/03/02/tipo-de-datos-enum-en-grails/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 17:49:16 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Enum]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://qbit.com.mx/blog/?p=258</guid>
		<description><![CDATA[En mi afán por mejorar la aplicación que estoy desarrollando en Grails he querido convertir todos los catálogos a tipo Enum (cosa que me parecio buena idea). Al principio se vislumbraba fácil la tarea, pero he quedado enfrascado dando vueltas sobre un error que me esta saliendo al momento de crear &#8220;una clase de tipo [...]
No hay entradas relacionadas]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=e8c30513ee6bddd0ca43b51c56cf58cd&amp;default=http://qbit.com.mx/blog/archivos/blank_gravatar.png' alt='No Gravatar' width=40 height=40/><p>En mi afán por mejorar la aplicación que estoy desarrollando en Grails he querido convertir todos los catálogos a tipo Enum (cosa que me parecio buena idea). Al principio se vislumbraba fácil la tarea, pero he quedado enfrascado dando vueltas sobre un error que me esta saliendo al momento de crear &#8220;una clase de tipo Enum&#8221;.</p>
<p>Bueno, comencé creando una clase de tipo Enum como se muestra a continuación:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">enum</span> Catalogo <span style="color: #009900;">&#123;</span>
  CATALOGO1<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Integer</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>, <span style="color: #0000ff;">&quot;CATALOGO1&quot;</span><span style="color: #009900;">&#41;</span>
  CATALOGO2<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Integer</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>, <span style="color: #0000ff;">&quot;CATALOGO2&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
&nbsp;
  <span style="color: #003399;">Integer</span> id
  <span style="color: #003399;">String</span> nombre
&nbsp;
  Catalogo<span style="color: #009900;">&#40;</span>id,nombre<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">id</span> <span style="color: #339933;">=</span> id
    <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">nombre</span> <span style="color: #339933;">=</span> nombre
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #003399;">String</span> toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     nombre
  <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Pero después me di cuenta, que grails no trata igual a las tipos <strong>Class</strong> que a los tipos <strong>Enum</strong> (al menos en la versión 1.3.6). Cuando lo intente implementar, tuve que implementar manualmente los métodos que grails automáticamente genera en las tipos <strong>Class</strong> y que no genera en los tipos <strong>Enum</strong>. Por ejemplo tuve que implementar el método <strong>list()</strong>, el método <strong>get()</strong> y me quede estancado ya que me esta pidiendo un metodo <strong>Catalogo.#&lt;init&gt;</strong></p>
<p>Tal vez se preguntaran cuál es mi afan de cambiar los catalogos del tipo Class al tipo Enum. Bueno, mi respuesta es que muchas veces en mi codigo tengo que hacer referencia o comparación con los nombres. Por ejemplo, me pasa mucho con los tipos de direcciones. Tengo un catalogo con la siguiente información:</p>
<p>1-Fiscal</p>
<p>2-Comercial</p>
<p>3-Almacen</p>
<p>Y después quiero hacer método que busque las direcciones donde el tipo de dirección es &#8220;Fiscal&#8221;. En vez de crear una variable estática o de pasarle un 1 o pasarle la cadena &#8220;Fiscal&#8221; (que puede ser propensa a errores de escritura), le paso TipoDireccion.FISCAL y me evito de malas interpretaciones e incluso de problemas si alguien ajeno al código lo quiera entender.</p>
<p>En fin, voy a seguir con mi travesía en el intento de implementar un tipo Enum y ya les estaré contando que es lo que me paso.</p>
<h2>Compartir y Disfrutar</h2>

<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 32px">
<ul class="wp-socializer-opacity columns-no">
 <li><a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2011%2F03%2F02%2Ftipo-de-datos-enum-en-grails%2F&amp;t=Tipo+de++Datos+Enum+en+Grails" title="Share this on Facebook" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Facebook" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -330px; border:0;"/></a></li> 

 <li><a href="http://twitter.com/home?status=Tipo+de++Datos+Enum+en+Grails%20-%20http%3A%2F%2Fqbit.com.mx%2Fblog%3Fp%3D258%20@QbitMexhico" title="Tweet this !" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Twitter" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1386px; border:0;"/></a></li> 

 <li><a href="http://delicious.com/post?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2011%2F03%2F02%2Ftipo-de-datos-enum-en-grails%2F&amp;title=Tipo+de++Datos+Enum+en+Grails&amp;notes=En+mi+af%C3%A1n+por+mejorar+la+aplicaci%C3%B3n+que+estoy+desarrollando+en+Grails+he+querido+convertir+todos+los+cat%C3%A1logos+a+tipo+Enum+%28cosa+que+me+parecio+buena+idea%29.+Al+principio+se+vislumbraba+f%C3%A1cil+la+tarea%2C+pero+he+quedado+enfrascado+dando+vueltas+sob" title="Post this on Delicious" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Delicious" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -132px; border:0;"/></a></li> 

 <li><a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2011%2F03%2F02%2Ftipo-de-datos-enum-en-grails%2F&amp;title=Tipo+de++Datos+Enum+en+Grails&amp;bodytext=En+mi+af%C3%A1n+por+mejorar+la+aplicaci%C3%B3n+que+estoy+desarrollando+en+Grails+he+querido+convertir+todos+los+cat%C3%A1logos+a+tipo+Enum+%28cosa+que+me+parecio+buena+idea%29.+Al+principio+se+vislumbraba+f%C3%A1cil+la+tarea%2C+pero+he+quedado+enfrascado+dando+vueltas+sob" title="Submit this to Digg" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Digg" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -231px; border:0;"/></a></li> 

 <li><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2011%2F03%2F02%2Ftipo-de-datos-enum-en-grails%2F&amp;title=Tipo+de++Datos+Enum+en+Grails" title="Submit this to StumbleUpon" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="StumbleUpon" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1287px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
<p>No hay entradas relacionadas</p>]]></content:encoded>
			<wfw:commentRss>http://qbit.com.mx/blog/2011/03/02/tipo-de-datos-enum-en-grails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Utilizar una clase Java en Oracle 10g</title>
		<link>http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=utilizar-una-clase-java-en-oracle-10g</link>
		<comments>http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 23:18:58 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://qbit.com.mx/blog/?p=160</guid>
		<description><![CDATA[Existen dos formas de subir una clase Java a un esquema. La primer forma solo implica subir el archivo .Class y la segunda sube el archivo .Java Clase Ejemplo public class MiClaseOracle{ public static String mensaje() { return &#8220;Mexico lindo y querido&#8221;; } public static void invierteNumeros(int[] primerNumero, int[] segundoNumero) { int temporal = primerNumero[0]; [...]
Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/24/remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript/' rel='bookmark' title='Remover elementos repetidos de un array php ruby java c# vb javascript'>Remover elementos repetidos de un array php ruby java c# vb javascript</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/06/rsync-sobre-ssh-sin-utilizar-claves/' rel='bookmark' title='rsync sobre ssh sin utilizar claves'>rsync sobre ssh sin utilizar claves</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/15/mis-estimados-rudos-un-poco-de-java-hibernate-ytsql/' rel='bookmark' title='Mis estimados rudos. Un poco de Java, Hibernate y T-SQL'>Mis estimados rudos. Un poco de Java, Hibernate y T-SQL</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=e8c30513ee6bddd0ca43b51c56cf58cd&amp;default=http://qbit.com.mx/blog/archivos/blank_gravatar.png' alt='No Gravatar' width=40 height=40/><p>Existen dos formas de subir una clase Java a un esquema. La primer forma solo implica subir el archivo <strong>.Class </strong>y la segunda sube el archivo <strong>.Java</strong></p>
<p><strong><br />
</strong></p>
<h2><strong>Clase Ejemplo</strong></h2>
<p style="padding-left: 30px;">public class MiClaseOracle{</p>
<p style="padding-left: 60px;">public static String mensaje() {</p>
<p style="padding-left: 90px;">return &#8220;Mexico lindo y querido&#8221;;</p>
<p style="padding-left: 60px;">}</p>
<p style="padding-left: 60px;">
<p style="padding-left: 60px;">public static void invierteNumeros(int[] primerNumero, int[] segundoNumero) {</p>
<p style="padding-left: 90px;">int temporal = primerNumero[0];</p>
<p style="padding-left: 90px;">primerNumero[0] = segundoNumero[0];</p>
<p style="padding-left: 90px;">segundoNumero[0] = temporal;</p>
<p style="padding-left: 60px;">}</p>
<p style="padding-left: 30px;">}</p>
<h2><strong>Subir .Class</strong></h2>
<p>Primero se debe de revisar la versión del jdk con la que se compila y la versión del jdk que tiene la base de datos. El comando para revisar la versión es <strong>java -version</strong>. En caso de que se desee olvidar de esta ambigüedad se debe compilar utilizando el comando localizado en el directorio <strong><em>[ORAHOME]/</em>db_1/jdk/bin/</strong>.</p>
<p>Una vez generado el archivo <strong>.Class</strong> se debe de ejecutar el siguiente comando en la linea de comandos: <strong>loadjava -user <em>[usuario]</em>/<em>[contraseña]</em>@<em>[baseDatos]</em></strong> <strong><em>[NombreClase].</em>class</strong></p>
<h3><strong>Ejemplo</strong></h3>
<p style="padding-left: 30px;">loadjava  –user  miusuario/mipwd@mibase   MiClaseOracle.class</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
<h2><strong>Subir .Java</strong></h2>
<p>Obviamente en este caso se requiere tener el archivo <strong>.Java</strong> y ejecutar el siguiente comando en la línea de comandos: <strong>loadjava -user <em>[usuario]</em>/<em>[contraseña]</em>@<em>[baseDatos] -</em>resolve</strong> <strong><em>[NombreClase].java</em></strong></p>
<p><strong><em><br />
</em></strong></p>
<h3><strong>Ejemplo</strong></h3>
<p style="padding-left: 30px;">loadjava  –user  miusuario/mipwd@mibase -resolve MiClaseOracle.java</p>
<p>Después de haber ejecutado la anterior línea (ojo, no debe de mandar algún aviso la línea de comando) se debe de acceder a la base de datos (utilizando el mismo usuario con la que se ejecuto el comando anterior) y ejecutar el comando <strong>alter java class &#8220;<em>[NombreClase]</em>&#8220;  compile;</strong></p>
<p><strong><br />
</strong></p>
<h3><strong>Ejemplo</strong></h3>
<p>alter java class &#8221; MiClaseOracle&#8221;  compile;</p>
<h2><strong>Ejecución</strong></h2>
<p>Para poder consumir las funciones implementas en la clase <strong>MiClaseOracle</strong> se deben de crear en la base de datos una función y un procedimiento almacenado.</p>
<h3><strong>Función Mensaje</strong></h3>
<p><strong><br />
</strong></p>
<p style="padding-left: 30px;"><strong>CREATE FUNCTION</strong> mensaje <strong>RETURN VARCHAR2</strong></p>
<p style="padding-left: 60px;"><strong>AS LANGUAGE JAVA</strong></p>
<p style="padding-left: 60px;"><strong>NAME</strong> &#8216;MiClaseOracle.mensaje() return java.lang.String&#8217;;</p>
<p style="padding-left: 60px;">
<h3><strong>Procedimiento InvierteNumeros</strong></h3>
<p><strong><br />
</strong></p>
<p style="padding-left: 30px;"><strong>CREATE PROCEDURE</strong> invierteNumeros</p>
<p style="padding-left: 60px;">( primerNumero <strong>IN OUT NUMBER</strong></p>
<p style="padding-left: 60px;">, segundoNumero <strong>IN OUT NUMBER</strong></p>
<p style="padding-left: 60px;"><strong>) AS  LANGUAGE JAVA</strong></p>
<p style="padding-left: 60px;"><strong>NAME</strong> &#8216;MiClaseOracle.invierteNumeros(int[], int[])&#8217;;</p>
<p style="padding-left: 60px;">
<p style="padding-left: 60px;">
<h2><strong>Consumo</strong></h2>
<p>Para verificar la funcionalidad de lo que hemos venido haciendo es necesario escribir y ejecutar el siguiente PL</p>
<p style="padding-left: 30px;"><strong>DECLARE</strong></p>
<p style="padding-left: 60px;">mensajerecibido <strong>VARCHAR2(200);</strong></p>
<p style="padding-left: 60px;">primerNumero <strong>NUMBER;</strong></p>
<p style="padding-left: 60px;">segundoNumero <strong>NUMBER;</strong></p>
<p style="padding-left: 30px;"><strong>BEGIN</strong></p>
<p style="padding-left: 60px;">primerNumero := 1;</p>
<p style="padding-left: 60px;">segundoNumero := 9;</p>
<p style="padding-left: 60px;">invierteNumeros(primerNumero,segundoNumero);</p>
<p style="padding-left: 60px;">mensajerecibido := mensaje();</p>
<p style="padding-left: 60px;"><strong>DBMS_OUTPUT.PUT_LINE</strong>(&#8216;Primer = &#8216; || primerNumero || &#8216; &#8212; Segundo = &#8216; || segundoNumero );</p>
<p style="padding-left: 60px;"><strong>DBMS_OUTPUT.PUT_LINE</strong>(&#8216;Mensaje = &#8216; || mensajerecibido);</p>
<p style="padding-left: 30px;"><strong>END;</strong></p>
<p style="padding-left: 30px;"><strong><br />
</strong></p>
<p>Twiter <a href="http://twitter.com/QBit_Mike">@QBit_Mike</a></p>
<h2>Compartir y Disfrutar</h2>

<!-- Start WP Socializer - Social Buttons - Output -->
<div class="wp-socializer 32px">
<ul class="wp-socializer-opacity columns-no">
 <li><a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;t=Utilizar+una+clase+Java+en+Oracle+10g" title="Share this on Facebook" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Facebook" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -330px; border:0;"/></a></li> 

 <li><a href="http://twitter.com/home?status=Utilizar+una+clase+Java+en+Oracle+10g%20-%20http%3A%2F%2Fqbit.com.mx%2Fblog%3Fp%3D160%20@QbitMexhico" title="Tweet this !" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Twitter" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1386px; border:0;"/></a></li> 

 <li><a href="http://delicious.com/post?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;title=Utilizar+una+clase+Java+en+Oracle+10g&amp;notes=Existen+dos+formas+de+subir+una+clase+Java+a+un+esquema.+La+primer+forma+solo+implica+subir+el+archivo+.Class+y+la+segunda+sube+el+archivo+.Java%0D%0A%0D%0A%0D%0A%0D%0AClase+Ejemplo%0D%0Apublic+class+MiClaseOracle%7B%0D%0Apublic+static+String+mensaje%28%29+%7B%0D%0Areturn+%22Mexico+lindo" title="Post this on Delicious" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Delicious" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -132px; border:0;"/></a></li> 

 <li><a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;title=Utilizar+una+clase+Java+en+Oracle+10g&amp;bodytext=Existen+dos+formas+de+subir+una+clase+Java+a+un+esquema.+La+primer+forma+solo+implica+subir+el+archivo+.Class+y+la+segunda+sube+el+archivo+.Java%0D%0A%0D%0A%0D%0A%0D%0AClase+Ejemplo%0D%0Apublic+class+MiClaseOracle%7B%0D%0Apublic+static+String+mensaje%28%29+%7B%0D%0Areturn+%22Mexico+lindo" title="Submit this to Digg" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="Digg" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -231px; border:0;"/></a></li> 

 <li><a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fqbit.com.mx%2Fblog%2F2010%2F01%2F12%2Futilizar-una-clase-java-en-oracle-10g%2F&amp;title=Utilizar+una+clase+Java+en+Oracle+10g" title="Submit this to StumbleUpon" target="_blank" rel="nofollow"><img src="http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-mask-32px.gif" alt="StumbleUpon" style="width:32px; height:32px; background: transparent url(http://qbit.com.mx/blog/wp-content/plugins/wp-socializer/public/social-icons/wp-socializer-sprite-32px.png) no-repeat; background-position:0px -1287px; border:0;"/></a></li> 
</ul> 
<div class="wp-socializer-clearer"></div></div>
<!-- End WP Socializer - Social Buttons - Output -->
<p>Entradas Relacionadas:<ol>
<li><a href='http://qbit.com.mx/blog/2012/01/24/remover-elementos-repetidos-de-un-array-php-ruby-java-c-vb-javascript/' rel='bookmark' title='Remover elementos repetidos de un array php ruby java c# vb javascript'>Remover elementos repetidos de un array php ruby java c# vb javascript</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/06/rsync-sobre-ssh-sin-utilizar-claves/' rel='bookmark' title='rsync sobre ssh sin utilizar claves'>rsync sobre ssh sin utilizar claves</a></li>
<li><a href='http://qbit.com.mx/blog/2012/03/15/mis-estimados-rudos-un-poco-de-java-hibernate-ytsql/' rel='bookmark' title='Mis estimados rudos. Un poco de Java, Hibernate y T-SQL'>Mis estimados rudos. Un poco de Java, Hibernate y T-SQL</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://qbit.com.mx/blog/2010/01/12/utilizar-una-clase-java-en-oracle-10g/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

