tag:blogger.com,1999:blog-98394912024-03-05T05:26:32.520-08:00Desarrollo en NETBlog sobre desarrollo de softwareMario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-9839491.post-70302882547820667772010-02-02T09:00:00.000-08:002010-02-02T09:00:03.901-08:00DevLab: Git para Windows<p style="clear: both">En este video se muestra como trabajar con repositorios Git desde el ambiente Windows. Para tal efecto se usa la herramienta <a href="http://code.google.com/p/msysgit" target="_blank">msysgit</a>.</p><p style="clear: both"><span style=" text-align: center; display: block; margin: 0 auto 10px;"><object height="225" width="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9146919&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" /><embed allowfullscreen="true" type="application/x-shockwave-flash" src="http://vimeo.com/moogaloop.swf?clip_id=9146919&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" allowscriptaccess="always" height="225" width="400"></embed></object></span><a href="http://vimeo.com/9146919">DevLab: Como usar Git en Windows</a> from <a href="http://vimeo.com/mariochavez">Mario A Chavez</a> on <a href="http://vimeo.com">Vimeo</a>.</p><p style="clear: both"></p><br class='final-break' style='clear: both' />Mario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com6tag:blogger.com,1999:blog-9839491.post-82431185756693550072009-10-29T08:34:00.001-08:002009-10-29T08:35:58.404-08:00DevLab: Introducción a Sinatra<p style="clear: both">A raíz de mi plática sobre <a href="http://www.sinatrarb.com/" target="_blank">Sinatra</a> en el pasado <a href="http://shdhtj.pbworks.com/" target="_blank">CodeCamp/SHDH Tijuana 09</a>, he decidido iniciar una serie de Videocasts sobre el desarrollo de aplicaciones Web con Sinatra, siendo este el primero de esta saga.</p><p style="clear: both">Sinatra es un DSL o un lenguaje de dominio específico para Ruby, el cual permite desarrollar aplicaciones Web cuya complejidad y tamaño no es tan grande como para usar algún framework de gran calada, por ejemplo Ruby on Rails.</p><p style="clear: both">Sin lugar a dudas Sinatra esta enfocado 100% a la simplicidad y por lo tanto es posible entregar aplicaciones completas en un muy corto tiempo.</p><blockquote style="clear: both"><p>require 'rubygems' <br />require 'sinatra' <br />get '/hi' do <br /> "Hello World!" <br />end</p></blockquote><p style="clear: both">Si se quiere seguir paso a paso el Videocast y no se cuenta con Ruby instalado, pueden consultar el post de <a href="http://mario-chavez.blogspot.com/2009/10/como-instalar-ruby.html" target="_blank">Como instalar Ruby</a>, el cual tiene instrucciones para Windows, Linux y OSX.</p><p style="clear: both">Para instalara Sinatra es tan simple como ejecutar:</p><blockquote style="clear: both"><p>gem install sinatra</p></blockquote><p style="clear: both">En el caso de Linux y OSX es requerido ejecutar este comando bajo <strong><em>sudo</em></strong>.</p><p style="clear: both">Adicional a Sinatra hay que instalar las siguientes gemas de <a href="http://datamapper.org/" target="_blank">DataMapper</a>:</p><blockquote style="clear: both"><p>gem install dm-core<br />gem install dm-serializer</p></blockquote><p style="clear: both">Aquí dejo el video no sin antes listar un par de recursos para Sinatra.<br />- <a href="http://www.sinatrarb.com/documentation.html" target="_blank">Documentación de Sinatra</a><br />- <a href="http://www.sinatrarb.com/book.html" target="_blank">Sinatra, libro en línea</a><br /><br /></p><p style="clear: both"><span style=" text-align: center; display: block; margin: 0 auto 10px;"><object height="250" width="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7309059&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" /><embed allowfullscreen="true" type="application/x-shockwave-flash" src="http://vimeo.com/moogaloop.swf?clip_id=7309059&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" allowscriptaccess="always" height="250" width="400"></embed></object></span></p><br class='final-break' style='clear: both' />Mario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com4tag:blogger.com,1999:blog-9839491.post-80081232916867262242009-07-08T13:00:00.001-07:002009-07-08T13:00:16.660-07:00DevLab: Selenium IDE<p style="clear: both">Dentro de la gama de pruebas que podemos establecer en nuestras aplicaciones durante su desarrollo, hay un tipo que de alguna forma simula la interacción del usuario con la aplicación, generalmente este tipo de pruebas son llamadas de integración, ya que que se prueba el funcionamiento total de la aplicación desde la interface gráfica hasta llegar a la base de datos.</p><p style="clear: both">En el casa de aplicación Web, existe una herramientas que nos auxiliara en el diseño e implementación de este tipo de pruebas, para que puedan ser ejecutas de forma automática, esta herramienta es Selenium IDE.</p><ul style="clear: both"><li><a href="http://seleniumhq.org/" target="_blank">Selenium IDE</a></li></ul><p style="clear: both">El siguiente video muestra como instalar Selenium IDE y como podemos comenzar a realizar pruebas sobre nuestra aplicación Web.<br /><br /></p><p style="clear: both"><span style=" text-align: center; display: block; margin: 0 auto 10px;"><object height="250" width="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5501727&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" /><embed allowfullscreen="true" type="application/x-shockwave-flash" src="http://vimeo.com/moogaloop.swf?clip_id=5501727&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" allowscriptaccess="always" height="250" width="400"></embed></object></span><a href="http://vimeo.com/5501727">DevLab: Selenium</a> from <a href="http://vimeo.com/user916008">Mario A Chavez</a> on <a href="http://vimeo.com">Vimeo</a>.</p><br class='final-break' style='clear: both' />Mario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com1tag:blogger.com,1999:blog-9839491.post-79220601824912740712009-03-06T13:55:00.003-08:002009-03-06T14:12:13.586-08:00DevLab: TDD, pruebas de unidad.En el desarrollo de software, ya sea usando metodología "formales" como la ingeniería de software o metodología ágiles, incluyen una fase que se denomina de pruebas.<br /><br />Hay diferentes forma de realizar las pruebas, una de ellas, y quizás la menos optima, es darle la responsabilidad al programador que esta implementando la funcionalidad a que el mismo realice las pruebas.<br /><br />Otra forma de hacer es tener un equipo formalmente de aseguramiento de calidad o Q&A.<br /><br />Ambas opciones generalmente no son pruebas automáticas o que nos aseguren que la mecánica de la prueba va a ser siempre igual o que accidentalmente se omita alguna parte de la prueba.<br /><br />El resultado derive en que cabe la posibilidad de que nuestro programa presente "bugs" al momento de llegar a producción.<br /><br />Ante esta situación en la industria de desarrollo de software ha ideado practicas para poder realizar pruebas automáticas sobre el software.<br /><br />Una de estas practicas es la llamada Pruebas de Unidad o Unit Testing. Las pruebas de unidad consisten en pequeños bloques de código que se ejecutan para probar el código de nuestra aplicación.<br /><br />Las pruebas de unidad tiene como alcance el probar únicamente la funcionalidad propia de clase en cuestión y no su interacción con otras clases del sistema.<br /><br />Como una extensión a la realización de pruebas de software, la Técnica Desarrollo Dirigido por Pruebas o Test Driven Development (TDD), nos indica que "alguien" tiene que escribir las pruebas de nuestro código a partir de las especificaciones del mismo, antes que esa funcionalidad sea implementada. Esto se debe a que el objetivo de TDD es dual, primero al escribir las pruebas para código que no existe, estamos realizando el diseño del software que vamos a construir y el segundo objetivo es que las pruebas realizas obedecen a una especificación, por lo tanto es posible identificar en que parte de nuestro software se implemento la especificación requerida.<br /><br />Referencias<br /><ul><li><a href="http://www.testdriven.com">TestDriven</a></li><li><a href="http://www.agiledata.org/essays/tdd.html">Introducción a TDD</a></li></ul><br /><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3503342&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3503342&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><br /><a href="http://vimeo.com/3503342">DevLab: TDD, pruebas de unidad</a> from <a href="http://vimeo.com/user916008">Mario A Chavez</a> on <a href="http://vimeo.com">Vimeo</a>.<br /><br />Material del Screencast<br /><ul><li><a href="http://www.nunit.org">NUnit</a></li><li><a href="http://www.codeplex.com/xunit">xUnit</a></li><li><a href="http://www.testdriven.net/">TestDriven.NET</a></li><li><a href="http://www.jetbrains.com/resharper/">Resharper 4.1</a></li><li><a href="http://www.gallio.org/">Gallio</a></li><li><a href="http://code.google.com/p/mariochavezcode/downloads/list">Librería nHibernate.Validator</a></li><li><a href="http://code.google.com/p/mariochavezcode/downloads/list">Código fuente del ejemplo DecisionesInteligentes.Health</a></li><li><a href="http://github.com/leemhenson/nhibernate-contrib/tree/master">Codigo fuente de nHibernate-Contrib</a></li></ul>Mario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com2tag:blogger.com,1999:blog-9839491.post-61720506225976282009-02-25T23:21:00.001-08:002009-02-25T23:24:42.804-08:00DevLab: Webkit InspectorEn esta ocación en el videocast se muestra el uso de la herramienta WebKit Inspector, la cual es de gran ayuda tanto para los diseñadores web, así como para los programadores web.<br /><br />La herramienta permite inspeccionar el código html de una pagina web, realizar cambios a la misma "en vivo", también es posible inspeccionar el CSS de la pagina y de igual forma realizar cambios al momento.<br /><br />También cuenta con una opción para medir el tiempo de carga y tamaño de nuestra pagina, dandonos un detalle, de cuales son los elementos que tardan mas en descargarse o cuales son los mas "pesados" en términos de bytes.<br /><br />Por último también se muestra la herramienta para depurar javascript e inspeccionar los valores de las variables del código que se este ejecutando, ademas de incorporar una herramienta de "profile" para analizar que partes de nuestros javascript son las más lentas en su ejecución.<br /><br /><object width="400" height="302"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3376043&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1"><embed src="http://vimeo.com/moogaloop.swf?clip_id=3376043&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object><br /><a href="http://vimeo.com/3376043">DevLab: WebKit inspector</a> from <a href="http://vimeo.com/user916008">Mario A Chavez</a> on <a href="http://vimeo.com/">Vimeo</a>.<br /><br /><ul><li><a href="http://webkit.org/">WebKit OpenSource Project</a></li><li><a href="http://trac.webkit.org/wiki/Web%20Inspector">Habilitación del WebKit Inspector</a></li><li><a href="http://webkit.org/blog/197/web-inspector-redesign/">Post en inglés con información adicional sobre el WebKit Inspector</a></li></ul><br />Como siempre comentarios o sugerencias para próximos videocasts son bienvenidos.Mario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com1tag:blogger.com,1999:blog-9839491.post-490779325481233242009-02-18T10:09:00.002-08:002009-02-18T10:22:38.667-08:00DevLab: GIT parte 2Segunda parte del videocast sobre el sistema de control de codigo fuente Git. La primera parte se encuentra <a href="http://mario-chavez.blogspot.com/2009/02/devlab-git-parte-1.html">aquí</a>.<br /><br />En este video se tocan temas sobre, clonación de repositorios, manejo de etiquetas (tags), creación y manejo de ramas (branches) y se muestra la aplicación GitX para visualizar la bitácora de cambios y ver la gráfica de cambios en nuestro proyecto.<br /><br />Adicional a los recursos para Git presentados en el <a href="http://mario-chavez.blogspot.com/2009/02/devlab-git-parte-1.html">primer videocast</a>, aqui se presenta una<a href="http://git.or.cz/gitwiki/GitCheatSheet"> hoja "acordeón" </a>para Git (cheat sheet).<br /><br /><object width="400" height="302"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3220620&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3220620&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object><br /><a href="http://vimeo.com/3220620">DevLab: GIT parte 2</a> from <a href="http://vimeo.com/user916008">Mario A Chavez</a> on <a href="http://vimeo.com">Vimeo</a>.<br /><br />Como siempre comentarios, sugerencias son bienvenidos.Mario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com0tag:blogger.com,1999:blog-9839491.post-7720859153987508502009-02-11T13:06:00.004-08:002009-02-12T16:20:58.489-08:00DevLab: GIT parte 1Este primer video vamos a realizar una introducción a el sistema de control de código fuente GIT, este videocast esta conformado por una primera parte (este video) y una segunda parte que se publicará próximamente.<br /><br /><object height="302" width="400"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3174955&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1"><embed src="http://vimeo.com/moogaloop.swf?clip_id=3174955&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=00adef&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="302" width="400"></embed></object><br /><a href="http://vimeo.com/3174955">DevLab Git</a> from <a href="http://vimeo.com/user916008">Mario A Chavez</a> on <a href="http://vimeo.com/">Vimeo</a>.<br /><br />Recursos<br /><ul><li><a href="http://git-scm.com/">Página de GIT</a></li><li><a href="http://code.google.com/p/git-osx-installer/">Git para OSX</a></li><li><a href="http://gitx.frim.nl/">GitX interface gráfica para OSX</a></li><li><a href="http://code.google.com/p/msysgit/">Git para Windows</a></li><li><a href="http://gitorious.org/">Proveedor de hosting de repositorios Git, Gitorious</a></li><li><a href="http://github.com/">Proveedor de hosting de repositorios Git, Github</a></li></ul>Mario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com1tag:blogger.com,1999:blog-9839491.post-47702494768526694122009-02-11T12:38:00.004-08:002009-02-11T13:02:48.219-08:00DevLab Screencast de desarrollo de softwareYa el año pasada habia comenzado con esta iniciativa de crear Screencasts sobre temas de desarrollo de software, por diversas situaciones ya no pude continuar haciendolo.<br /><br />Pero he decidido buscarme el tiempo para dedicarle a la creación de estos videos, esperando que sean de ayuda mutua, es decir que el contenido les aporte algo en su desempeño diario, y que támbien a través de la retro-alimentación me ayuden haciendome saber sus comentarios sobre el tema.<br /><br /><div class="thumbnail"><img src="http://img.skitch.com/20090211-8a4u433xqusmh9gnx471dk6h29.preview.jpg" alt="DevLab" /></div><br />La serie de Screencast se llama <a href="http://mario-chavez.blogspot.com/search/label/DevLab">DevLab</a> y la puden acceder desde esta liga o subscribirse a al feed a traves de <a href="http://feeds2.feedburner.com/DevLabVid">feedburner</a>.<br /><br />El primer video esta práticamente listo y es sobre el Sistema de Control de Código Fuente GITMario Alberto Chavezhttp://www.blogger.com/profile/04570765777367735469noreply@blogger.com2