Encontré este texto hace un tiempo, titulado en inglés "If they come, how will they build it?", pido disculpas por la pésima traducción, pero aún así me gustaría compartirlo con los lectores.
Lo que viene a continuación es un intercambio de e-mails entre dos desarrolladores en una empresa, uno de ellos recién ingresado y el otro un veterano del proyecto:
Fecha: Domingo, 9 de Septiembre, 2007
De: Ed Johnson
A: Mike Cooper
Hola Mike,
Hoy empecé en el proyecto AccountView. Me puedes decir cómo obtener el código y empezar a desarrollar?
Gracias!
Ed.
De: Mike Cooper
A: Ed Johnson
Hola Ed,
El código está todo en el CVS, en el módulo llamado AccountView, sólo hazle checkout y estarás listo para seguir. Como habrás notado, todos estamos usando el Eclipse aquí. Es todo lo que necesitas para comenzar.
Mike
De: Ed Johnson
A: Mike Cooper
Mike,
Me podrías pasar los datos de la conexión al CVS? Tendré acceso automático? O alguien me tiene que crear una cuenta?
Ed.
De: Mike Cooper
A: Ed Johnson
Ed,
Aquí están los datos de mi setup de Eclipse, los tuyos serán similares:
module=AccountView
connection=pserver:/itserver/cvs:
port=1080
login=cooper
Tal vez tengas que pedirle a Arnold que te dé acceso al CVS.
Mike
De: Ed Johnson
A: Mike Cooper
>> Tal vez tengas que pedirle a Arnold que te dé acceso al CVS.
Aún no me han presentado a Arnold, o al menos no lo recuerdo, dónde está?
De: Mike Cooper
A: Ed Johnson
>> Aún no me han presentado a Arnold, o al menos no lo recuerdo, dónde está?
Oh cierto! lo olvidé, él está enfermo hoy, salvo que puedas encontrar a alguien con los permisos apropiados, tendrás que esperar hasta que vuelva, supuestamente mañana.
M.
De: Ed Johnson
A: Mike Cooper
No encuentro a nadie que sepa de cuentas de CVS, así que parece que tendré que esperar hasta que Arnold vuelva.
Ed.
De: Ed Johnson
A: Mike Cooper
Mike,
Al fin tuve acceso al CVS por Arnold, así que descargué el módulo AccountView, pero no compila. El proyecto tiene dependencias en más o menos otros 5 proyectos, intenté descargarlos también, pero algunos de ellos tampoco compilan. Cómo puedo hacer para desarrollar sin que las dependencias compilen?
Ed
De: Mike Cooper
A: Ed Johnson
Ah sí! olvidé decirte acerca de las dependencias. No me sorprende que no te compilen. Yo tengo versiones en mi máquina que compilan pero no les he hecho checkin en bastante tiempo. Dame 15 minutos y las commiteo, con eso deberías poder comenzar.
M.
De: Ed Johnson
A: Mike Cooper
Mike,
Ya tengo tus check ins, pero el proyecto aún no compila. Puede ser que hayas omitido alguna librería?
Ed
De: Mike Cooper
A: Ed Johnson
OK - prueba de nuevo.
De: Ed Johnson
A: Mike Cooper
Gracias, eso lo arregló pero ha expuesto otro problema! Algunos archivos que utilizaban esa librería también hacen referencia a un package llamado "com.itview.accountview.domain". de dónde lo puedo sacar?
De: Mike Cooper
A: Ed Johnson
>> de dónde lo puedo sacar?
Esas clases se generan de los mapping XML. Corre el ant: gen-dom para ese proyecto y las tendrás.
From:Ed Johnson
A: Mike Cooper
Gracias! Creo que ya todo compila, pero se cae cuando lo corro. Tengo este error de MySQL: "MySQL - unable to establish connection". Acaso tenía que instalar algún componente de base de datos del que no me hayan informado?
De: Mike Cooper
A: Ed Johnson
>> Acaso tenía que instalar algún componente de base de datos del que no me hayan informado?
AccountView tiene una base de datos, pensé que lo sabías! Tendrás que instalar MySQL y correr un par de Ants para setear el esquema. Disculpa que no te puedo ayudar con más detalles ahora pero tengo que lanzar la próxima versión de AccountView y hay un millón de bugs para arreglar. Espero que esto te sirva para empezar.
De: Ed Johnson
A: Mike Cooper
Ya instalé MySQL 5.1 y tengo una copia del driver JDBC (supongo que eso hará falta). Incluso creo que instalé el esquema correctamente, tuve que probar con varios ants y correrlos en varios órdenes pero creo que tengo algo que funciona (o al menos se conecta a la base de datos correctamente). Pero al ejecutarlo tengo este error "Query error: Failed to find Deployment variable 'AV_Release'". alguna idea?
De: Ed Johnson
A: Mike Cooper
Hola Mike,
Recibiste mi email acerca del "Deployment variable" / problema de SQL que estoy teniendo?
Ed.
De: Mike Cooper
A: Ed Johnson
Hola Ed,
Sí, recibí tu email, disculpa que no he tenido tiempo de responderlo pero he estado ocupado con el próximo lanzamiento. Es crítico que yo esté ahí debido a que hay problemas con partes del código que solo yo conozco!
De todos modos, tu problema se resolvería fácilmente. AccountView no funciona con una DB vacía. Tienes que poner datos en algunas tablas, y la aplicación espera que estén ahí. No creo que haya alguna forma de poner la información automáticamente, así que te sugiero que copies los contenidos de una DB del equipo de testing. Eso sería lo más rápido.
Mike
De: Ed Johnson
A: Arnold Ng
Arnold,
Hablé con el equipo de testing para obtener una copia de su base de datos para AccountView, pero no parecen saber cómo descargarla, parece que es Mike quien hace ese tipo de cosas generalmente. Tienes idea de cómo puedo conectarme al servidor de testing para bajar la DB?
Ed
De: Arnold Ng
A: Ed Johnson
Hola Ed, la máquina que el equipo de test usa es test.iview.com, he creado un login para tí: Ed_1@2@3 y el mismo password.
Cuando estés logueado copia la DB a tu máquina y eso debería ser suficiente. Contáctame si tienes algún problema.
De: Ed Johnson
A: Arnold Ng
Hola Arnold,
Me he logueado en la máquina de testing, incluso exporté la base de datos a un archivo, pero es muy pesada! intenté usar el GUI para descargarlo pero no funcionó, el archivo es realmente muy grande, aún comprimido. No sé cómo llevarlo a mi máquina, no puedo enviarlo por mail porque tengo un límite de 10MBs, no puedo soltarlo en la red porque test.iview.com no está mappeada, tienes alguna sugerencia para traer el archivo?
Ed
De: Arnold Ng
A: Ed Johnson
Tal vez lo más rápido sea por FTP, te he creado una cuenta para ftp.iview.com. El login es el mismo de tu dominio, y el password: ed123$.
De: Ed Johnson
A: Mike Cooper
Hola Mike,
Luego de un montón de problemas he logrado obtener los contenidos de la DB del equipo de testing y la he instalado en mi máquina. No fue tan fácil como pensabas!
De todos modos, creo que ya "casi" lo tengo todo andando. Parece que hace un par de inicializaciones, pero luego cae al no encontrar algo en la tabla DEPLOY_VARS. Parece estar buscando un registro "Instance_name", pero estuve mirando en la tabla y solo encontré "InstanceName". Alguna idea de qué pasó aquí? tengo la última versión del código de CVS, y la base de datos es un dump de esta mañana.
Gracias,
Ed
De: Ed Johnson
A: Mike Cooper
Mike, recibiste mi email ayer sobre los problemas de AccountView?
De: Mike Cooper
A: Ed Johnson
Ed,
Disculpa por la respuesta retrasada, me quedé ayudando a otra gente ayer por la tarde.
El problema que tienes se debe a que el equipo de testing tiene alguna versión un poco más vieja de AccountView que la que tienes tú. Ellos trabajan con el último Stable Build, y tú usas el HEAD. Tu versión espera unos valores distintos de la DB debido a que he estado limpiando un poco los valores para hacerlos consistentes. Tu mejor opción es cambiar manualmente los contenidos de la DB para ponerlos en los valores que la aplicación espera. En este caso cambia "Instance_Name" por "InstanceName". Hay otros registros en esa tabla en los que tal vez tengas que hacer lo mismo.
Mike.
De: Ed Johnson
A: Mike Cooper
Gracias Mike! Hice los cambios en la DB y AccountView arranca correctamente. Hay algunas páginas que no cargan bien de todos modos así que te preguntaré por ellas más tarde.
Por cierto, He notado que JBoss se cuelga luego de 20 minutos de uso con un error de "OutOfMemory", es solo mi problema? o ya lo has visto antes?
De: Mike Cooper
A: Ed Johnson
He recibido ese error de "out of memory" anteriormente, nos tomó un largo tiempo intentar resolverlo pero al final decidimos correr JBoss usando el JVM JRockIt en lugar del JVM de Sun. JRockit parece manejar mejor la memoria.
De: Ed Johnson
A: Mike Cooper
Gracias por el dato de JRockit. Lo cambié y ahora la performance es mucho mejor.
Sabes, he estado casi 2 semanas intentando tener un entorno de desarrollo para AccountView. Es un verdadero problema de productividad. Has pensado en escribir los pasos necesarios para instalarlo de manera que los nuevos puedan seguir las instrucciones en lugar de poner todas las piezas en su lugar sin saber nada?
De: Mike Cooper
A: Ed Johnson
Documentación, me encantaría escribir una guía de setup, pero es que no tengo tiempo!
0 comments:
Post a Comment