Posts Tagged ruby on rails
Scaling Rails
Posted by jcastaneyra in Ruby on February 27, 2009
Hace un par de semanas aproximadamente buscando información de como hacer escalar aplicaciones Rails me encontré con un material bastante interesante y con información muy valiosa, y lo mejor de todo es que en screencasts, los cuales han sido publicados por Gregg Pollack de RailsEnvy con el soporte de NewRelic, sería muy bueno que les den una revisada. Los screencasts publicados hasta el momento son:
Rails y Merb se fusionan para Rails 3
Posted by jcastaneyra in Ruby on December 23, 2008
Así es, esto es una muy buena noticia para los que seguimos estos dos fabulosos frameworks, hoy 23 dieron esta noticia de que se unirán para Rails 3, aquí está el enlace de la noticia en el weblog de rubyonrails.org.
Miscelánea RoR I
Posted by jcastaneyra in Ocio, Ruby on November 30, 2008
La comunidad de Ruby on Rails se mueve muy, pero muy rapido, y para los que empezamos con este framework se nos hace un poco difícil seguirles el paso, por lo que tenemos que estar lee y lee, y mientras más podamos practicar es mejor.
Hace como una semana o un poco más, David Heinemeier Hansson, creador de Ruby on Rails publicó en su blog una serie de posts hablando de los mitos de RoR, digo, para los que empezamos esto podría ayudarnos, ya que a veces nos detenemos en nuestra profundización precisamente por esos mitos.
Por otra parte, también leí un post de Jim Neath en el que nos da unos tips de como acelerar el desarrollo en Rails, un post que nos puede servir a los novatos que de por si somos lentos (a lo mejor no todos, pero yo si).
Recuerdo que cuando vi por primera vez el framework de RoR, hace un poco más de tres años (me pregunto porque andaba tan metido en otras cosas y no le hice caso en ese entonces), me di cuenta de que había un video de 15 minutos aprox. en el que explicaban como crear un blog, pues ahora Ryan Bates (creador del sitio railscasts.com) ha hecho un nuevo video acerca de como crear un blog, todo novato debería verlo, además de que también estaría bien echarnos un clavado en los videos de railscasts.com.
Instalando RoR 2.2 RC2 en Leopard
Posted by jcastaneyra in Ruby on November 15, 2008
Al día de hoy no tengo una computadora a mi disposición, y como no tengo una, de vez en cuando hago cosas en la compu del trabajo, que no debería, y también a veces me prestan la macbook air, y en la macbook puedo trabajar un poco más, que me gustaría trabajar mucho más en la macbook, pues bien, hace rato ya había trabajado con Ruby on Rails con la versión que trae el leopard, pero hace unos días me dieron ganas de probar la RC de RoR la 2.2 (ya la RC2), para instalarlo tuve que investigar un poquito, ya que no es un proceso de instalación sencillo, tiene algunos trucos, para esto me basé en el post de Dan Benjamin, pero para variar me hago un resumen a mi mismo, para cuando se me vuelva a ofrecer, así que para más detalle visitar el post, ahí si mencionan que sólo por las dudas sería bueno respaldar la información, yo no lo hice, y todo salió bien.
Pues bien, para tener instalada una de las últimas versiones de RoR y diferente a las que está instalada por defecto en leopard es necesario tener instalado el XCode 3.0 o superior, este puede ser bajado de developer.apple.com o bien instalándolo del disco que viene con la mac, la verdad no se que disco es, pero con la mac debe de venir un disco (o más no recuerdo).
Primeros pasos
Primero que nada hay que configurar el path, para esto habrá que abrir una terminal (en este caso con el bash shell), y verificar que esté en mi directorio home, o bien esto puedo realizarse usando el comando:
cdHabrá que editar el archivo .bash_login, yo lo hice con el vi, es posible que este archivo no exista, si no existe lo vamos a crear, y si existe pos editaremos la parte del path, entonces para editarlo o crearlo es con el siguiente comando:
vi .bash_loginAl final del archivo se deberá introducir la siguiente línea:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
Lo siguiente es ejecutar el cambio:
. .bash_login
Al path se agregó la ruta donde se encuentra MySQL, para la instalación de MySQL en leopard recuerdo que sólo bajé el paquete directamente de www.mysql.com y seguí las instrucciones que vienen con dicho paquete.
Se tiene que crear ahora un directorio donde vamos a bajar Ruby y posteriormente compilarlo, entonces habrá que ejecutar los siguientes comandos:
sudo mkdir -p /usr/local/src sudo chgrp admin /usr/local/src sudo chmod -R 775 /usr/local/src cd /usr/local/src
Ruby
Para bajarlo y compilarlo ejecutamos los siguiente:
curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p287.tar.gz tar xvzf ruby-1.8.6-p287.tar.gz cd ruby-1.8.6-p287 ./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1 make sudo make install cd ..
Para verificar que ruby se instaló en el path correcto, escribir:
which rubySe debería ver:
/usr/local/bin/ruby
RubyGems
El siguiente paso es instalar RubyGems (que por cierto Ruby on Rail 2.2 RC2 requiere de RubyGems 1.3.1):
curl -O http://files.rubyforge.mmmultiworks.com/rubygems/rubygems-1.3.1.tgz tar xvzf rubygems-1.3.1.tgz cd rubygems-1.3.1 sudo /usr/local/bin/ruby setup.rb cd ..
Ruby on Rails
Para instalar la versión estable de RoR se ejecuta:
sudo gem install rails
También instalamos mongrel y capistrano, por si las moscas:
sudo gem install mongrel sudo gem install capistrano
Ahora si, para instalar la versión 2.2 RC2 de RoR ejecutar:
sudo gem install rails -s http://gems.rubyonrails.org
Y por último instalamos la gem para mysql
sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
Recursos:
http://danbenjamin.com/articles/2008/02/ruby-rails-leopard
http://weblog.rubyonrails.com/
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.67-osx10.5-x86_64.dmg/from/pick#mirrors
Nuevos libros
Posted by jcastaneyra in Libros, Ruby on July 12, 2008
Así es, hoy fui a recoger a la oficina de correos mi paquete de libros que pedí la semana pasada, se trata ahora de los libros de “Advanced Rails Recipes” de Mike Clark y “Prototype and script.aculo.us” de Christophe Porteveneuve.
Así es que me pondré a leerlos y ya iré contando lo que voy aprendiendo y en donde lo voy aplicando, y mientras aquí dejo la liga a amazon.com
Ruby on Rails, desarrollo ágil y mis divagaciones
Posted by jcastaneyra in Lenguajes, Libros, Pensamientos y sentimientos on March 18, 2008
De hace un mes para acá he andado en una de mis divagaciones internas, de esas que me suelen dar, esas como cómo podría poner un negocio y de qué, o de cómo poder generar más dinero, en fin, esas que luego no me dejan dormir. Sucede que de un mes para acá he estado pensando como poder desarrollar software para negocios pequeños y medianos, de siempre yo he desarrollado para empresas grandes, y obviamente para proyectos grandes, donde mi participación queda en una pequeña parte del proyecto, nunca he hecho algo para un posible cliente, tanto pequeño o grande, ajeno al ambiente de una empresa grande, esto no se me ha dado, y aunque se me hubiera dado probablemente lo habría rechazado, el ¿porqué?, bueno esto hubiera sido porque a mi percepción los desarrollos de lo que sea siempre son lentos, independientemente de la curva de aprendizaje de alguna tecnología (que para mi sigue siendo algo lento), el analisis, el desarrollo y las pruebas son lentas, entonces, dentro de mis divagaciones internas me puse a pensar si ¿habrá alguna tecnología que me ayude o nos ayude a nosotros los desarrolladores a hacer un desarrollo ágil?, debe de haberla, digo, no es por nada de que haya bastantes libros sobre desarrollo ágil.
Entonces me encontré, que para el desarrollo, al menos en aplicaciones web, hay un framework, este framework ya tiene más de un par de años en el mercado, y este es Ruby on Rails, no voy a hablar nada del framework como tal ni del lenguaje Ruby,
lo que si puedo decir es de que acabo de adquirir un par de libros, y si puedo ver que el desarrollo en aplicaciones web si se agiliza bastante, digo, aún así yo no tengo mucha experiencia en desarrollo web, pero dentro de las pocas prácticas personales que he hecho, al menos con Java, jsp’s, jsf, ha sido algo pesado de llevar, porque de repente empiezan a haber un buen de archivos xml de configuración, y si hubiese un errorcito, para encontrarlo puede llegar a ser frustrante.
Bueno, pero eso es con respecto al desarrollo web, y el decir que puede ser ágil es subjetivo, porque también hay que superar la curva de aprendizaje, aunque esto podría ser algo más rapido con Ruby on Rails que por ejemplo con las tecnologías de Java (servlets, jsp’s, jsf), ahora bien, con respecto a aplicaciones de escritorio ¿como se podría llevar a cabo un desarrollo ágil con las tecnologías que hay?, pues aquí si parece que no está muy claro para mi esta cuestión.
A toda esta divagación tuve la osadía de agregarle más confusión, y leerme algunos artículos, un libro y una tesis doctoral, con el libro de 37signals (“Getting real”) donde
habla de desarrollos sencillos y que cumplan con la función principal que resuelve una necesidad, sin agregar complejidad por funcionalidad que bien podría no ser necesaria, pero esto creo que puede servir para desarrollos web, pero para aplicaciones de escritorio tengo mis dudas. También, con la tesis doctoral de Florian Moritz donde habla de la convergencia de aplicaciones web con aplicaciones de escritorio, y las diferentes tecnologías que existen y que están tratando de alcanzar este punto, como las muy mentadas RIA (Rich Internet Applications).
Y bien, aterrizando un poco todo esto, y volviendo a lo que decía en un principio sobre las aplicaciones para clientes pequeños y/o medianos, por ejemplo, si yo tuviera un cliente que quiere una aplicación que sólo corriera en una sóla máquina (el giro de la empresa podría ser cualquiera y que fuera necesario tener datos persistentes), y que después quisiera migrar su aplicación a un sistema multiusuarios, y que posteriormente se requiriera esta aplicación que funcionara como una aplicación global para dar servicio a muchas sucursales, ¿como podría lograr esto de una manera ágil? ¿Como podría hacerla transparente a la migración? ¿Cómo podría hacerla consistente con respecto a la interfaz de usuario, con tal de que no cause impacto de la migración de aplicación de escritorio a aplicación global? ¿Podría funcionar Ruby on Rails aquí, y hacer una aplicación web y tenerla en una máquina local como si fuera una aplicación de escritorio, y con esto sólo quedaría en centralizar la base de datos acorde a cada una de las migraciones? ¿O tendría que hacer uso de una combinación de tecnologías, como Java, AIR (el framework de Adobe), openlaszlo?
De veras que me gusta complicarme la vida, y cuando estaba terminando de escribir este post, llega una posibilidad de poner en práctica esto que estoy poniendo aquí.


Recent Comments