View posts for » Category "rubyonrails"

OpenSourcing Rails code?

Siento el titulo en ingles, pero en realidad no se como decir de manera corta “OpenSourcing” en español… me ayudan? “Liberan?…?”

La empresa Joyent, lo mismos detrás del famoso hosting oficial de Rails Textdrive liberaron el código de dos de sus principales proyectos comerciales:

  • Connector: Gestión de proyectos web
  • Slingshot: Prometen poner aplicaciones Rails en tu escritorio (Preparando un I+D especialmente para nuestro CMS)

Esto significa que desde Hoy puedes navegar en los códigos de estas dos aplicaciones y ver como ponen todo junto, ojo que son aplicaciones que en el caso de Connector utiliza mas de 60 modelos… el código aquí, yo mañana en el desayuno lo analizo.

Pero mi asombro surge de la nueva manera de trabajar de las empresas, se imaginan una empresa como Microsoft abriendo su código en los años 80?

En mi caso, me encuentro trabajando en un CMS para mi empresa dentro de un trabajo de re organización que estamos realizando con el equipo OW, pero si me preguntan, Nico - ¿Por qué no liberas tu código, así todos aprendemos?, quedo en una disyuntiva gigantesca. Que se agudiza con el solo hecho de publicarlo en mi blog, Amo el Software Libre, pero también creo en como generamos valor y en el mercado.


Que harias tu frente a este nueva forma de trabajar?,
Compartir con tu comunidad o Regalar tu trabajo?…

Me gustaría escuchar sus opiniones, solo les tomará un par de minutos.

Via | The Maestros of RubyInside

Comments (10)

REST: Un mundo de recursos

Entender REST y aplicarlo en tus proyectos en un principio resulta un poco complicado, pero lo necesario es solo empezar a practicar.

REST como termino significa Transferencia de estado representacional (Representational State Transfer) y fue acuñado por primera vez en una tesis del doctor Roy Fielding y se ha echo popular entre los desarrolladores de Rails debido a las constantes ganas del Core del framework por llevar las buenas practicas a toda la comunidad (Especialmente desde DHH).

REST en pocas palabras se apoya de los recursos existentes en el protocolo HTTP, que hasta el día de hoy poco estábamos ocupando, básicamente solo ocupábamos el GET y el POST, pero nos olvidábamos del PUT y DELETE. (Ahora recuerden la filosofía CRUD)

REST

Algunas de las cosas que vienen de la mano con REST en Rails

  • Ahora con REST la URL son mas limpias, ya no presentan acciones si no que sus recursos.
  • Mejora el trabajo con rutas anidades
  • El uso del respond_to en nuetras acciones (El que facilita el llamado de diferentes recursos).
  • Un nuevo sistema de rutas generado por resources en router.rb y un manejo mucho mejor.
  • Nueva librería ActiveResource

Lo anterior es lo importante y es de lo que todo lo que les conte en un post anterior tiene que ver, quedarse con la Filosofía CRUD y solo eso, no tienes nada. Recuerda que es solo una forma de trabajar y que tienes que aplicar lo de arriba para crear Aplicaciones que realmente hagan cosas nuevas.

Las URLS

Si recuerdan el antiguo modo de trabajar

URLS

Ahora las URLS son las mismas, para distintas acciones pero se diferencian por el método por el cual es enviada a través de HTTP. Y eso es toda la magia, por otro lado apoyado de RESPOND_TO podemos evitar la utilización de otros métodos, que finalmente se podrían haber evitado.

Para quienes están con la idea en la cabeza (De pasarse a Rails), recuerden todo lo que hablamos aqui, tener claro estos conceptos, trabajar con ellos es vital porque muy pronto Rails estará pasando a la version 2.0 del Framework y vendrá con nuevas convenciones y tratarán que cada vez seas mas DRY en tus trabajos, si te pierdes será complicado que te subas… Que esperas?

The DEMO!
Atentos! Para mostrarles estos en la practica lo haré con un screencast, me consigo los programas necesarios y lo publico. Será mas facil y hablare de Rutas, como empezar rápidamente a trabajar con REST y un pequeño ejemplo de trabajar con rutas anidadas.

Recursos
Presentación de DHH en la conferencia Rails 2006, World of resources.
Tutorial REST traducido por Juan Lupión

Algo que discutir?

Comments (2)

La filosofia CRUD

Antes de comenzar este articulo solo contarles que asi es Rails, es un framework que necesita que quienes quieran aprenderlo, esten preparados para aprender mucho (Bueno claro, como cualquier otro framework o lenguaje), pero este siempre (o mas bien su comunidad) te va a llevar por las buenas practicas.

CRUD

Y en el séptimo día finalmente descansamos

