47
obra publicada por javier ramirez como ‘Atribución-No Comercial-Licenciar Igual 2.5’ de Creative Commons

Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

Embed Size (px)

DESCRIPTION

material utilizado en la sesión Rails Hot or Not de la conferencia Rails 2008 por Javier Ramírez

Citation preview

Page 1: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

obra publicada por javier ramirez como ‘Atribución-No Comercial-Licenciar Igual 2.5’ de Creative Commons

Page 2: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

proyecto a realizar

youfacetwittflickpoopr

Yoozoombaflooh

Moonchimpklanx

Page 3: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

queridos reyes magos...

buscador, generación de pdfs, caché,integración con APIs de terceros, tratamiento de feeds, multi-idioma, Ajax, procesos de fondo, envío de mails, autenticación con roles, backend, foros, chat, edición de texto con formato, popups con estilo, notificación de excepciones, captcha, control de spam, upload de ficheros, creación de thumbnails,creación de gráficas/informes, notificación de excepciones, tests, análisis de rendimiento...

...el típico proyecto

Page 4: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

“voy a programarlo todo desde cero, así aprenderé mucho más y tendré el controltotal del proyecto”

interneeeeeeeeeeeeeeeeee

Page 5: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

planificando el proyecto

“yo creo que paracuando termine depagar la hipotecaya habré terminadola fase I”

gracias de antemano

Page 6: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

Se estima que la rueda fue inventada en el quinto milenio a.c. en Mesopotamia

wikipedia

Page 7: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

no reinventes la rueda..

elige la tuya!!* fotos extraídas de flicker. con licencia CC

Page 8: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

no eres especial.. supéralopara (casi) cualquier funcionalidad que no sea propia de la lógica de negocio, existen componentes desarrollados que hacen exactamente lo que necesitas...

.. o que podrían hacerlo con unoscuantos cambios..

recuerda.. open sourceno significa que sea gratis, significa que puedes ver y modificar el fuente

Page 9: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

gemas/plugins: dónde buscar=> agilewebdevelopment.com/pluginsdesactualizado a veces, sólo plugins

=> rubyforge.orgsin feedback de usuarios

=> github.comsin feedback. No especializado en ruby/rails

=> code.google.comsin feedback. No especializado en ruby/rails

=> workingwithrails.com toolboxsin feedback. desactualizado

=> google.combuena suerte!!

Page 10: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

objetivos

=> identificar componentes existentes sobre los que desarrollar un proyecto rails no trivial a día de hoy

=> ver cuál es la alternativa escogida mayoritariamente en cada categoría

=> escuchar experiencias de proyectos donde se hayan usado estos componentesen la vida realtm

Page 11: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

mecánica=> Presentación de la categoría y las alternativas identificadas

=> Votación mediante papeles de colores

=> Comentarios del respetable público acerca de los puntos fuertes/débiles decada alternativa

=> Si alguien quiere hablar de algunaalternativa no contemplada, perfecto!

p.s. no seáis /.{8}/ y participad ;)

Page 12: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

framework desarrollo web

Ruby on Rails J2EE +Struts +Tiles +Java Server FacesHibernate

* disclaimer: comparativa humorística para probar la mecánica

NOT!HOT!

Page 13: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

file upload

paperclip attachment_fu

NOT!HOT!

Page 14: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

framework javascript

prototype js jquery + jrails

HOT!HOT!

Page 15: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

tratamiento imágenes

ImageMagick rmagick minimagick

image science

NOT!HOT!

Page 16: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

internacionalización (vistas)

get_text gibberish

* preguntar por globalize, i10n y otras alternativas

NOT!HOT!

Page 17: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

internacionalización (modelos)

globalize translate_column /Simplified Translation

NOT! HOT!

Page 18: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

notificación excepciones

exceptionnotifier

hoptoadnotifier

NOT!HOT!

Page 19: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

procesos de fondo

beanstalkd starling (+ simplified_starling)

NOT! HOT!

Page 20: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

buscador (engine, no plugin)

sphinx solr

NOT!HOT!

Page 21: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

plugin para sphinx

ultra_sphinx thinking_sphinx

NOT!HOT!

Page 22: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

profiling / rendimiento

ruby_prof +query_reviewer

new_relic_rpm

* preguntar por fireruns tuneUp

NOT! HOT!

Page 23: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

test mock objects

FlexMock Mocha

NOT! HOT!

Page 24: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

factorías de objetos de test

FixtureReplacement factory girl /machinist

NOT!HOT!

Page 25: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

framework para testing

shoulda rSpec

HOT!HOT!

Page 26: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

base de datos

postgreSQL mySQL

NOT! HOT!

Page 27: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

servidor front-end

nginx apache

NOT!HOT!

Page 28: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

servidor rails

servidor separado mongrel thin

passenger

* preguntar por jRuby en producción

NOT!HOT!

Page 29: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

deploy

capistrano vlad /otros

NOT!HOT!

Page 30: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

texto con formato

markdown BlueCloth

BBCode bb-ruby

NOT!HOT!

Page 31: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

editores WYSIWYG (LQVELQH)

tinyMCE FCKEditor

NOT!HOT!

Page 32: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

ventanas flotantes/modales

redbox lightbox

* comentar windows/xilnius

NOT! HOT!

Page 33: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

generación pdf

basados en ruby: rfpdf prawn

basados en JAVA: apache FOP flying saucer

NOT! NOT!RTeX

HOT!

Page 34: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

gráficas

gruff google charts gc4r

NOT! HOT!

Page 35: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

agregador web

hpricot mechanize scrubyt

automatización watir firewatir

* preguntar por engine javascript

NOT!HOT!

Page 36: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

lectura de feeds

acts_as_feeder SimpleRSS

* preguntar por google AJAX Feed API

NOT! HOT!

Page 37: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

parser XML

ReXML libxml

Page 38: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

autenticación

restfulauthentication

open_idauthentication

* acts_as_authenticated

Page 39: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

gestionar cambios de estado

acts_asstate_machine

ad-hoc,observers...

Page 40: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

tags

acts_astaggable_on

acts_astaggable_on_steroids

Page 41: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

envío masivo de e-mail

ar_mailer enlocalhost

servicio externo

Page 42: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

CAPTCHA

Simple Captcha ReCAPTCHA

Page 43: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

chat

flash juggernaut

comet orbited

* preguntar por irc y xmpp

Page 44: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

DRY RESTful controllers

resource controller

resourcescontroller

Page 45: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

Scaffolding / Backend

Active Scaffold Streamlined /Otros

* preguntar por Typus

Page 46: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

sanitize de textos

simple_text_fields

white_list

* comentar white_list_formatted_content

Page 47: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008

obra publicada por javier ramirez como ‘Atribución-No Comercial-Licenciar Igual 2.5’ de Creative Commons