Archivos de la categoría Programación.

freeze!

Publicado por Miguel Ángel a las 21:06

Filed under: Friki, Geek, Programación and Tonterías.

 

En Ruby existe un método para congelar un objeto de cualquier clase, haciendo así imposible que sea modificado por instrucciones posteriores. Claro que, tratándose de Ruby, cada clase puede redefinir su método freeze.

[miguev@Quoth Ruby]€ irb1.8 --simple-prompt
>> class ParanoicRobot
>>   def freeze
>>     puts "I'm not a fridge"
>>   end
>> end
=> nil
>> marvin = ParanoicRobot.new
=> #< paranoicrobot :0xb7c51b58 >
>> marvin.freeze
I'm not a fridge
=> nil

Aprender programación web

Publicado por Miguel Ángel a las 19:54

Filed under: Programación.

 

A un par de meses de terminar la Ingeniería Técnica en Informática de Sistemas me doy cuenta de que mis conocimientos y habilidades en programación web están oxidados y obsoletos. Puedo hacer y hago cosillas pero no me siento nada cómodo con mis metodologías.

Normalmente soy un poco reacio a pedir ayuda, por eso de recibir un RTFM o similar, pero tampoco es bueno tener amigos y no pedirles ayuda. Recientemente he recibido consejo del coleguita amigo Jake y –con su permiso– voy a apuntarlo por aquí para tenerlo a mano.

Sigue leyendo …

Bazaar

Publicado por Miguel Ángel a las 01:13

Filed under: Geek, Programación and Software Libre.

 

Hace poco dejé por aquí un apunte sobre cómo montar un repositorio SVN sobre SSH, por si algún día necesitaba recordarlo y me fallaba la memoria. Hoy ha sido ese día :-)

Esta mañana me pasé un rato leyendo sobre Bazaar, otro software de RCS (sistema de control de versión). Este software recibe su nombre del modelo de desarrollo del Software Libre, descrito por Eric S. Raymond en su artículo La Catedral y el Bazar (original).

He aquí mi motivación: para mantener el control de versión de las prácticas de LEYFA ahora mismo estamos usando un repositorio CVS en el pendrive — ¿he contado cómo se hace eso? es muy fácil. Cada vez que queremos guardar los cambios (commit) tenemos que montar el pendrive. No hablemos de la desgracia que podría suponer la pérdida del mismo. Con Bazaar el pendrive dejaría de ser el eje central y pasaría a ser una tuerca más.

Además, no se necesita un repositorio central desde el que los usuarios descarguen los ficheros. Una copia de trabajo (working copy) de los mismos es un repositorio, por lo que puede subirse a cualquier servidor web y ser descargada por los usuarios con toda la información de control de versión empotrada en el directorio.

Sigue leyendo …

Repositorio SVN sobre SSH

Publicado por Miguel Ángel a las 15:05

Filed under: Geek, Programación and Software Libre.

 

SVN es un sistema de control de versiones que está reemplazando desde hace tiempo a CVS. Ambos sistemas de control de versiones son muy útiles (y más que recomendables) para mantener centralizado y coordinado cualquier desarrollo entre varias personas o varios lugares, tanto para código como para documentación.

En su momento –the good old times– tenía repositorios CVS por todas partes y lo usaba extensivamente para mantener mis prácticas de programación, informes de prácticas en varios formatos y diversos proyectos de documentación y Software Libre. Aún conservo un repositorio CVS dentro del pendrive, pues SVN no está siempre disponible.

Hace un par de años escribí un artículo en el antiguo foro de la ETSII sobre Cómo no suicidarte si te cargas una práctica, con las instrucciones para tener un repositorio CVS en cualquier sistema en el que tengas acceso por SSH. Desgraciadamente este artículo se perdió junto con el resto del foro y no conservo copia.

Esta mañana, durante mi tercer intento accidentado de meter un proyecto en un repositorio SVN, me he tomado el tiempo de anotar aquí cómo hacerlo de la forma más portable que he encontrado: en una cuenta con acceso SSH. El método es prácticamente el mismo que en aquel difunto artículo, pero las herramientas de SVN tienen un uso y funcionamiento muy distinto al de las de CVS.

Sigue leyendo …

Probando Ruby

Publicado por Miguel Ángel a las 16:35

Filed under: Geek, Programación and Software Libre.

 

Escuchando: Ruby Tuesday (Featuring Ron Wood) — The Corrs

Por motivos que escapan a mi comprensión, estoy aprendiendo Ruby. Hace demasiado tiempo que no disfruto programando por gusto y tengo que arreglar eso porque me está sentando mal. Dicen –los autores del Ruby Book– que Ruby hace que programar sea divertido además de fácil.

El libro con el que estoy aprendiendo –Ruby Book– está muy bien. Es ameno y engancha, no tanto como Terry Pratchett –por suerte– pero sí lo suficiente para seguirlo sin esfuerzo. Y además es ecológico :-)

Como información de contexto, diré que programo en Python siempre que puedo, desde que lo aprendí hace unos tres años. Casi todos los programas que he publicado están escritos en Python. Aprendí Perl a principios de 2005, pero aunque lo pasé muy bien no tengo la sensación de saber Perl.

El lenguaje tiene muy buena pinta. Sencillo, directo y agradable. En Japón –su país natal– hace tiempo que es más popular que Python, y O’Reilly hace tiempo que vende más libros de Ruby que de Python.

Sigue leyendo …