La importancia de entender CRUD y REST es porque en la versión 2.0 de Ruby on Rails, una de sus mejoras es que REST se convertirá en parte del core y todas sus convenciones serán parte del framework. Es por esto que debemos entenderlo, aplicarlo, probarlo y empezar a disfrutar de esta forma de desarrollo. Para los desarrolladores de software expertos, académicos, entre otros, este tipo de practicas pueden ser detalles, pero para quienes no tenemos una formación rigida en desarrollo de software (Años de estudios universitarios), debemos ir comprendiendo por nosotros.

CRUD es un termino bastante desconocido especialmente para quienes no les es tan familiar trabajar con bases de datos para (nosotros) los simples mortales es un estándar para:


Crear (CREATE)
Leer (READ)
Actualizar (UPDATE)
Eliminar (DELETE)

Si de dan cuenta son básicamente las 4 operaciones que se hacen en una base de datos, todo lo demás son mezclas de las anteriores. CRUD es una forma de pensar, es una arquitectura “mental” que te permite ocupar tu mente para cosas que agreguen valor a tus creaciones y no pensar nuevamente lo que ya ha sido pensado. Esa es la base de Rails y parte de la primicia que todo desarrollo, tiene solo un 20% de creación propia y el resto todo ya lo ha echo alguien, para que hacerlo, si alguien ya lo hizo?

CRUD libera tu menta para esto, y en RAILS tiene 7 metodos que TIENES que recordarlos y utilizarlos, porque en REST no existen otros. A continuación, te mostrare lo que serán tus verbos de ahora en adelante, todo lo que hagas deberás conjugarlo con esto.


def list (Muestra todos los itemes de un modelo)
def show (Muestra un item en especifico)
def new (Muestra un formulario para crear un nuevo registro)
def create (Crea el nuevo registro)
def edit (Formulario para editar un registro)
def update (Actualiza el nuevo registro)
def destroy (Elimina un registro)

Si se dan cuenta aparecen 3 nuevos métodos (show, new y edit) que no actúan directamente con la base de datos pero son los responsables de mostrar el html necesario para mostrar itemes específicos, crear nuevo registro o editarlo. De aqui en adelante tendrás que vivir con estos métodos, hacerlo parte de tu lenguaje y hacerte amigos de ellos.

Finalmente tienes que hacerlos coincidir con tus controladores y modelos, dejarlos lo mas limpios y para esto considerar siempre que todas las acciones de un método deben estar en el mismo nivel de abstracción, que quiero decir con esto: Que mantengas tus controladores limpios y si necesitar hacer acciones contra la base de datos, hacelos en el modelo y no en el controlador.

Comments (0)

Desarrollo web que no duele

Estoy preparando 2 artículos relacionados a CRUD y REST, mantengan la sintonía.

Se nota lo contento que estoy en Rails?

Comments (0)

SVN para Maquetadores

En un articulo anterior les conté de que se trataba Subversion (a.k.a SVN) y es simple, una forma de manejar las versiones de tu proyecto, tener control sobre los archivos modificados, cuando los hiciste y lo mejor… permitir a otro integrante de tu equipo trabajar sobre el mismo repositorio (Lugar en donde alojas proyecto versionado).

En Orelworks estamos preparando un re diseño y buscando seguir profesionalizando nuestro trabajo hemos unido a nuestra filas a nuestro diseñador perdido que será presentado en gloria y majestad cuando terminemos esta estapa y que claro nos dara un empujón para seguir creciendo.

El diseñador/maquetador podrías ser tú. ¿Pero que tengo que saber si alguna vez me ofrecen trabajar en un proyecto sobre Ruby on Rails?, simple… aplicas un poco de ajax, con unas piscas de xhtml y css, luego revuelves un poco… y preparas las vistas, rutas, un poco de Layouts, archivos públicos y sigues revolviendo esperando que tu commit haya terminado. Y ya esta. Ahora los detalles.

Pero te falta lo mejor.

(more…)

Comments (0)

Crea mejores webapps con Amazon WS

100014192753_v46777512_.gif Amazon ha mejorado nuestro trabajo con Amazon Web Services para desarrolladores y es realmente increíble, especialmente el Amazon S3 (Simple Storage Service) en donde puedes puedes hostear todos tus archivos. ¿Cuál es la magia? Para quienes desarrollamos en Rails, sabemos que el tema del servidor ahora lo es, si antes eramos simples escritores de código, tratando de hacer lo mejor posible con lenguajes que no lo promovían ahora debemos saber muchísimo mas, como manejarnos a nivel de admin en un servidor, manejar subversion, etc.

