View posts for » Category "rails"

Flickr on Rails

flickronrails

Para empezar a usar el API de Flickr en tus aplicaciones puedes hacerlo directamente desde el API o usando las gemas que existen disponibles, lei muchas preguntas y comentarios sobre cual era la mejor gema y mi conclusión probando ambas es simple rflickr.

rFlickr

Para aplicaciones mas grandes o elaboradas, es una fiel representación de la API de Flickr, de hecho existe poquisima documentación con respecto a rFlickr, porque con la descripción de la API basta.

sudo gem install rflickr

Recuerda que si has utilizado la gema flickr debes desinstalarla porque ocupan como base el mismo nombre de la clase, flickr.rb

Autentifica tu aplicación solo una vez

Esta opción es muy util porque guardas todas tu llaves de autentificación en un archivo el cual despues solo tienes que leerlo para obtener full permisos.

URL, FROB y Archivo de Autentificación

Primero debes obtener los datos de tus llaves en Flickr (Obtener llaves)

APIKEY


@flickr = Flickr.new(”/ruta/al/archivo/flickr.cache”,”API KEY”,”SHARED SECRET”)
@link = flickr.auth.login_link

1. Pinchando @link serás enviado a Flickr el que te pedira que autorices la aplicación, si la autorizas, flickr te enviara a la URL que seteaste como Callback URL con el Frob como parametro.

El frob es string que necesitas para generar el archivo de autentificación y olvidarte de este tema en tu aplicación.

2. En la dirección que setees como CallBack URL deberás estar esperando el frob de esta manera.


@flickr = Flickr.new(”/ruta/al/archivo/flickr.cache”,”API KEY”,”SHARED SECRET”)
@flickr.auth.getToken(params[:frob])
@flickr.auth.cache_token # En este punto, guardo el archivo.

3. Ya has completado el paso de autentificación, ahora solo debes ocuparla!.

Mostrando las fotos dentro de tus sets

El codigo que voy a poner es solo didactivo, al momento de crear tu app lo deberás refinar.


@flickr = Flickr.new(”/ruta/al/archivo/flickr.cache”,”API KEY”,”SHARED SECRET”)
@sets = @flickr.photosets.getList

for set in @sets
# set.id - set.title - set.description
@photos = @flickr.photosets.getPhotos(set.id)
for photo in @photos
img class=’foto-id’ src=’http://farm1.static.flickr.com/<%= photo.server %>/<%= photo.id %>_<%= photo.secret %>_t.jpg’ width=’100′ height=’75′ alt=’<%= photo.title %>‘
end
end

4. Para terminar, cuando estaba implementando el sistema, utilice una función de la API, photos.getSizes, que retornaba la dirección URL a los diferentes tamaños, el problema era que al iterar sobre todas las fotos y a su vez obtener el tamaño, el servidor suplicaba parar, es por eso que investigando un poco mas llegue a una descripción de la URL de la API, les dejo el link para que jueguen mas con las URL dejando de llenar al servidor con peticiones.

pd. Darse cuenta que ocupe la etiqueta img sin “<>“, lo que me dice… Nico, tienes que hacerte un css para mostrar codigo en tu pagina.

Comments (1)

SVN, SSH y otras hiervas

svnssh

No se olviden!! Soy un geek.

Ruby on Rails aparte de ser un excelente framework, te obliga a aprender muchas cosas necesarias para salir de tu localhost y desplegar tu aplicación en Internet. En otros lenguajes o frameworks el problema para mi era desarrollar la aplicación, como poner las cosas en orden y juntarlas. En Rails para mi el problema ha sido como desplegar estas aplicaciones.

Por el momento todavía no me lanzo a tratar de desplegar aplicaciones en Internet en servidores privados o VPS, pero si en servidores compartidos. Que aunque la perfomance de las aplicaciones no es de las mejores es una barata forma de ver tus aplicaciones corriendo.

Mi primer intento lo hice en Dreamhost (Tengo una cuenta y prefiero probar aqui), pero la idea es probar en otras 2 compañias hosteras para ver como se comportan.

Que tuve que aprender para desplegar una aplicación Rails en Dreamhost?

No voy a profundizar mucho, solo les contaré lo necesario para que luego se lancen a investigar y aprender que nos caracteriza.

SVN

