Не то, чтобы безумно смешно, зато очень жызненно.
Исходники
http://www.hacknot.info/hacknot/action/showEntry?eid=97.
To: Майк Купер
From: Эд Джонсон
Привет, Майк
Сегодня приступил к работе на проекте AccountView. Не подскажешь, где взять код, чтобы начать работать?
Спасибо,
Эд.
To: Эд Джонсон
From: Майк Купер
Привет, Эд
Весь код — в CVS, в модуле AccountView. Просто зачекаути его и все заработает. Кстати, если еще не заметил, мы все используем IDE Eclipse. Собственно, это все что тебе понадобится дла работы над кодом.
Майк
To: Майк Купер
From: Эд Джонсон
Майк,
Не подскажешь параметры подключаения к CVS-серверу? Мне автоматически к нему доступ предоставится, или надо чтобы кто-то для меня аккаунт создал?
Эд.
To: Эд Джонсон
From: Майк Купер
Эд,
Вот настройки CVS из моего Eclipse. В твоих должно быть что-то в этом роде:
module=AccountView
connection=pserver:/itserver/cvs:
port=1080
login=cooper
Скажи Арнольду, пусть даст тебе доступ.
Майк
To: Майк Купер
From: Эд Джонсон
>> Скажи Арнольду, пусть даст тебе доступ.
По-моему, с Арнольдом я еще не знаком — по крайней мере, не могу его вспомнить. Он где?
To: Эд Джонсон
From: Майк Купер
>> По-моему, с Арнольдом я еще не знаком — по крайней мере, не могу его вспомнить. Он где?
А, блин, точно — забыл — он болеет. Если не найдешь кого-то другого с соответствующими правами, просто дождись его — завтра уже должен быть.
M.
To: Майк Купер
From: Эд Джонсон
Не нашел никого, кто бы хоть что-то знал про аккаунты CVS, похоже придется ждать возвращения Арнольда.
Эд.
To: Майк Купер
From: Эд Джонсон
Майк,
Сегодня Арнольд наконец-то дал мне доступ к CVS. AccountView зачекаутился, но не собирается. В Eclipse-проекте настроены зависимости на как минимум пять других проектов. Я попробовал и их зачекаутить, но некоторые вообще не собираются. Как вы работаете над проектом, когда зависимости вообще не собираются?
Эд
From: Майк Купер
To: Эд Джонсон
А, да, точно — забыл сказать про зависимости. Все время про них забываю. Неудивительно, что они у тебя не собрались — у меня на компе нормальные версии, но я их уже долго не чекинил. Погоди 15 мин — все заведется.
M.
From: Эд Джонсон
To: Майк Купер
Майк,
Загрузил твои чек-ины, но проект "utils" так и не собирается. Ты забыл зачекинить какую-то библиотеку для логгинга?
Эд
From: Майк Купер
To: Эд Джонсон
Попробуй теперь.
From: Эд Джонсон
To: Майк Купер
Ага, завелось. Но всплыла другая проблема! Некоторые из файлов, который ссылались на ту библиотеку, еще упоминают какой-то пакет "com.itview.accountview.domain". Есть идеи где его взять?
From: Майк Купер
To: Эд Джонсон
>> Есть идеи где его взять?
Это классы, которые из XML генерируются. Просто запусти таргет Ant'а "gen-dom" в сборочном скрипте — и все будет.
From: Эд Джонсон
To: Майк Купер
Спасибо. Кажется, таки скомпилировалось, но теперь падает при запуске. Получаю ошибку: "MySQL — unable to establish connection". Там еще какой-то БД компонент должен быть?
From: Майк Купер
To: Эд Джонсон
> Там еще какой-то БД компонент должен быть?
AccountView работает с БД — я думал, ты знаешь! Надо установить MySQL а потом запустить несколько Ant-таргетов, чтобы создать схему и всякое такое. Извини, сейчас ничего подробнее рассказать не могу — готовим новый релиз AccountView и мне еще миллион багов фиксить. Надеюсь, этого будет достаточно.
From: Эд Джонсон
To: Майк Купер
Ну, я установил MySQL 5.1, поставил драйвер Java JDBC для нее (сразу предположил, что он понадобится). Кажется, я даже схему корректно создал... Помучился с кучей таргетов, позапускал их в разном порядке — по крайней мере, получилось нечто работающее. По крайней мере, я запустил AccountView и он вроде подключился к БД, но тут же упал с ошибкой "Query error: Failed to find Deployment variable 'AV_Release'". Не просветишь меня, в чем проблема?
From: Эд Джонсон
To: Майк Купер
Привет, Майк,
Ты мое письмо получал насчет проблемы с "Deployment variable" в SQL?
Эд.
From: Майк Купер
To: Эд Джонсон
Привет, Эд,
Ага, получал. Извини, не успел ответить — совсем замучился с этим релизом... Я тут очень нужен, тут критические проблемы в коде, в котором только я разбираюсь!
Ну а проблема твоя легко решается. AccountView не будет работать с пустой базой. Надо сначала закинуть в некоторые таблицы данные, которых он ожидает. Кажется, автоматизировать это мы еще не успели, так что просто скопируй всю базу у тестеров. Так будет быстрее всего.
Майк
From: Эд Джонсон
To: Арнольд Н-г
Арнольд,
Я говорил с тестерами насчет их копии базы, но они не представляют, как ее можно скопировать — видимо, им Майк все сам настраивал. Не подскажешь, как мне загрузить содержимое БД с тестового компа на мой?
Эд
From: Арнольд Н-г
To: Эд Джонсон
Эд, привет... тестовая машина называется test.iview.com. Я сделал тебе логин: Ed_1@2@3 (пароль такой же).
Просто залогинься и скопируй базу. Пиши, если будут проблемы.
From: Эд Джонсон
To: Арнольд Н-г
Арнольд, привет,
Я залогинился на тестовую машину, даже смог сдампить их базу из MySQL в файл. (Я сначала попробовал встроенный GUI для экспорта — он не работает, так что пришлось использовать myslqdump). Но дамп огромный, даже в сжатом виде, и я не представляю, как перегнать его на мой комп. Я не могу отправить его мылом, поскольку мой почтовый сервер ограничивает вложения 10-ю мегабайтами. Я не могу выложить его на сетевые шары, поскольку на тестовой машине они не настроены (почему вообще все компы настроены по-разному?). Не подскажешь, как мне файл передать?
Эд
From: Арнольд Н-г
To: Эд Джонсон
Наверное, быстрее всего будет по FTP. Я создал тебе логин на FTP по адресу ftp.iview.com. Логин — такой же, как в домене, а пароль — ed123$.
From: Эд Джонсон
To: Майк Купер
Майк, привет,
В общем, помучался я, но таки скопировал тестовую базу к себе. Не так уж это было легко, как тебе казалось!
Как бы то ни было, AccountView почти заработал. Почти всю инициализацию проходит нормально, но потом ругается на какое-то значение в таблице DEPLOY_VARS. Вроде он ищет первичный ключ "Instance_Name", но в таблице я видел только "InstanceName". Не подскажешь, что здесь не так? У меня самые свежие исходники из CVS, и базу я с тестовой машины забрал только сегодня утром.
Спасибо,
Эд
From: Эд Джонсон
To: Майк Купер
Майк, ты получал вчера письмо про проблемы с запуском AccountVew?
From: Майк Купер
To: Эд Джонсон
Эд,
Извини, что задержался с ответом — надо было помочь кой-кому вчера днем.
Причина проблемы — тестеры используют чуть более старую версию AccountView, чем у тебя. Им надо работать с последней "стабильной" сборкой, а у тебя исходники из HEAD. Стабильная сборка немножко по-другому работает с базой, чем HEAD-версия — я недавно почистил все "переменные deployment'a" для единообразия. Короче, просто поменяй базу руками. В частности, поменяй "Instance_Name" на "InstanceName". Там еще несколько ключей в этой таблице, с которыми надо то же самое сделать.
Майк.
From: Эд Джонсон
To: Майк Купер
Майк, спасибо — поменял базу руками по твоему совету, и теперь AccountView по крайней мере запускается. Там правда некоторые страницы выдают ошибки, но про это я позже спрошу.
BTW: Заметил, что JBoss падает минут через 20 использования с "OutOfMemory". Это только у меня, или ты тоже замечал?
From: Майк Купер
To: Эд Джонсон
Ага, видел проблему с JBoss и "out of memory". Хрен знает сколько времени убили, пытаясь найти ошибку, в конце концов решили запускать JBoss на JRockIt JVM вместо стандартной Sun JVM. У JRockit управление памятью куда лучше.
From: Эд Джонсон
To: Майк Купер
О, спасибо за подсказку про JRockit. Перешел на нее и производительность заметно улучшилась.
Слушай, я провозился две недели, чтобы настроить среду для разработки AccountView. Это серьезный удар по производительности. ты не думал записать все эти шаги, чтобы новичкам было легче влиться в работу.
From: Майк Купер
To: Эд Джонсон
Re: да, блин, давно хотел написать доки по настройке среды для разработки, просто все времени нет!