Y como administradores de servidores que lentamente si no nos hemos convertido, entendemos mucho mas, sabemos que hay 2 o 3 factores importante dependiendo del tipo de aplicación que desarrollas.

  • Memoria RAM (Especialmente para el rendimiento tu Rails APP)
  • Ancho de banda
  • Capacidad de Almacenamiento

Si tienes un cliente que mueve enormes cantidades de archivos, o tienes varios que sumados lo harán. Creo que la mejor opción es usar AmazonS3, ellos te proveen de espacio prácticamente infinito (No me quiero ni siquiera tratar de imaginar el tamaño de sus datacenters), de el ancho de banda necesario para poder subir y bajar tus archivos y todo por un bajo costo que no se compara al echo de tener que comprar discos duros para tu servidor ni tampoco colapsar si es que hay varios usuarios bajando o subiendo archivos al mismo tiempo.

Por ultimo la forma de integrarlo a tu aplicación te aseguro es mucho mas fácil y rápido que desarrollar tus propios sistemas. Ademas en Rails existe una gema que te ayuda en todo este proceso.

La historia de éxito del sistema son varias de echo uno mis productos favoritos, BaseCamp de 37Signals lo utiliza y se dejaron de preocupar de discos duros, ancho de banda y todo esos lios. Teniendo que solo aumentar en un servidor por año para aguantar trafico especialmente en sus bases de datos.

Michael Arrington de TechCrunch.com quedo sorprendido al borde de no creerlo cuando el CEO de Smugmug.com, un repositorio de fotografías similar a Flickr cuando le comento que el año recién pasado se habia ahorrado aproximadamente 500 mil dolares (256 millones de pesos chilenos) en el concepto de alojamiento y ancho de banda de las casi 110 millones de fotografías que hostean.

Hace ya un tiempo empece a desarrollar un proyecto en Rails el que se ha ido modificando hasta nacer otro proyecto que es básicamente un CMS para los clientes de mi empresa y uno de mis grandes problemas era como alojar sus documentos sin temer que un Hacker me bote el servidor, ¿O que pasa si un cliente se vuelve loco subiendo archivos? etc y he decidido usar AMAZON S3, lo voy a implementar en Rails y le contaré en un próximo articulo.

Finalmente la ultima empresa creada por el inventor de Digg Kevin Rose denominada Pownce que es un Twitter mejorado con la opción de enviar archivos a tus contactos de una manera segura adivinen… usan AS3.

¿Que esperan para crear?, cada vez es mas fácil la pega, solo tenemos que tener buenas ideas, ya no es importante la infraestructura que era el principal miedo de las empresas webs por sus grandes costos asociados a su puesta en marcha.

Nota: Para usar amazon s3 necesitar una tarjeta de credito internacional.
Nota2: Existen otros servicios en AWS y los comentare si los uso.

Comments (3)

Happycodr: Ruby on Rails Showcase

Quienes trabajan en Rails

Happycodr.com es un sitio que hace una recopilación de websites que utilizan RoR en sus back-ends, interesante para pasarse un par de horas revisando que están haciendo otros con rails y como aprovechan lo mejor de este framework para crear sus aplicaciones.

Por otro lado hace pocas semanas conocí un sitio buenísimo, es un directorio de aplicaciones web 2.0 se llama SimpleSpark.com y si quieres saber que tenemos de nuevo, pegale una mirada.

Comments (0)

Slicehost: VPS made easy

Es hora de hablar del servicio prestado por Slicehost porque es simplemente increíble y es un modelo a seguir para cualquier empresa que quiera vender hosting. Es una empresa seria, creada por desarrolladores y entienden perfectamente lo que necesitamos y queremos. (Y todo su sistema de administración esta construido en Rails).

slicehost

Cuando empiezas a desarrollar en Rails de manera local todo es muy simple, ves resultados de manera casi inmediata lo que claro vas mejorando al momento de lanzarte a la piscina y empezar a desarrollar productos/servicios en producción.

¿El problema?

Para muchos que recién estan empezando y que vienen con un background php, la dificultad del deploy era casi nula (De echo, ni siquiera necesitas entender el significado de deploy). Subes tus archivos a tu hosting (con soporte php/sql) configuras un par de cosas y ya tienes corriendo un sitio estable y rapido. Y este fue el problema que me tuvo gran parte del año pasado pensando en si hacer o no la transición. Desplegar Rails hasta al menos el 2006 (principios) era una tarea de administradores de sistemas y claro, me declaro desarrollador y no tenia idea de Teminales, SSH, Subversion y manejar servidores de manera remota a través de comandos (Background: Windows). Lo que me hizo muy dificil pasar esta etapa (y aun es un tema en mi cabeza cuando quiero lanzar algo en rails).