Es la sigla que identifica a Subversión, básicamente lo que te permite es tener un total control sobre los cambios en tu aplicación y es totalmente indispensable cuando trabajar en equipo, en donde saber quien hizo o “cometió ese error” es vital. Por otro lado te olvidas de estar con tu cliente FTP abierto y subiendo archivo por archivo, tratando de recordar cuales fueron los que editaste. Para iniciarte con Subversión y no tener que leer un manual de 300 hojas, sigue este manual. Cuando lo tengas dominado vuelve aqui.

Terminando sabrás lo que es Tortoise y el como actualizar tu repositorio.

Nota. No olviden instalar SVN en tu computadora, para que los comandos svn co por ejemplo, en simbolo de sistema Windows lo reconozca. Baja aqui los archivos necesarios.

SSH

Para usuarios como yo que tenemos un background Windows, (no comments please) lineas de comandos, unix, conexiones remotas, etc etc… son totalmente ajenas. Por eso para mi fue un gran descubrimiento como otro bloggero lo comentaba y nos contaba sus experiencias usandolo.

Que necesito saber?, para usarlo en dreamhost no mucho, mas que nada para hacer pruebas por el momento, como ver que esta fallando… ejecutando via linea de comandos algunas cosas. (Ej. Comparen la velocidad de borrar una carpeta versionada con SVN al hacerlo via linea de comandos y tu cliente FTP favorito… después de eso entenderán de que estoy hablando y es solo el comienzo).

La gente de MacOS y Linux cuentan con lineas de comandos por defecto, en Windows no lo tenemos y tenemos que instalarlo manualmente, este es el mejor.

Bajenlo
Abranlo y para conectar escriban la dirección donde tienen pensado correr su aplicación en Rails.

Y tu estimado lector, has tenido alguna experiencia desplegando?…

Que viene?

En el proximo post, entro en detalles en lo que es Capistrano y el definitivo deploy.

Comments (3)

Conferencia Rails Hispana, Parte 2

La conferencia se llevo sin problemas, algunos problemas de horario, pero todo perdonable gracias a la gran organización que se han mandando, desde el stream en vivo de la conferencia hasta invitar en vivo y en directo a participar a gente en México siguiendo la conferencia en vivo y en directo desde el pais del norte america.

Participe en la siguientes charlas:

Soluciones de internacionalización en Rails
Esta charla la dieron unos tipos que ni recuerdo el nombre de su empresa, sin decir que estubo mala, solo digo que no me gusto, un poco “Anti-Cristos” de Rails, en el sentido de dar a entender que no se puede hacer mucho con ello en el tema de Internacionalización.

Seguridad de Aplicaciones Web
Esta charla aunque la dieron en una aula muy pequeña, “estaba llenisima” me tube que sentar en el piso. Pero estubo muy buena mostrando en vivo y en directo como con Injecciones SQL puedes hacerte de una aplicación un CAOS y como Rails soluciona este problema muy fácilmente.

Optimización y desnormalización del modelo de datos en Active Record
Aqui nos contaron muy rápidamente como Rails no es mágico y que a veces hay que recurrir a propios Hacks para poder hacer que esto corra de manera correcta sin sobre carga

Rails desde el codigo
Un tipo de si no me equivoco ASP Gems nos mostro básicamente como funciona el Core de Rails y sus 70.000 lineas de código que deja en claro que Rails no es un juego y que detras existe un gran trabajo.

Luego una charla de empresas en donde gente como The-Cocktail, David Blanco de Tractis y otras empresas nos contaron como se ha desarrollado en la “vida real” el desarrollo en Rails.

La conferencia Plenaria se la dejaron a The-Cocktail nuevamente con su proyecto La Coctelera que sin lugar a duda dentro de España es la aplicación Rails funcionando mas grande, nos contaron su experiencia en como su crecimiento ha llevado a un contastante desarrollo para hacer de su aplicación mas estable.

No les doy mas detalles porque segun tengo entendido la organización de la conferencia espera subir todas las slides de la conferencia a la pagina.

Algunas Anécdotas

Tube la oportunidad de conversar un par de minutos con David Blanco, quien me hizo las gestiones para poder pagar la conferencia aqui en Madrid. Les recomiendo seguir muy de cerca su proyecto Tractis que promete.

Muy bien conoci a un tipo muy simpático llamado Jesús con el cual comparti gran parte del tiempo dentro de la conferencia, una vez terminada ellos se fueron a cenar, yo me vine a la Hostel a dejar las cosas y luego me fui en donde estaban todos, EL Locua un club nocturno, en donde estaban todos me tome unos Whiskies y unas cervezas. El local estaba muy muy bueno.

