Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008
-
Upload
javier-ramirez -
Category
Technology
-
view
1.490 -
download
0
description
Transcript of Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008
![Page 1: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/2.jpg)
proyecto a realizar
youfacetwittflickpoopr
Yoozoombaflooh
Moonchimpklanx
![Page 3: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/4.jpg)
“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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/7.jpg)
no reinventes la rueda..
elige la tuya!!* fotos extraídas de flicker. con licencia CC
![Page 8: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/11.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/13.jpg)
file upload
paperclip attachment_fu
NOT!HOT!
![Page 14: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/14.jpg)
framework javascript
prototype js jquery + jrails
HOT!HOT!
![Page 15: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/15.jpg)
tratamiento imágenes
ImageMagick rmagick minimagick
image science
NOT!HOT!
![Page 16: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/16.jpg)
internacionalización (vistas)
get_text gibberish
* preguntar por globalize, i10n y otras alternativas
NOT!HOT!
![Page 17: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/17.jpg)
internacionalización (modelos)
globalize translate_column /Simplified Translation
NOT! HOT!
![Page 18: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/18.jpg)
notificación excepciones
exceptionnotifier
hoptoadnotifier
NOT!HOT!
![Page 19: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/19.jpg)
procesos de fondo
beanstalkd starling (+ simplified_starling)
NOT! HOT!
![Page 20: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/20.jpg)
buscador (engine, no plugin)
sphinx solr
NOT!HOT!
![Page 21: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/21.jpg)
plugin para sphinx
ultra_sphinx thinking_sphinx
NOT!HOT!
![Page 22: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/22.jpg)
profiling / rendimiento
ruby_prof +query_reviewer
new_relic_rpm
* preguntar por fireruns tuneUp
NOT! HOT!
![Page 23: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/23.jpg)
test mock objects
FlexMock Mocha
NOT! HOT!
![Page 24: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/24.jpg)
factorías de objetos de test
FixtureReplacement factory girl /machinist
NOT!HOT!
![Page 25: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/25.jpg)
framework para testing
shoulda rSpec
HOT!HOT!
![Page 26: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/26.jpg)
base de datos
postgreSQL mySQL
NOT! HOT!
![Page 27: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/27.jpg)
servidor front-end
nginx apache
NOT!HOT!
![Page 28: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/28.jpg)
servidor rails
servidor separado mongrel thin
passenger
* preguntar por jRuby en producción
NOT!HOT!
![Page 29: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/29.jpg)
deploy
capistrano vlad /otros
NOT!HOT!
![Page 30: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/30.jpg)
texto con formato
markdown BlueCloth
BBCode bb-ruby
NOT!HOT!
![Page 31: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/31.jpg)
editores WYSIWYG (LQVELQH)
tinyMCE FCKEditor
NOT!HOT!
![Page 32: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/32.jpg)
ventanas flotantes/modales
redbox lightbox
* comentar windows/xilnius
NOT! HOT!
![Page 33: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/33.jpg)
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](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/34.jpg)
gráficas
gruff google charts gc4r
NOT! HOT!
![Page 35: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/35.jpg)
agregador web
hpricot mechanize scrubyt
automatización watir firewatir
* preguntar por engine javascript
NOT!HOT!
![Page 36: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/36.jpg)
lectura de feeds
acts_as_feeder SimpleRSS
* preguntar por google AJAX Feed API
NOT! HOT!
![Page 37: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/37.jpg)
parser XML
ReXML libxml
![Page 38: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/38.jpg)
autenticación
restfulauthentication
open_idauthentication
* acts_as_authenticated
![Page 39: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/39.jpg)
gestionar cambios de estado
acts_asstate_machine
ad-hoc,observers...
![Page 40: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/40.jpg)
tags
acts_astaggable_on
acts_astaggable_on_steroids
![Page 41: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/41.jpg)
envío masivo de e-mail
ar_mailer enlocalhost
servicio externo
![Page 42: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/42.jpg)
CAPTCHA
Simple Captcha ReCAPTCHA
![Page 43: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/43.jpg)
chat
flash juggernaut
comet orbited
* preguntar por irc y xmpp
![Page 44: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/44.jpg)
DRY RESTful controllers
resource controller
resourcescontroller
![Page 45: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/45.jpg)
Scaffolding / Backend
Active Scaffold Streamlined /Otros
* preguntar por Typus
![Page 46: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/46.jpg)
sanitize de textos
simple_text_fields
white_list
* comentar white_list_formatted_content
![Page 47: Javier.Ramirez.Rails.Hot.Or.Not.Conferenciarails2008](https://reader033.fdocuments.es/reader033/viewer/2022060108/554f5a8eb4c905b9508b5372/html5/thumbnails/47.jpg)
obra publicada por javier ramirez como ‘Atribución-No Comercial-Licenciar Igual 2.5’ de Creative Commons