Mis primeros intentos fue desplegar desde Windows a Dreamhost, lo primero fue luchar con los inummerables errores que Windows arrojaba al instalar gemas, correr plugins, etc etc. Esto se explica porque Rails no esta hecho para correr en Windows y porque en realidad la totalidad del core RoR son usuarios MAC o Linux. Para evitar estos problemas decidi instalar UBUNTU y empezar a desplegar desde alli, pero era una epoca agotadora, mucho que aprender para poner tu aplicación al fin corriendo.

La experiencia en Dreamhost fue triste, las aplicaciones corrían muy lentas al no tener acceso root a la maquina no podías instalar gemas y bueno, un lió (Y asi es, RoR lamentablemente no es para hosting compartidos). Me puse a averiguar y encontré varias opciones entre ellas: Textdrive, Mediatemple (gs) y muchas mas, pero todos con un costo inalcanzable para alguien que solo quería probar.

Hasta que todo cambio y conocí Slicehost leyendo el blog de Geoffrey Grosenbach que mencionaba a una empresa que por solo 20 dolares mensuales te daba acceso a un VPS con 256 RAM,10gb de espacio y 100GB de transferencia.

SLICEHOST

Es una empresa creada por gente que entiende el negocio y a nosotros, tienen una comunidad muy activa y sus fundadores son los que te ayudan si tienes algun problema, puedes escribirles, responder por los foros o dejar algun articulo en los wikis.

En su blog tienen un rato de a tu a tu con sus clientes discutiendo temas como el de cobros con toda la comunidad. Recuerdo hace un par de meses cuando tuvieron problemas de capacidad y decidieron aumentar la inscripción inicial minima de 1 mes a 3 meses con un apoyo absoluto de todos sus clientes.

El sistema de administración consta de:

  • Control de DNS (Muy básico, pero no mas de lo que se necesita en el general de los casos)
  • Control de Dominios
  • Opción de Backups (Tiene costo pero vale la pena si tu información es delicada)
  • Opción de Rescue (Recupera lo que tenias antes de destruir tu servidor)
  • Opción de Comenzar de 0 (Si cometes un error y tu servidor no sirve de nada, comienza de 0)
  • Referrals (Paga tu cuenta con tus amigos)

Nota: Si no conocias Slicehost y quieres probarlo, Sigue este vinculo y me ayudarás a pagar el siguiente mes.

Comments (7)

Diario El País crea comunidad basada en RoR

Picture 12

Así es, si bien sabemos que los grandes de la industria en Internet ya han comenzado a confiar en Ruby on Rails para el desarrollo de algunas de las aplicaciones me cae esta buenísima noticia, ElPais.com, el diario con mayor tiraje en España, ha creado una comunidad de Blogs basado en The Shaker, que a su vez es el motor de la Coctelera, desarrollado por la española The-Cocktail y claro! en Rails. A mi personalmente no me extraña que lo utilizen ya que han echo un increible trabajo y les esta funcionando de maravillas.

Pero esto sigue marcando precedentes para esta tecnología que en los medios empresariales mas grandes aun causan desconfianzas, Mientras mas confíen en RoR, mas argumentos tenemos para que nuestros clientes confíen en nosotros y se lancen por esta increíble plataforma libre.

En Chile The-Cocktail trabaja junto a AyerViernes de Jorge Barahona ubicada en ese hermoso Viña del Mar en el que viví mas de 2 años y medios. Así que si eres un medio chileno y quieres unirte al club de los grandes ya sabes donde llamar.

Felicitaciones al equipo de la Coctelera

No sabes que es la Coctelera y The Shaker, mira la siguiente presentación realizada en la conferencia rails hispana 2006.

Via | El blog de Enrique Dans
Link | La comunidad de ElPais.com

Comments (2)

Primera comunidad RoR en Chile: Chileonrails

Estuvimos muchos tiempo con un grupo en google creado, conversaciónes bilaterales con algunos miembros pero no habíamos concretado la puesta en marcha de este proyecto que es simple:

Crear una verdadera comunidad RoR en Chile.

Pero que la hará verdadera?

No queremos ser una comunidad más de computines que si bien comparten muchísimo, lo hacen siempre tras sus ordenadores. Lo que buscaremos es crear una comunidad tu a tu, con reuniones, cervezas, apoyo y difundir esta tecnología que ha revolucionado la forma de hacer y mirar la web en los últimos 3 años.

Estamos organizando una junta la ultima semana de Junio (Quizás el punta pie oficial de la comunidad), empezando a rodar nuestra lista de correos, con un blog oficial con 2 dominios Rubyonrails.cl y chileonrails.cl, únete a la lista y entérate de lo que se viene.

Los lugares oficiales para los raileros en Chile.
Nuestro grupo:Rails-Chile en Google Groups
Nuestro blog: Chileonrails.cl

Te esperamos!

Comments (2)