Para terminar la noche Fernando de The-Cocktail tubo la amabilidad de traerme en su carro a la Hostel.

En resumen… un dia increíble, conocí mucha gente y aprendi montones, mañana esperamos otras charlas buenisimas y el broche de oro con una video-conferencia en vivo y en directo con el “Maestro” Creador de Rails DHH.

Comments (2)

Algunos problemas y Madrid

A mis amigos y visitantes de este blog, le cuento que justamente hoy 22 de Noviembre se vence mi plan anual de hosting y dominio, y mi pagina probablemente se caera junto con Orelworks.com. El dominio ya lo transferi gracias a GOOODaddy.

Todo lo tengo medianamente solucionado, primero tengo una cuenta preparada en Dreamhost para recibir mis paginas, pero por otro lado estoy amazando la posibilidad de mover Orelworks a Mediatemple, asi que creo que por el viaje a Madrid y mi siguiente análisis de servidores de hosting o VPS voy a tar el resto de esta semana abajo, pero volvere!.

Viajo a Madrid mañana Jueves en un viaje algo largo.

  • 9am - 13pm Manchester - London
  • 14.30pm London - Luton (Airport)
  • 17.20pm - 8.20pm Luton - Madrid

Viajo con mi computador porque voy a participar de la primera Conferencia Rails en Madrid asi que voy a estar tratando de arreglar los problemas desde alla, pero se imaginarán que siendo mi primer viaje a Madrid voy a estar sacando fotos por doquier y no espero pasar mucho tiempo en el PC.

Les cuento desde Madrid como sigue todo.

Comments (0)

Mi primera aplicación Rails

Con dia 19 de Noviembre me tire finalmente a codear en Ruby on Rails, o mejor dicho en Ruby. Llevo ya un par de meses aprendiendo, asistiendo a las reuniones de geekup.org aqui en Marchester, conversando y aprendiendo mas de Ruby y Rails, pero no me habia lanzado a diseñar algo propio.

Algunas cosas que he aprendido,

  1. Realmente es como los libros dicen; Desarrollar en Rails es como ver una pelicula de Kung-fu
  2. Alguna veces en la vistas uno tiende a repetirse (Background php), pero benditos sean los helper
  3. No es necesario saber Ruby para tirarte con Rails, Rails te lo enseña.
  4. Los unicos problemas que me han salido al camino, han surgido solo debido a mi “desconocimiento” de Ruby, pero rapidamente lo he ido aprendiendo, la documentación en Internet sobre Ruby es gigantesca
  5. Luego les cuento mas y con mas detalles, sobre que estoy haciendo. Y ojo que voy a necesitar “testers!”
Comments (2)

Conferencia Rails 2006 a Madrid los pasajes

285922673_99d7040883_o

Los dias 24 y 25 de Noviembre voy a participar de la primera conferencia hispana de Rails, en donde claramente la estrella es Ruby on Rails, que para los que aun no saben es un framework basado en el lenguaje ruby y que ha revolucionado la web, por su belleza de código, su fácil uso y mantener a quienes lo usan motivados.

Aunque no será en persona el día sábado 25, al finalizar la seria de charlas se espera una video conferencia con Chicago con David Heinemeier Hansson, el creador del framework y socio de la compañía 37Signals.

La conferencia estará enfocada a todo tipo de participantes desde quienes solo han escuchado de Rails y quieren entrar en el mundo hasta experimentados que quieran mejorar sus capacides.

Tractis, una de las mas importantes startups hispanas, estará contando sus experiencias con respecto a su implementación, despliegue, internacionalización de su webapp.

Estoy muy contento de poder participar de este tipo de reuniones que en mi país Chile, no se dan a menudo. Aunque eso al parecer esta cambiando y lentamente se ha estado formando una activa comunidad web trabajando en nuestro país. Tenia un problema para pagar la inscripción al evento pero ya lo solucione. Gracias David!.

Comments (0)

URLs bien diseñadas gracias a Rails

quelindaurltienes

Ruby on rails viene por defecto con un sistema de ruteo de direcciones (URL), veamos como se comporta una petición via browser a una aplicación rails.

Al momento de escribir en nuestro navegador:

