IE y sus Accessorios

Accessorios IE

La nueva versión IE7 se instala en “Accessorios”. Alguien ha hecho algo en algún sitio.
Como todo lo hayan probado igual…

Fin de la primera Conferencia Rails Hispana

Una vez recogidas las velas de la primera Conferencia Rails Hispana toca resumir lo que ha sido y lo que no.

La organización

Espectacular. Pese a estar organizado desde abajo, todo un ejemplo de que con poco dinero y mucha voluntad se pueden hacer grandes cosas. Funcionaba perfectamente el WebCast, con varias cámaras para ver a ponentes, al público realizar sus preguntas o a la gente de Méjico, todo gracias a Isabel. Incluso la conexión con David mediante Skype, sólo se cortó una vez. La Wifi a toda leche y disponible en cualquiera de las aulas pese a la separación entre ellas; chat en directo durante la conferencia y posibilidad de realizar vía web preguntas en cualquier ponencia. Dudo que encontremos mejor recinto que el de la Escuela Técnica Superior de Ingenieros de Telecomunicación.

Las ponencias

Se notaba que RoR está un poco verde, pero por algo es la primera conferencia, seguro que en la próxima se va a notar el esfuerzo que se está haciendo. Como siempre las ha habido de todos los colores y sabores, unas buenas y otra no tanto. Tal vez identificar mejor el nivel requerido en ellas, así como asignar dichos niveles a las aulas disponibles sea una buena idea, al igual que sincronizar el comienzo en cada una de ellas para facilitar el cambio de aula que, teniendo en cuenta lo “escondidas” que estaban no resultaba nada fácil.

Conclusiones

Creo que lo más destacable no sea ni Ruby, ni Rails, si no el conjunto de personas que se está volcando detrás. La mayoría de las empresas de la Mesa Redonda eran de algún modo especiales; las había cooperativas y freenlance como Railes.net de Jaime Iniesta; tan peculiares como The Cocktail; de un grupo de amigos como Fotón; totalmente abiertas y meritocráticas como Tractis; o estructuradas orgánicamente como Secuoyas. Todas tenían en común una nueva manera de hacer las cosas, centrada en la gente, en los equipos. Equipos pequeños y expertos, donde se mima a la gente. Ya lo había contado Humberto en el “Artesano Tecnológico” en la Desconferencia 01, y lo volvió a resaltar Agustín Cuenca en su ponencia de “Rails para vendedores“: el Artesano, el Gremio, frente a la Fábrica.

Hubo dos concursos, uno de programación de una batalla naval en tiempo record y un screencast sobre RoR, no te los pierdas.

Espero que para la próxima podamos participar más actívamente. Saludos cordiales.

Y para los destractores de RoR: 50 máquinas en paralelo sirviendo 8.000 peticiones por segundo deberían dejarlo claro.

Notas: Testing

Ponente: Jean-Michel Garnier

Antecedentes

  • Mythical Month Man: 1/2 testing (1975)
  • “Test Drive Development” (2002)
  • “Refactoring” de Martin Fowler (1999)
  • “Integración contínua” de Martin Fowler (2000)
  • David Heinemeier y 37Signals

Qúe es en Rails (Ruby Test::Unit)

  • automatizable
  • rápido (11s, 4000 líneas, 1900 de tests)
  • integración contínua
  • mejora el diseño con la refactorización!
  • se genera automáticamente para scaffolding
  • BBDD desarrollo, test y producción
  • Fixtures: datos reutilizables para test, basado en YAML

Testing

  • Tests unitarios para el modelo
  • Tests funcionales para el controlador
    • Mocks: clase falsa que implementa la misma clase que la real
      • aisla clases de sus dependencias (ej. modelo)
      • reemplazar una dependencia (conexión, servicios externos…)
      • incrementar el rendimiento (no usar la BBDD)
      • reparto de trabajo para cada capa de la applicación
  • Tests de aceptación de usuario (vista)

Herramientas

Selenium: tests de usuarios

  • IDE + TestRunner
  • componentes ppmente en js
  • servidor selenium usa el navegador
  • compatible con AJAX
  • plugin FF para grabar Tests unitarios
  • automatización de pruebas
  • compatibilidad crowss-browser
  • Compatible con Windows, MacOS, Linux

Aspect?

  • Behaviour Driven development, se basa en las especificaciones en vez de tests

Ruby Fitness Test

  • Aceptación de usuario y reglas de negocio
  • Wiki para tests, menos completo que Selenium

Consejos

  • RadRails, dist. Eclipse que incorpora GUI para tests
  • RCov: que partes estan cubiertas por Tests -> mostrar al cliente
  • AgileDox: generar especificaciones funcionales a partir de los tests

Notas: Rails y XML como herramienta de integración

Ponente: Javier Ramírez

Ventajas Rails + XML

  • iteradores cómodos
  • consola para pruebas
  • librerías XMl nativas
  • conversión automágica

Qué ofrece Ruby

to_xml desde:

  • modelos
  • hash, incluso anidadadas
  • arrays si los elementos soportan to_xml

builder:

  • el padre de to_xml
  • generar eventos estilos SAX
  • partials

xmlsimple (xml -> ruby)

  • depende de la librería rexml
  • permite generar multiples estructuras según nos interese: arrays, hash, etc…
  • content-type=”application/xml” los convierte automáticamente por defecto
  • otros content-type también se pueden automatizar

rexml

  • parser XML completo
  • xPath
  • soporte a varios modelos:
    • tree/dom
    • streaming (sax, sax2, stax):
      • lanza eventos mientras lee XML
      • más rápidos que dom y menos consumo de memoria
      • requiere máquina de estados

Notas: Rails para maquetadores

Ponente: María Martínez y Fernando Blat

Ventajas

  • Framework “con opinion”: resuelve por sí mismo muchos problemas
  • Incorpora script.aculo.us
  • RJS: ruby para generar javascript -> no es necesario saber js
  • UJS: javascript no intrusivo
    • comportamientos mediante selectores CSS
    • helpers y efectos no intrusivos
  • soporte a estándares y accesibilidad