<?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>GATTACA &#187; programación</title>
	<atom:link href="http://gattaca.com.ar/tag/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://gattaca.com.ar</link>
	<description>«Mi vida es un eterno casi.» (ylek)</description>
	<lastBuildDate>Wed, 18 Jan 2012 22:17:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Como hacer que WordPress tome parámetros personalizados en la URL</title>
		<link>http://gattaca.com.ar/2009/12/como-hacer-que-wordpress-tome-parametros-personalizados-en-la-url/</link>
		<comments>http://gattaca.com.ar/2009/12/como-hacer-que-wordpress-tome-parametros-personalizados-en-la-url/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 01:57:41 +0000</pubDate>
		<dc:creator>C. Jaacks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[WordPress personalización]]></category>

		<guid isPermaLink="false">http://gattaca.com.ar/?p=353</guid>
		<description><![CDATA[Supongamos que tuviéramos que manejar alguno de estos casos típicos en que necesitamos recibir parámetros, como ser &#8220;rubro&#8221;, &#8220;localidad&#8221;, o &#8220;nombre&#8221;, por ejemplo, utilizando &#8220;pretty permalinks&#8221;. Esto es lo que tuve que hacer para que WP tome http://localhost/test/nombre/daniel/ es decir, &#8220;daniel&#8221;, el valor para &#8220;nombre&#8221;. En functions.php del theme activo: /* Adaptado del ejemplo "A [...]]]></description>
			<content:encoded><![CDATA[<p>Supongamos que tuviéramos que manejar alguno de estos casos típicos en que necesitamos recibir parámetros, como ser &#8220;rubro&#8221;, &#8220;localidad&#8221;, o &#8220;nombre&#8221;, por ejemplo, utilizando <em>&#8220;pretty permalinks&#8221;</em>.</p>
<p>Esto es lo que tuve que hacer para que WP tome <code>http://localhost/test/nombre/daniel/</code> es decir, &#8220;daniel&#8221;, el valor para &#8220;nombre&#8221;. <span id="more-353"></span></p>
<p>En <em>functions.php</em> del theme activo:</p>
<p><code><br />
/*<br />
Adaptado del ejemplo "A Quick and dirty example for rewriting http://mysite/project/1 into http://mysite/index.php?pagename=project&#038;id=1"<br />
de http://codex.wordpress.org/Function_Reference/WP_Rewrite<br />
Por HighToro - 2009-12-01.<br />
Este codigo debe colocarse en el archivo functions.php del theme activo.<br />
Si todo funciona correctamente, se debería crear un registro "_transient_rewrite_rules" en la tabla (el_sitio)_options que comience asi:<br />
a:636:{s:11:"nombre/(.+)";s:44:"index.php?pagename=nombre&#038;nombre=$matches[1]";s:12:"robots\.txt$"; ...<br />
*/</p>
<p>add_filter('rewrite_rules_array','wp_insertMyRewriteRules');<br />
add_filter('query_vars','wp_insertMyRewriteQueryVars');<br />
add_filter('init','flushRules');</p>
<p>// Remember to flush_rules() when adding rules<br />
function flushRules() {<br />
  global $wp_rewrite;<br />
  $wp_rewrite->flush_rules();<br />
}</p>
<p>// Adding a new rule<br />
function wp_insertMyRewriteRules($rules) {<br />
  $newrules = array();<br />
  $newrules['nombre/(.+)'] = 'index.php?pagename=nombre&#038;nombre=$matches[1]';<br />
  return $newrules + $rules;<br />
}</p>
<p>// Adding the id var so that WP recognizes it<br />
function wp_insertMyRewriteQueryVars($vars) {<br />
  array_push($vars, 'nombre');<br />
  return $vars;<br />
}<br />
</code></p>
<p>Luego, en el archivo <em>nombre.php</em> del theme pondremos este template:</p>
<p><code><br />
/*<br />
Template Name: Buscador de nombre<br />
Por HighToro - 2009-12-01.<br />
*/</p>
<p>// Codigo para agregar al inicio del nombre.php (del theme activo), antes de la llamada get_header();<br />
global $wp_query, $wp_rewrite;<br />
$nombre_solicitado = '';<br />
if ($wp_rewrite->using_permalinks()) {  // WordPress using Pretty Permalink structure<br />
  $nombre_solicitado = $wp_query->query_vars['nombre'];<br />
} else {  // WordPress using default pwrmalink structure like www.site.com/wordpress/?p=123<br />
  $nombre_solicitado = (isset($_GET['nombre'])) ? htmlspecialchars($_GET['nombre']) : '';<br />
}</p>
<p>// Y luego el header y todo el templateo de siempre de WP.<br />
get_header();<br />
// ... (Mucho codigo PHP y HTML mezclados)...<br />
get_footer();<br />
</code></p>
<p>Al ser un <em>template</em> (o &#8220;<em>plantilla</em>&#8220;), debe ser llamado desde una página. En el caso de nuestro ejemplo, a esta página la llamaremos &#8220;nombre&#8221; y debería quedar así: <code>http://localhost/test/nombre/</code> colgando del raíz.</p>
<p>Espero que a alguien le sirva, pues en la web no está ni &#8220;todo junto&#8221; ni muy claro. Acá lo tienen andando luego de que lo hiciera, rompiera y corrigiera. Lo probé en un entorno limpio y anduvo ok.</p>
]]></content:encoded>
			<wfw:commentRss>http://gattaca.com.ar/2009/12/como-hacer-que-wordpress-tome-parametros-personalizados-en-la-url/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>El trabajo freelancer con humor</title>
		<link>http://gattaca.com.ar/2009/12/el-trabajo-freelancer-con-humor/</link>
		<comments>http://gattaca.com.ar/2009/12/el-trabajo-freelancer-con-humor/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 21:15:41 +0000</pubDate>
		<dc:creator>C. Jaacks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[freelancer]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://gattaca.com.ar/?p=341</guid>
		<description><![CDATA[De: The Artwork of N.C. Winters » Freelance Freedom.]]></description>
			<content:encoded><![CDATA[<p><img src="http://gattaca.com.ar/wp-content/uploads/2009/12/FF133_Overworked.jpg" alt="FF133_Overworked" title="FF133_Overworked" width="550" height="225" class="alignnone size-full wp-image-342" /><br />
<span id="more-341"></span><br />
<img src="http://gattaca.com.ar/wp-content/uploads/2009/12/FF127_GirlfriendOpinion.jpg" alt="FF127_GirlfriendOpinion" title="FF127_GirlfriendOpinion" width="550" height="225" class="alignnone size-full wp-image-343" /></p>
<p> <img src='http://gattaca.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':smile:' class='wp-smiley' />   De: The Artwork of N.C. Winters » <a href="http://ncwinters.com/tag/freelance-freedom/">Freelance Freedom</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gattaca.com.ar/2009/12/el-trabajo-freelancer-con-humor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Medición de calidad del código</title>
		<link>http://gattaca.com.ar/2009/10/medicion-de-calidad-del-codigo/</link>
		<comments>http://gattaca.com.ar/2009/10/medicion-de-calidad-del-codigo/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 01:37:15 +0000</pubDate>
		<dc:creator>C. Jaacks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[WordPress plugin]]></category>

		<guid isPermaLink="false">http://gattaca.com.ar/?p=285</guid>
		<description><![CDATA[El maestro wordpressero Ozh arranca con este auto-explicativo gráfico a desparramar tips para la programación de plugins para WordPress. Siendo uno programador -que intenta respetar estándares de codificación en lo posible- es interesante ver la variedad de estilos, espaciados, costumbres y rarezas en el código ajeno. Más raro y complejo aún es hacer un plugin [...]]]></description>
			<content:encoded><![CDATA[<p>El <em>maestro wordpressero</em> <a href="http://planetozh.com/blog/" title="planetOzh">Ozh</a> arranca con este auto-explicativo gráfico a desparramar <a href="http://planetozh.com/blog/2009/09/top-10-most-common-coding-mistakes-in-wordpress-plugins/" title="Top 10 Most Common Coding Mistakes in WordPress Plugins « planetOzh">tips para la programación de plugins para WordPress</a>.</p>
<p><img src="http://gattaca.com.ar/wp-content/uploads/2009/10/wtf-code.jpg" alt="wtf-code" width="450" height="408" style="margin: 15px 50px;" /></p>
<p>Siendo uno programador -que intenta respetar estándares de codificación en lo posible- es interesante ver la variedad de estilos, espaciados, costumbres y rarezas en el código ajeno.<br />
Más raro y complejo aún es hacer un plugin para WordPress, pues hay que atenerse a las convenciones de éste además de la base de PHP.<br />
<small>Mañana tengo que hacer un plugin. Que lindo. Iupiiiiii. Me gusta eso.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://gattaca.com.ar/2009/10/medicion-de-calidad-del-codigo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse PDT: el IDE (&#8220;editor&#8221;) para desarrolladores PHP</title>
		<link>http://gattaca.com.ar/2009/08/eclipse-pdt-el-ide-editor-para-desarrolladores-php/</link>
		<comments>http://gattaca.com.ar/2009/08/eclipse-pdt-el-ide-editor-para-desarrolladores-php/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 23:55:40 +0000</pubDate>
		<dc:creator>C. Jaacks</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[editores]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[software para Windows]]></category>

		<guid isPermaLink="false">http://gattaca.com.ar/?p=235</guid>
		<description><![CDATA[Eclipse PDT (PHP Development Tools) es un IDE (Integrated Development Environment -> entorno de desarrollo integrado) fabuloso para programadores PHP. Un editor pesado, como Dreamweaver; pero no para hacer tablitas dibujando sino para programar. La gracia fundamental es el autocompletado; tanto de todas las funciones naturales de PHP como así también de todas las clases [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://gattaca.com.ar/wp-content/uploads/2009/08/eclipse.png" alt="Eclipse" width="171" height="91" align="left" style="margin: 0px 10px 10px 0px;" /><a href="http://www.eclipse.org/pdt/"><strong>Eclipse PDT</strong> (PHP Development Tools)</a> es un IDE (Integrated Development Environment -> entorno de desarrollo integrado) fabuloso para programadores PHP. Un <em>editor pesado</em>, como Dreamweaver; pero no para hacer tablitas dibujando sino para programar. <img src='http://gattaca.com.ar/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
La gracia fundamental es el autocompletado; tanto de todas las funciones naturales de PHP como así también de todas las clases que incorporemos.<br />
Al poner el mouse sobre una variable colorea todas las ocurrencias de la misma en el área visible del editor.<br />
Como todo editor decente al pararnos sobre el inicio o fin de un símbolo de control condicional/secuencia &#8220;{&#8221; o &#8220;}&#8221; marca su correspondiene inicio o fin según sea el caso. Igualmente con los paréntesis, lo que resulta utilísimo.<br />
Permite incorporar plugins. En una ocasión usé <a href="http://www.eclipse.org/subversive/">Subversive</a>, su propio SVN empluguineado.<br />
Comentarios tipo phpDocumentor. <em>Ej.:</em><br />
<code><br />
/**<br />
 * example of basic @param usage<br />
 * @param bool $baz<br />
 * @return mixed<br />
 */<br />
</code><br />
Recomiendo su <a href="http://www.eclipse.org/pdt/downloads/">download</a>, 141 Mb. en su versión 2.1/Galileo.<br />
Agradezco a <a href="http://www.webq.com.ar/blog/" title="Blog.Q - Desarrollo digital en la web">Agustín Quiroga</a> el haberme hecho conocer esta poderosa herramienta.</p>
<p>A su nivel está <a href="http://www.netbeans.org/features/php/index.html">NetBeans IDE 6.7</a>; lo probé poco así que no voy a hacer comentarios. Aparenta ser su equivalente, por lo que vengo leyendo en foros y grupos de LinkedIn. 26 Mb.</p>
<p>Finalmente, y para no dejar a los editores livianos a un costado, cabe destacar que <a href="http://www.ultraedit.com/products/ultraedit.html">UltraEdit v15.10</a> (comercial, con versión de prueba) es piola para ediciones veloces ya que no pesa tanto como un IDE y tiene autocompletado, coloreado, y muchas de las virtudes de sus hermanos mayores.<br />
Y mi liviano favorito, el que tengo asignado a la tecla F4 (editar) en <em>mi Total Commander</em>: <a href="http://www.pspad.com/es/" title="Editor de texto y código fuente">PSPad 4.5.4 </a>, el más liviano de todos con colores y cositas y hasta edición de archivos por FTP como su hermano comercial UltraEdit.</p>
<p><em>Nota posterior</em><br />
La gente de Zend se compara con PDT y le sacude de lo lindo: <a href="http://www.zend.com/en/products/studio/comparison">Zend Studio 7.0 vs. PDT</a></p>
<blockquote><p>
Zend Studio is built on top of the Eclipse PDT (PHP Development Tools) project. A professional-grade IDE, Zend Studio provides many benefits over PDT, including faster development, faster problem resolution, comprehensive technical support and ongoing updates.
</p></blockquote>
<p>Hay una tabla larga de <em>&#8220;features&#8221;</em> en la que por supuesto gana casi todos los partidos Zend.</p>
]]></content:encoded>
			<wfw:commentRss>http://gattaca.com.ar/2009/08/eclipse-pdt-el-ide-editor-para-desarrolladores-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