http://www.tudominio.cl/receta/lista

  • El servidor carga la información referente al controlador receta_controller.rb que se encuentra ubicado en app/controllers.
  • El servidor instancia una objeto de tipo receta, en esta caso RecetaController.
  • Carga la data del Modelo, en este caso buscara el modelo encargado de negociar con nuestra base de datos en app/models buscando el archivo receta.rb, si lo encuentra lo cargará.
  • Buscara en nuestro controlador en esta caso receta_controller.rb la acción lista, que digamos que listara todas nuestras recetas.

La explicación más simple es que Rails viene por defecto con un routing que actúa de la siguiente manera

http://www.tudominio.cl/controlador/accion/parametro

Para quieran ver con sus propios ojos como funciona esto, diríjanse a su carpeta rails donde tienen su app, y estará dentro de la carpta config/routes.rb, verán por ustedes mismos que por defecto esta configurado:

# Install the default route as the lowest priority.
map.connect ‘:controller/:action/:id’

No me gusta esa forma no quiero exponer llaves primarias en mis urls, es muy fácil solo modifiquen el archive config/router.rb a su gusto y obtendrán url bien diseñadas.

Si quieres profundizar el tema visita

El wiki de rubyonrails sobre Rutas
Gizmoojo Seguramente muchos han escuchado que correr aplicaciones rails en hosting compartidos no es una muy buena idea… pero mi opinión al respecto que es para sitios con alto trafico (cientos de miles de visitas al dia).

Y para finalizar y lo que me hizo crear este articulo el articulo vía plasticbag.org un articulo demoniado URLS Preciosas y bien diseñadas de mike chinkel

El articulo lo considero una obra de arte, muchos desarrolladores incluyéndome, al momento de desarrollar nuestas webapps nos olvidábamos de cómo lo veía nuestro publico (Considerando también la dificultad que tienen otros lenguajes y frameworks para manejar este tema), creo que gracias a ese articulo y al poderoso ruby on rails no lo haremos nunca jamás.

Comments (1)

Ruby on Rails: Up and Running

Como han podido ver, las ultimas semanas y desde que abri este blog, he dedicado varias entradas a Ruby y Rails, esto es debido a que me estoy pegando el salto desde PHP para trabajar 100% en Ruby y apoyado del framework ruby on rails.

Para proyectos sencillos, creo que PHP seguira siendo mi lenguaje de cabecera, pero no le dedicare mucho tiempo.

Ruby on Rails: Up and Running

Este libro me lo gane en la ultima Geekup en Manchester, ups! mentira no me lo gane, tengo 0 suerte, de echo no creo en ella… pero un colega sentado junto a mi, se lo gano y me pregunto si lo queria, porque el ya tenia una copia… y yo claro! Gracias!.

Este libro creo que es una buenisima forma de introducirte a Ruby on Rails, creo que recopila muchisima informacion. Si bien es muy basico al compararlo con Agile Web develpment with Rails, creo que el ultimo es algo complicado para quienenes no saben nada de nada, y mas para quienes nunca han tenido contacto con un lenguaje de programacion.

En este libro encontraras como empezar con Rails, dandote detalles de su configuracion inicial, claro MINIMA!! recuerden! Convencion sobre configuracion!.

Nos explica ligeramente el MVC y como todos los libros practicos, se lleva casi todo el libro jugando con una aplicacion de prueba (Una presentacion de slides, con orden de categorias y algunos efectos ajax, claro con prototype).

Lo que mas me gusto de este libro fue la manera de tratar los testing en rails, que es lejos de una de las funcionalidades estrellas del framework, el tema de los testing a primera vista es algo denso al ver documentacion en ingles y sin haber empezado a codear en ruby, en este libro te explican muy claramente los tipos de Testing, como usarlos y como correrlos (rake).

Mi nota, de 1 a 7, un 5. Totalmente recomendado, fue un regalo, no hubiese gastado dinero en el, pero si se lo pillan algun dia, al menos echenle una hojeada.

Comments (0)

Ruby and Rails Conference

geek

El proximo Sabado 30 de Septiembre voy a participar de un workshop de ruby y rails, es un workshop organizado por la organización geekUp que es mantenida por Andrew Disley.

Será una experiencia nueva para mi debido a que nunca he asistido a este tipo de conferencias, en Chile no son comunes y tengo la suerte de estar aqui en Manchester y poder asistir a estas.

Pueden ver la pagina de la mini-un-dia-de-conferencia desde las 9am hasta las 5 de la tarde en donde hablaran principalmente de Ruby, Rails y Migraciones.

Comments (2)