<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

	<channel>
		<title>Magazine - herramientas</title>
		<link>http://www.genbetadev.com</link>
		<description>
Información sobre el sector de los desarrolladores, el desarrollo de aplicaciones, para móviles, desarrollo web, bases de datos, frameworks y lenguajes de programación		</description>
		<pubDate>2013-05-23 00:40:30</pubDate>

		<generator>http://www.genbetadev.com</generator>
                    <item>
      <title><![CDATA[Referencia rápida de comandos de GIT]]></title>
      <link>http://www.genbetadev.com/herramientas/referencia-rapida-de-comandos-de-git</link>
      <guid>http://www.genbetadev.com/herramientas/referencia-rapida-de-comandos-de-git</guid>
      <pubDate>Sat, 18 May 2013 08:42:39 +0000</pubDate>

      <author>Juan Quijano</author>
      <description><![CDATA[
      <p><img alt="Git Cheat Sheet, portada" src="http://img.genbetadev.com/2013/05/Git_Cheat_Sheet_portada-1.jpg" class="centro" /></p>

	<p>Que <span class="caps">GIT</span> <strong>es el repositorio de código con más éxito</strong> entre la comunidad de desarrollo es una realidad que se ha instaurado en los últimos tiempo. Incluso Microsoft ha integrado este repositorio con su herramienta de <span class="caps">ALM</span>, <span class="caps">TFS</span> Service.</p>

	<p>Pero el número de comandos <strong>que debemos tener la memoria puede llegar a ser apabullante</strong>, y para ayudarnos a tenerlos a mano hoy traigo una imagen en donde tenemos ordenados la mayoría de las acciones que podemos realizar.</p>

	<p><!--more--></p>

	<p>Este enorme mapa está organizado en las siguientes categorías:
	<ul>
		<li>Secuencia de comandos.</li>
		<li>Crear.</li>
		<li>Conceptos.</li>
		<li>Comando más utilizados.</li>
		<li>Resolver conflictos en los Merge.</li>
	</ul></p>

<div class="caption-img"> <a href="http://byte.kde.org/~zrusin/git/git-cheat-sheet-medium.png"><img alt="Git Cheat Sheet" src="http://img.genbetadev.com/2013/05/Git_Cheat_Sheet.jpg" class="centro" /></a> <span>Pulsa en la imagen para verlo más grande</span> </div>

	<p>Espero que te sea de utilidad.</p>

	<p>Vía | <a href="http://byte.kde.org/~zrusin/git/">Git Cheat Sheet en varios tamaños</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[La tercera actualización de Visual Studio 2012 entra en Release Candidate ]]></title>
      <link>http://www.genbetadev.com/herramientas/la-tercera-actualizacion-de-visual-studio-2012-entra-en-release-candidate</link>
      <guid>http://www.genbetadev.com/herramientas/la-tercera-actualizacion-de-visual-studio-2012-entra-en-release-candidate</guid>
      <pubDate>Wed, 08 May 2013 14:01:33 +0000</pubDate>

      <author>Juan Quijano</author>
      <description><![CDATA[
      <p><img alt="Visual Studio Update 3 RC" src="http://img.genbetadev.com/2013/05/VS2012Update3RC.jpg" class="centro" /></p>

	<p>A la chita callando Visual Studio 2012, <strong>el <span class="caps">IDE</span> por excelencia del mundo .NET</strong> está a punto de ser nuevamente actualizado al entrar en el modo Release Candidate su tercer update, valga la redundancia multilenguaje.<br />
<!--more--><br />
Esto significa que esta versión de la actualización es una pre-release <strong>que no sufrirá más que pequeños cambios de última hora</strong>. Y que podemos instalar, <em>los más valientes</em>, en nuestro <span class="caps">IDE</span>.</p>

	<p>Ciertamente en este update vamos a encontrar, en una inmensa mayoría, corrección de errores y mejoras de lo ya existente. Ósea que no va a haber nada espectacularmente nuevo como fue en su momento el soporte de <span class="caps">TFS</span> al uso de Git, o cosas similares.</p>

	<p>Y específicamente las correcciones son más abundantes, mucho más, <strong>justamente con el servidor <span class="caps">ALM</span> de Microsoft: el Team Foundation</strong>. Tanto en sus labores de planificación, seguimiento y gestión de proyectos, como en su vertiente de repositorio de código.</p>

	<p>También <strong>se solucionan problemas</strong> en el depurador, en el <span class="caps">IDE</span>, en los formularios Winform, en C++ y F#, en el framework de pruebas, en la biblioteca portátil y en las herramientas Web.<br />
Y como toda mejora reseñable está que la nueva definición de compilación de la interfaz de usuario para la generación de integración continua (CI) en proyectos de equipo basado en Git (copia literal).</p>

	<p>En mi máquina ya está instalada; en el <em><span class="caps">TFS</span> de producción prefiero esperar</em> a la versión final.</p>

	<p>Más información | <a href="http://www.microsoft.com/en-us/download/details.aspx?id=38832">Descarga del Visual Sutdio 2012 Update 3 RC</a>, <a href="http://support.microsoft.com/kb/2835600">Descripción de la actualización</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Dieta para frontenders rica en recursos y bibliografía ]]></title>
      <link>http://www.genbetadev.com/desarrollo-web/dieta-para-frontenders-rica-en-recursos-y-bibliografia</link>
      <guid>http://www.genbetadev.com/desarrollo-web/dieta-para-frontenders-rica-en-recursos-y-bibliografia</guid>
      <pubDate>Thu, 02 May 2013 08:22:27 +0000</pubDate>

      <author>Fernando Siles</author>
      <description><![CDATA[
      <p><img alt="superman loser" src="http://img.genbetadev.com/2013/05/650_1000_Captura de pantalla 2013-05-02 a la(s) 12.18.57.png" class="centro" /></p>

	<p>En el desarrollo web, <strong>el tema del rendimiento</strong> no debería nunca ser cosa exclusiva de <em>backenders</em>, <strong>los señores frontenders también deben cuidarlo</strong>, que no todo es dejar las cosas bonitas. Para ellos viene fenomenal esta <a href="http://browserdiet.com/es/">guía-web</a> llamada <strong>&#8216;Cómo perder peso (en el navegador)&#8217;</strong>, creada por varios cracks del desarrollo web front-end y con gran éxito a la hora de afinar al máximo el rendimiento de sus proyectos.<!--more--></p>

	<p>Se trata de una <strong>colección de tips y recursos de <span class="caps">HTML</span>, <span class="caps">CSS</span>, Javascript, jQuery y manejo de imágenes</strong> muy útiles para mejorar exponencialmente el rendimiento de tus webs desde el punto de vista del front-end. Muchos de ellos son de sobra conocidos (o deberían de serlo) por todos y otros discutibles cuanto menos (el de <em>&#8220;no uses jQuery&#8221;</em> no lo comparto en absoluto, por ejemplo) pero siempre viene bien tenerlos reunidos en un mismo lugar para una más eficiente consulta.</p>

	<p>En definitiva, una <strong>lectura amena e interesante</strong> para todo aquel que ande preocupado por el rendimiento de sus proyectos.</p>

	<p>Vía e imagen | <a href="http://browserdiet.com/es/">browserdiet</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Escritorio remoto de Chrome, útil y sencillo ]]></title>
      <link>http://www.genbetadev.com/herramientas/escritorio-remoto-de-chrome-util-y-sencillo</link>
      <guid>http://www.genbetadev.com/herramientas/escritorio-remoto-de-chrome-util-y-sencillo</guid>
      <pubDate>Tue, 30 Apr 2013 05:06:46 +0000</pubDate>

      <author>calendamaia</author>
      <description><![CDATA[
      <p><img alt="Chrome, nuevo escritorio remoto" src="http://img.genbetadev.com/2013/04/Nuevo escritorio remoto de Chrome.png" class="centro_sinmarco" /></p>

	<p><strong>Google</strong> nos proporciona un software muy interesante, el <strong>escritorio remoto de Chrome</strong>, en forma de plugin para este navegador. Es una herramienta que nos va a permitir tanto conectarnos a varios equipos registrados, como que otra persona lo haga al equipo propio.</p>

	<p>Registrar un equipo para que en un futuro podamos conectarnos a el es muy sencillo, y en unos pocos pasos, que comentaré más adelante, podemos conseguirlo. </p>

	<p><!--more--></p>

	<p>Una vez que instalemos el plugin, que podemos encontrar en la <em>Chrome Web Store</em>, tendremos la siguiente pantalla para la gestión del software:</p>

	<p><img alt="Opciones que nos proporciona el plugin de escritorio remoto" src="http://img.genbetadev.com/2013/04/Escritorio_remoto_de_chrome-1.png" class="centro_sinmarco" /></p>

	<p>Vemos que nos da como opciones la asistencia remota y el registro de equipos para poder acceder a ellos desde cualquier lugar que deseemos. Veamos en primer lugar la segunda opción.</p>

	<p>Cuando queramos utilizar el plugin para acceder a un ordenador dado, deberemos registrarlo desde el propio ordenador. Una vez pulsada esta opción nos pedirá que habilitemos las conexiones remotas:</p>

	<p><img alt="Petición para habilitar las conexiones remotas" src="http://img.genbetadev.com/2013/04/Escritorio_remoto_de_chrome-2.png" class="centro_sinmarco" /></p>

	<p>Al pulsar en el botón habilitar conexiones remotas nos solicita un pin que deberemos teclear cuando queramos conectarnos desde otra ubicación a este equipo:</p>

	<p><img alt="Petición del pin para la conexión remota" src="http://img.genbetadev.com/2013/04/Escritorio_remoto_de_chrome-3.png" class="centro_sinmarco" /></p>

	<p>Le proporcionaremos el código, y el <strong>escritorio remoto de Chrome</strong> habilitará las conexiones remotas en el equipo con el que estamos trabajando: </p>

	<p><img alt="Habilitando las conexiones remotas" src="http://img.genbetadev.com/2013/04/Escritorio_remoto_de_chrome-4.png" class="centro_sinmarco" /></p>

	<p>Acto seguido nos pedirá que introduzcamos el pin asociado a nuestra cuenta de correo, para terminar el proceso:</p>

	<p><img alt="Introducción del pin para confirmar" src="http://img.genbetadev.com/2013/04/Escritorio_remoto_de_chrome-5-1.png" class="centro_sinmarco" /></p>

	<p>Y con esto habremos finalizado el proceso, ya tenemos el equipo listo para poder acceder a el desde otro lugar:</p>

	<p><img alt="Conexiones remotas habilitadas" src="http://img.genbetadev.com/2013/04/Escritorio_remoto_de_chrome-6.png" class="centro_sinmarco" /></p>

	<p>La otra opción es mucho más sencilla si cabe, cuando pulsamos en el botón &#8220;Empezar&#8221; de la &#8220;asistencia remota&#8221;, nos dará dos opciones:</p>

<ul>
<li>Compartir el ordenador para que accedan a el desde otro.</li>
<li>Conectarnos a un ordenador para controlarlo remotamente.</li>
</ul>

	<p><img alt="Asistencia remota, opciones que nos proporciona" src="http://img.genbetadev.com/2013/04/asistencia-remota-1.png" class="centro_sinmarco" /></p>

	<p>Si queremos compartir nuestro ordenador en este momento, para que se conecten desde otro equipo, pulsaremos en la opción &#8220;Comparte este ordenador&#8230;&#8221;, tras lo cual nos dará un código de acceso que deberemos proporcionar a la persona que vaya a conectarse a nuestro equipo:</p>

	<p><img alt="Código de acceso para el acceso a nuestro equipo" src="http://img.genbetadev.com/2013/04/asistencia-remota-2.png" class="centro_sinmarco" /></p>

	<p>Con la otra opción &#8220;Permite ver y controlar un ordenador compartido.&#8221; podemos acceder, introduciendo el código de acceso que nos proporcionará el propietario del otro equipo:</p>

	<p><img alt="Petición de código para conectarnos a un equipo remoto" src="http://img.genbetadev.com/2013/04/Petición_de_códido_de_acceso_para_asistencia_remota.png" class="centro_sinmarco" /></p>

	<p>En resumen a través de un pequeño plugin podemos tener las funcionalidades que ya conocemos en otros programas, siendo una herramienta gratuita, y una opción más a tener en cuenta entre las muchas utilidades de este tipo. Yo la utilizo bastante para conectarme y que se conecten mis compañeros a mi ordenador, cuando necesito que alguien mire el código que estoy escribiendo, por sentirme atascado en alguna cosa.</p>

	<p>Acceso al plugin | <a href="https://chrome.google.com/webstore/detail/chrome-remote-desktop/gbchcmhmhahfdphkhkmpfmihenigjmpp?hl=es">Escritorio remoto de chrome</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Dataset, abstracción de bases de datos relacionales para pythoneros vagos ]]></title>
      <link>http://www.genbetadev.com/herramientas/dataset-abstraccion-de-bases-de-datos-relacionales-para-pythoneros-vagos</link>
      <guid>http://www.genbetadev.com/herramientas/dataset-abstraccion-de-bases-de-datos-relacionales-para-pythoneros-vagos</guid>
      <pubDate>Fri, 26 Apr 2013 05:00:19 +0000</pubDate>

      <author>Fernando Siles</author>
      <description><![CDATA[
      <p><img alt="dataset" src="http://img.genbetadev.com/2013/04/650_1000_Captura de pantalla 2013-04-25 a la(s) 22.53.05.png" class="centro_sinmarco" /></p>

	<p>Seamos serios, tratar con <strong>bases de datos</strong> así, a pelo, es un peñazo de cuidado. Por eso surgen <strong>frameworks, interfaces, abstracciones</strong> o como quieras llamarlos para facilitar esta labor. Es el caso de (aunque son muy distintos entre si) Hibernate (Java) o <span class="caps">PDO</span> (<span class="caps">PHP</span>). Para <strong>Python</strong> también hay varias opciones pero hoy te traemos una que tiene especial buena pinta: <strong>dataset</strong>.<!--more--></p>

	<p>La premisa de dataset es hacer <strong>tan sencillo manejarse con bases de datos en Python como lo es manejarse con ficheros a través de <span class="caps">JSON</span></strong> y la verdad es que tiene unas características bien interesantes:</p>

<ul>
<li><strong>Schema automático</strong>, es decir, si escribes una tabla o una columna que no existe, se crea. Magia potagia.</li>
<li><strong>Upserts</strong>, o sea, no tienes que distinguir si updateas o insertas, ya lo hace dataset por ti</li>
<li>Es <strong>compatible</strong> con la mayoría de las bases de datos relacionales top como MySQL, Postgre <span class="caps">SQL</span>, <span class="caps">SQL</span>ite (o cualquier otra que incluya <span class="caps">SQL</span> en su nombre, basicamente).</li>
<li>La base de datos <strong>puede ser exportada</strong> de manera sencilla a través de scripts e incluyendo metadatos y nombres de ficheros dinámicos</li>
<li><strong>Query helpers</strong>, como <em>all rows</em> en una tabla o <em>all distinct values</em> a través de un conjunto de columnas.
</li>
</ul>

	<p>Y ya que estamos, un ejemplo de como queda el código:</p>

	<p><code>import dataset</p>

	<p>db = dataset.connect(&#8216;sqlite:///:memory:&#8217;)</p>

	<p>table = db[&#8216;sometable&#8217;]<br />
table.insert(dict(name=&#8216;John Doe&#8217;, age=37))<br />
table.insert(dict(name=&#8216;Jane Doe&#8217;, age=34, gender=&#8216;female&#8217;))</p>

	<p>john = table.find_one(name=&#8216;John Doe&#8217;)</code> </p>

	<p>Elegante a la par que bello. Tiene buena pinta. Ya sabéis pythoneros, a probarlo (los que no lo hayáis hecho todavía, claro) y a darnos feedback al resto vía comentarios.</p>

	<p>Pd: obviamente puedes <em>forkear</em> <strong>dataset</strong> desde <a href="https://github.com/pudo/dataset">Github</a>.</p>

	<p>Vía e imagen | <a href="https://dataset.readthedocs.org/en/latest/">dataset</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[¿Cuál es vuestro entorno de desarrollo y qué herramientas usáis?: la pregunta de la semana]]></title>
      <link>http://www.genbetadev.com/trabajar-como-desarrollador/cual-es-vuestro-entorno-de-desarrollo-y-que-herramientas-usais-la-pregunta-de-la-semana</link>
      <guid>http://www.genbetadev.com/trabajar-como-desarrollador/cual-es-vuestro-entorno-de-desarrollo-y-que-herramientas-usais-la-pregunta-de-la-semana</guid>
      <pubDate>Sat, 20 Apr 2013 15:21:29 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="Entornos de desarrollo" src="http://img.genbetadev.com/2013/04/650_1000_452900_1603867_lz.jpg" class="centro" /></p>

	<p>Lo más importante para programar a gusto es tener configurado correctamente nuestro <strong>entorno de desarrollo</strong>. Dependiendo  de la plataforma sobre la que desarrollemos puede ser uno u otro. Muchas veces en nuestro trabajo nos exigen tener un entorno de desarrollo concreto, pero en nuestros proyecto personales tenemos otro totalmente distinto.</p>

	<p>Esta semana en la pregunta de Genbeta Dev queremos que nos contéis <strong>cómo es vuestro entorno de desarrollo</strong>. Tanto el <span class="caps">IDE</span> que usáis: Eclipse, Aptana, Sublime Text, Netbeans, Visual Studio, etc&#8230; así como las herramientas que os hacen más cómodo el desarrollo como maquinas virtuales, sevidores de pruebas, herramientas de control de versiones, etc&#8230;</p>

<blockquote><a href="http://www.genbetadev.com/respuestas/cual-es-vuestro-entorno-de-desarrollo-y-que-herramientas-usais">¿Cuál es vuestro entorno de desarrollo y qué herramientas usáis?</a></blockquote>

	<p>Recuerda que para responder, debéis hacerlo desde nuestra sección de <a href="http://www.genbetadev.com/respuestas/cual-es-vuestro-entorno-de-desarrollo-y-que-herramientas-usais">Genbeta Dev Respuestas</a> y en este artículo los comentarios están cerrados. Gracias.</p>

	<p><!--more--></p>

	<p>La semana pasada os preguntábamos <a href="http://www.genbetadev.com/respuestas/cuanta-diferencia-hay-entre-lo-que-cobras-y-tus-expectativas-salariales">¿Cuánta diferencia hay entre lo que cobras y tus expectativas salariales?</a>. Entre las respuestas más votadas se encuentra la de <a href="http://www.genbetadev.com/usuario/vcspider">vcspider</a>.</p>

<blockquote>La verdad es que tengo un sueldo medianamente decente, no puedo comprarme una casa de 200m2 en el centro ni conducir un Ferrari pero tengo dinero para pagar mis gastos imprescindibles y los de mi familia (hipoteca, agua, luz, comida, ropa, <span class="caps">ADSL</span>, teléfono) y aun me da para algún capricho y para ahorrar un poquito así que me considero bien pagado.
Mi problema no es con lo que yo gano sino con lo que ganan otros con trabajos sin responsabilidad, riesgo o dificultad, normalmente resultado de enchufismo o peloterismo, con una productividad nula y demasiado remunerados. También creo que algunos trabajos físicos deberían de pagarse mejor, y lo pagaría con lo que le quitamos a los apoltronados.</blockquote> 

	<p>Muchas gracias a todos por participar. Nos vemos la semana que viene con las mejores respuestas a la pregunta que os hemos propuesto. Y recordad que la sección de <a href="http://www.genbetadev.com/respuestas">Genbeta Dev Respuestas</a> está a vuestra disposición para resolver todas las dudas que tengáis.</p>

	<p>En Genbeta Dev Respuestas | <a href="http://www.genbetadev.com/respuestas/cual-es-vuestro-entorno-de-desarrollo-y-que-herramientas-usais">¿Cuál es vuestro entorno de desarrollo y qué herramientas usáis?</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Polychart.JS, otra opción para tus gráficas Javascript ]]></title>
      <link>http://www.genbetadev.com/herramientas/polychart-js-otra-opcion-para-tus-graficas-javascript</link>
      <guid>http://www.genbetadev.com/herramientas/polychart-js-otra-opcion-para-tus-graficas-javascript</guid>
      <pubDate>Sat, 13 Apr 2013 14:21:20 +0000</pubDate>

      <author>Fernando Siles</author>
      <description><![CDATA[
      <p><img alt="polychart.js" src="http://img.genbetadev.com/2013/04/650_1000_Captura de pantalla 2013-04-13 a la(s) 18.16.51.png" class="centro_sinmarco" /></p>

	<p>Los datos por si solos no son nada, tienen que interpretarse y presentarse para dar lugar a información y de la información derivar en el conocimiento. Una buena manera de conseguir esto es con gráficas. Las opciones para <strong>insertar gráficas Javascript</strong> en tus proyectos y webs son muchas pero hoy te traemos en <a href="http://www.genbetadev.com">Genbeta Dev</a> otra más, porque cuantas más opciones, mejor. Esta vez se trata de <strong>Polychart.JS</strong> y la verdad es que tiene buena pinta.<!--more--></p>

	<p>Polychart.JS permite recibir datos tanto de archivos <span class="caps">CSV</span> como a través de <span class="caps">JSON</span> o <span class="caps">AJAX</span>, puedes mezclar distintos tipos de gráficas, con ejes y leyendas autogenerados, en una sola más grande e <strong>interaccionar a través de ellas gracias a su sistema flexible basado en eventos</strong>. La verdad es que los ejemplos que tienen en su web son muy espectaculares e intuitivos.</p>

	<p>La documentación es extensa (aunque está algo dispersa) y si bien tiene una versión que llaman <strong>Public</strong> y es gratuita, esta sólo puede ser utilizada en proyectos no comerciales. Si no es tu caso, tendrás que pagar 99$ (que tampoco es mucho) por su versión <strong>Commercial</strong> (aunque tienen diversos descuentos para startups y tal).</p>

	<p>Es un mundo, el de las gráficas Javascript, muy competido pero nunca está de más conocer nuevas alternativas como este <strong>Polychart.JS</strong>. </p>

	<p>Vía e imagen | <a href="http://www.polychartjs.com/">Polychart.JS</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Processing, un lenguaje para creadores audiovisuales]]></title>
      <link>http://www.genbetadev.com/herramientas/processing-un-lenguaje-para-creadores-audiovisuales</link>
      <guid>http://www.genbetadev.com/herramientas/processing-un-lenguaje-para-creadores-audiovisuales</guid>
      <pubDate>Sat, 30 Mar 2013 20:24:35 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="Processing lenguaje audiovisual" src="http://img.genbetadev.com/2013/03/650_1000_processing-lenguaje.jpg" class="centro" /></p>

	<p><strong>Processing</strong> es un lenguaje de programación orientado a diseñadores que no tienen necesariamente que saber programar para usarlo creado por Ben Fry y Casey Reas. Pensado especialmente para proyectos multimedia de diseñadores audiovisuales y como herramienta alternativa al software propietario, ya que se distribuye con licencia <span class="caps">GNU</span> <span class="caps">GPL</span>.</p>

	<p>Es sorprendente la cantidad de <a href="http://funprogramming.org/">tutoriales y vídeos que demuestran la potencia visual</a> de este lenguaje (gráficos 2D o 3D, texturas, formas geometricas, etc&#8230;) y la facilidad de exportar los trabajos tanto como aplicaciones locales, integrada en vídeos (como los créditos de una película) o para la web. Processing está basado en java por lo que toda la sintaxis es exportada a applets Java, también se puede usar javascript o incluso Android para ejecutar las creaciones en aplicaciones móviles.</p>

	<p><!--more--></p>

	<p>El <span class="caps">IDE</span> inicial es extremadamente sencillo, <a href="http://processing.org/download/">descargándo el <span class="caps">SDK</span></a> desde la propia web del proyecto ya podemos a trastear con una pocas lineas de código para ejecutar al instante y ver el resultado.</p>

	<p><iframe src="http://player.vimeo.com/video/60731302" width="650" height="365" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>

	<p>Recientemente se ha estrenado una interesante documental <a href="http://hello-world.cc/">“Hello World”</a> cuyo primer capitulo trata sobre este lenguaje (<strong>Processing</strong>). Basándose en entrevistas con artistas, diseñadores y creadores hacen un recorrido audiovisual de las posibilidades de este lenguaje pensado para no programadores y gente con inquietudes artísticas. </p>

	<p>Sitio web | <a href="http://processing.org/">Processing.org</a><br />
Github | <a href="https://github.com/processing">Processing Project</a><br />
Más información | <a href="http://funprogramming.org/">Tutoriales Fun Programming</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[SourceTree ya disponible para Windows, cliente completo para usar Git y Mercurial]]></title>
      <link>http://www.genbetadev.com/herramientas/sourcetree-ya-disponible-en-windows-cliente-completo-para-usar-git-y-mercurial</link>
      <guid>http://www.genbetadev.com/herramientas/sourcetree-ya-disponible-en-windows-cliente-completo-para-usar-git-y-mercurial</guid>
      <pubDate>Tue, 19 Mar 2013 18:18:58 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="SourceTree Windows" src="http://img.genbetadev.com/2013/03/650_1000_sourcetree_hero_win_full_interface_windows-1.png" class="centro" /></p>

	<p>Ya está disponible la versión final de <strong>SourceTree para Windows</strong>. Después de un par de semanas que muchos de los pioneros que se apuntaron han estado probando la versión preliminar, ya es posible descargar la versión final de forma pública desde la web de <a href="http://sourcetreeapp.com">Sourcetree</a>.</p>

	<p>Para el que no conozca <strong>Sourcetree</strong>, <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/sourcetree-cliente-gui-para-manejar-repositorios-git-o-mercurial-llegara-en-breve-a-windows">como ya comentamos</a>, es probablemente uno de los mejores clientes para gestionar repositorios Git o Mercurial (hasta ahora sólo en Mac). <strong>Ideal para los principiantes</strong> teniendo a mano los comandos más comunes: create, clone, commit, push, pull o merge. Todos disponibles en un par de clicks y guiados por un entorno gráfico que siempre ayuda. Podemos conectarnos a repositorios locales de Git o Mercurial y remotos como Github o Bitbucket.</p>

	<p><!--more--></p>

	<p><img alt="Sourcetree commit pull clone" src="http://img.genbetadev.com/2013/03/650_1000_toolbar-small-blog.jpeg" class="centro" /></p>

	<p>Pero no deja de ser una <strong>herramienta para usuarios avanzados de Git</strong> para revisar todos los cambios de los repositorios, manejar de forma sencilla los distintos branch de desarrollo o visualizar claramente cada modificación en los gráficos de cada rama. Sin olvidar muchos comandos como rebase, stash, shelve,.. Por supuesto, los harduser de git pueden lanzar su línea de comandos  y tenerlo como apoyo gráfico.</p>

	<p>SourceTree es una herramienta bastante eficaz para <strong>manejarse por repositorios del trabajo</strong> en los que varios desarrolladores trabajan de forma simultanea y poder aplicar de la forma  eficiente el modelo de desarrollo propuesto por <a href="http://atlassian.com/git/workflows#!workflow-gitflow">Git-flow</a> o Hg-flow.</p>

	<p>Vía | <a href="http://blog.sourcetreeapp.com/2013/03/19/introducing-sourcetree-for-windows-a-free-desktop-client-for-git/">SourceTree Blog</a><br />
Más información | <a href="http://sourcetreeapp.com">SourceTree</a><br />
En Genbeta Dev | <a href="http://www.genbetadev.com/sistemas-de-control-de-versiones/sourcetree-cliente-gui-para-manejar-repositorios-git-o-mercurial-llegara-en-breve-a-windows">SourceTree, cliente <span class="caps">GUI</span> para manejar repositorios Git o Mercurial, llegará en breve a Windows</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Rest-assured, framework para testear y validar nuestros servicios REST]]></title>
      <link>http://www.genbetadev.com/frameworks/rest-assured-framework-para-testear-y-validar-nuestros-servicios-rest</link>
      <guid>http://www.genbetadev.com/frameworks/rest-assured-framework-para-testear-y-validar-nuestros-servicios-rest</guid>
      <pubDate>Mon, 18 Mar 2013 18:43:33 +0000</pubDate>

      <author>Txema Rodríguez</author>
      <description><![CDATA[
      <p><img alt="Rest assured" src="http://img.genbetadev.com/2013/03/650_1000_rest-service-testing-logo1.png" class="centro" /></p>

	<p><strong>Testear y validar servicios <span class="caps">REST</span> en Java</strong> puede ser bastante complejo si no usamos frameworks adecuados. <strong>Rest-Assured</strong> es un Java <span class="caps">DSL</span> (Domain Specific Language) construido sobre la capa <span class="caps">HTTP</span> Builder que permite simplificar la construcción de test sobre una <span class="caps">API</span> <span class="caps">REST</span>.</p>

	<p>Este tipo de test se suelen ejecutar un paso después del proceso de integración continua, <strong>consumiendo <span class="caps">API</span>s <span class="caps">REST</span> después de que hayan sido desplegadas</strong>.</p>

	<p><!--more--></p>

	<p>Cuando validamos un recurso <span class="caps">REST</span>, hay que fijar el foco en una serie de aspectos que nos devuelven como respuesta las llamadas a una <span class="caps">API</span>:</p>

<ul>
<li>El código de respuesta <span class="caps">HTTP</span> (response code)</li>
<li>Las cabeceras <span class="caps">HTTP</span> de la respuesta</li>
<li>El contenido de la respuesta en <span class="caps">JSON</span> o <span class="caps">XML</span> (payload)</li>
</ul>

	<p>Cada test debe fijar el foco en un única responsabilidad e incluir una única assertion. </p>

	<p>Existen distintas soluciones pero una de las que más me ha llamado la atención por su simplicidad y por cumplir los requisitos anteriormente expuestos es <strong><span class="caps">REST</span>-assured</strong>, un framework desarrollado por <a href="http://www.jayway.com/">Jayway</a>. </p>

	<p><strong>Rest-assured</strong> ofrece una serie de características bastante útiles como sintaxis <span class="caps">DSL</span>, validación Xpath, usar JsonPath, registrar parsers para <span class="caps">MIME</span>-Types, file upload, verificar cabeceras <span class="caps">HTTP</span> o cookies&#8230;</p>

	<p>Como ejemplo podemos ver el siguiente código:</p>

	<p>Primer paso. Agrega las siguientes dependencias en tu pom.xml de Maven</p>

	<p><script src="https://gist.github.com/durbon/5190096.js"></script></p>

	<p>Asumiendo el siguiente <span class="caps">JSON</span> de respuesta valido:</p>

	<p><script src="https://gist.github.com/durbon/5190125.js"></script></p>

	<p>Podemos hacer un test con la siguiente sintaxis:</p>

	<p><script src="https://gist.github.com/durbon/5190139.js"></script></p>

	<p>Podemos ver más <a href="https://code.google.com/p/rest-assured/wiki/Usage">ejemplos en la documentación oficial</a> de Rest-assured.</p>

	<p>Más información | <a href="https://code.google.com/p/rest-assured/">Rest-assured</a>, <a href="http://www.devoxx.com/display/DV12/Do+you+REST+Assured">Rest-assured en Devoxx</a><br />
Vía | <a href="http://unpocodejava.wordpress.com/2013/03/04/testeando-servicios-rest-con-rest-assured/">Un poco de java</a>, <a href="http://www.hascode.com/2011/10/testing-restful-web-services-made-easy-using-the-rest-assured-framework/">hasCode</a></p>      ]]></description>
      </item>
        	  <atom:link href="http://www.genbetadev.com/categoria/herramientas/rss2.xml" rel="self" type="application/rss+xml" />
	</channel>

</rss>


