Como instalar Sphinx en Mac OSX para Ruby on Rails y aprender a usarlo
En ocasiones nos encotramos con tablas muy grandes en las que realizar búsquedas complejas que se basan en más parámetros que un simple id. Con el método de indexación que nos proporciona Rails no obtendremos la rapidez que deseamos en las búsquedas. Para estos casos aconsejo utilzar Sphinx, un motor de búsqueda que hará que consultas en tablas de miles o incluso millones de filas sean increíblemente rápidas.
Así pues, voy a explicar como instalar Sphinx en Mac OS X y con PostgreSQL. Lo primero de todo será compilar unas dependencias necesarias:
~% mkdir src ~% cd src ~% curl -O http://ftp.gnu.org/gnu/libiconv/libiconv-1.13.tar.gz ~% tar xzf libiconv-1.13.tar.gz ~% cd libiconv-1.13 ~% ./configure --prefix=/usr/local ~% make ~% sudo make install ~% cd ..
A continuación hacemos lo mismo con la otra librería necesaria.
Cómo instalar PostgreSQL en Mac OSX Leopard
Voy a explicar los pasos a seguir para instalar PostgreSQL en Mac OSX Leopard. Lo primero de todo es tener instalas las XCode Tools, que son las herramientas de desarrollo de Mac OSX que puede encontrar en el DVD de instalación de Leopard. De ese modo tendremos acceso a los ports que dan acceso a los repositorios necesarios par la instalación.
Si ya los tenemos instalados, lo mejor de todo es actualizar los ports:
sudo port selfupdate sudo port upgrade outdated sudo port sync
Acceder y mapear varias bases de datos en Rails
En ocasiones me he encontrado con la necesidad de importar algunos datos de una base de datos antigua al empezar un proyecto nuevo, con una base de datos y tablas completamente nuevas y distintas de las originales. En estos casos es necesario mapear la base datos antigua para que podamos ejecutar una task que realice la importación de datos tal y como deseemos.
Así pues parece lógico que lo primero que haremos es modificar el archivo database.yml:
# Common configuration. base_config: &base_config encoding: unicode adapter: postgresql host: localhost # App configuration. development: <<: *base_config database: my_new_app_development old_database: <<: *base_config database: old_app_production
Pequeño proyecto realizado con Ruby y Gosu
Siguiendo con la programación en Ruby, con el fin principalmente de tener una mejor base de Rails, hace poco me puse a trabajar en otro proyecto personal: Un videojuego hecho en Ruby con Gosu, una librería especialmente diseñada para crear juegos.
La idea la tenía en mente desde que asistí a una charla de Javier Ramírez en la pasada Euruko 2009, donde hizo una pequeña demostración de lo que puede hacerse con Ruby y con Gosu, a la par que hizo una de las presentaciones más graciosas y entretenidas de la conferencia. Anteriormente, había hecho algunos juegos muy simples con C y SDL, y ver lo limpio que quedaba el código con Ruby y Gosu fue lo que hizo que me decidiese.
Tutorial de Ruby modules
Mucha gente desconoce Ruby cuando se pone a programar en Rails. Uno de los conceptos más importantes que tiene Ruby son los modules.
Los modules (o módulos) son una forma de agrupar métodos, clases y constantes. A diferencia de una clase, un module no tiene instancias de sí mismo. Principalmente, los modules se usan para:
– Uso de namespaces para evitar colisión de nombres y clases.
– Para la llamada “mixin”, una especie de herencia que explico más adelante.
Subscríbete