metaclass: (Default)
[personal profile] metaclass
Итого, в результате специальной олимпиады:
Постановщик задач с меня печальный. Надо было в два раза больше пунктов в задание написать и более подробно.
[livejournal.com profile] kometa_zxc справилась с адовым деплойментом двух кромешных оперденей на убунте. Тестировать, по причине нехватки времени и того, что [livejournal.com profile] theiced обвинил ее в неумении читать вывод команд, не стала.

По результатам [livejournal.com profile] theiced и [livejournal.com profile] artureg: деплоймент у обоих - кромешный хардкорный ад. Уровня "пришли с дискетами сдавать контрольную, а у препода на машине нет vcl70.bpl и какой-то непонятной либы". Артурегов оказался проще, но: после суток участия в установке айседовой, перепроверки его инструкции целым чатиком гурей и, по словам айседа, работает только на убунте 10.04.

Подключение базы: у обоих ок. Айсед создал еще и тестовую базу (для чего внезапно понадобился nodejs). А для артурега мы использовали айседову базу.

По запуску и использованию приложения.
Если использование гуманное, без попыток сломать приложение - айседовое работает более логично.
Артурегово работает нормально, но были баги с парсингом кривых чисел и показом клиенту бессмысленных сообщений типа "null"(исправлено, но исправление сообщает клиенту в ответе cтек-трейс в json).
Обработка кривого ввода пользователя сделана лучше у айседа.

По редактированию файла настроек, который по условию редактирую специально обученные люди-настройщики:
Айсед: игнорирует регистр символов, неважные ошибки, выводит предупреждения в лог, при невалидном xml - показывает "Отчетов не найдено". Был только один баг, который приводил к невозможности запустить рельсы при формально валидном xml.
Артурег: регистрозависимый, показывает клиенту безумные сообщения из исключений, если xml кривой. Причем кривость может заключаться тупо в опечатке в имени атрибута, которая xml оставляет валидным, но убивает только один отчет, а не все.

Какой вариант работы с xml лучше - спорный вопрос. Главное, чтобы корректно можно было найти и починить в случае надобности.


Проверка собственно сервиса отчетов:
Айсед: от входа работает в wget, RESTful, метод GET, параметры в url, понимает хидер Accept: на предмет - ответить json,xml или html, иначе - говорит что не может ответить в таком формате.

wget "http://192.168.240.63:3000/reports/datetime?parameters%5Bdatetimeval%5D=2012-02-14+01%3A01%3A01" "--header=Accept: application/json"



Артурег: Использует json-rpc, метод POST, не работает без хидера "--header=Content-Type: application/json-rpc; charset=UTF-8" и строгого json в теле POST:

wget --post-file=query.json "--header=Content-Type: application/json-rpc; charset=UTF-8" http://localhost:9090/so/smd/so.action 


query.json: {"params":["datetime1",[{"name":"datetimevalb","value":1328047200000},{"name":"datetimevale","value":1330552799999}]],"method":"runReport","id":-1}


При поверхностных попытках слома: айседовское ведет себя более гуманно - отвечает 403 или 500, и осмысленное сообщение. Было пару багов, приводящих к странному большому сообщению.

Артурегово выдает либо стектрейсы в json, либо в html, в зависимости от фазы луны места, где сломалось - в его либах или не в его.

Короче, по деплойменту: оба еле доползли до финиша при поддержке зрителей.
В рунтайме по очкам выиграл [livejournal.com profile] theiced. Явных багов было все таки больше у артурега, особенно малопонятный с таймзонами дефолтных значений времени.

По айседу остается открытым спорный вопрос с парсингом sql-параметров с помощью regexp и sanitize. Пока внятных аргументов за или против кроме "здесь так принято", я не слышал.

При практическом использовании: работает и то и другое, но привести обе софтины в идеальное состояние понадобится дофига времени, как минимум на то, чтобы сформулировать, каким должно быть это идеальное состояние.

Да, финальный штрих: после установки приложений, все потроха:
Айсед:248 мег из них .rvm - 237 мег, worm_reports - 5 мег)
Артурег:160 мег из них .m2 - 27 мег, operden - 133 мег)

Айсед: после rvm cleanup all - 109 мег, из них .rvm 97 мег
Артурег: mvn clean скачал еще немного жабы, но ничего сделать не смог. 160 мег осталось.

Артурег 2: поправил настройки базы в pom.xml. mvn clean поработал, выдал 100500 ошибок (хардкодед имя базы в sql :) и теперь размер 109 мег, из них 81 - приложение. и еще 170 мег жабы в /usr/lib/jvm


Объемы кода:

To work\Ruby>cloc-1.51.exe iced-worm-reports-8681544
      66 text files.
      66 unique files.
      18 files ignored.

http://cloc.sourceforge.net v 1.51  T=1.0 s (48.0 files/s, 3212.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Javascript                       2            140            162           1013
Ruby                            39            240            158            770
CSS                              2             33            163            382
HTML                             3              3              3             71
XML                              1              0              0             51
YAML                             1              2              0             21
-------------------------------------------------------------------------------
SUM:                            48            418            486           2308
-------------------------------------------------------------------------------


To work\JAVA\artureg_ex>cloc-1.51.exe src
    3487 text files.
    3296 unique files.
     285 files ignored.

http://cloc.sourceforge.net v 1.51  T=6.0 s (526.0 files/s, 50597.5 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Javascript                    2501           1612           6552         189839
CSS                            554           2166              0          91501
SQL                              2              5              0           5339
HTML                            69            147            418           2123
XSLT                             2             47            155            955
PHP                              4            137            288            516
Java                            12            122              7            488
ActionScript                     3            119            157            374
JSP                              1             32              3            220
XML                              5             21              7            162
Bourne Shell                     2              6              5             28
DOS Batch                        1              7              3             24
-------------------------------------------------------------------------------
SUM:                          3156           4421           7595         291569
-------------------------------------------------------------------------------


У артурега там весь dojo лежит, так что жабаскрипта там 100500.

Date: 2012-02-07 12:59 pm (UTC)
From: [identity profile] stdray.livejournal.com
А третий участник где?

(no subject)

From: [identity profile] stdray.livejournal.com - Date: 2012-02-07 05:15 pm (UTC) - Expand

Date: 2012-02-07 03:55 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Третий победил путем неучастия.

是故百戰百勝,非善之善者也;不戰而屈人之兵,善之善者也。
Hence to fight and conquer in all your battles is not supreme excellence; supreme excellence consists in breaking the enemy's resistance without fighting. --Сунь Цзы

Date: 2012-02-07 01:00 pm (UTC)
From: [identity profile] abadonne.livejournal.com
а где же Скиф?

Date: 2012-02-07 01:06 pm (UTC)
From: [identity profile] theiced.livejournal.com
500 вместо 403 - это очень спорно. 500 это праильный ответ когда пришла хуета которая нормальым способом никак получится не может - попытка взлома - идите нахуй. как то так. у ортуро то что я видел по чятику таких (и багов с хтмлем вместо жсона итд) багов было пара десятков ;] всё ок, результат ожидаемый. меня олимпиада интересовал с точки зрения "насколько ортуро налажает". налажал меньше чем ожидалось (оно кое-как работает, по разному на разных ос (даты, старт у метакласса минуту, у меня 30 секунды, у ортуро 5, при этом рельсовая ёбань стартует за секунду везде)).

теперь давайте кто нить оценит лёгкость модифицирования и поддержки данных двух поделок. just in case.

Date: 2012-02-07 01:08 pm (UTC)
From: [identity profile] artureg.livejournal.com
ты опять хуиты понаписал, которую даже опровергать бессмысленно, ибо это очевидная хуита

про расширяемость, пусть кто нибудь оценит

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 01:12 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 01:12 pm (UTC) - Expand

Date: 2012-02-08 03:58 pm (UTC)
From: [identity profile] vinslivins.livejournal.com
а можно для этого забить постом голосование, у кого после чтения xml в мирное время глаза "скорее болят, чем нет"?
или в комфорт обслуживания это не входит?)

Date: 2012-02-07 01:11 pm (UTC)
From: [identity profile] veter-r-r.livejournal.com
Где скриншоты?!

(no subject)

From: [identity profile] stdray.livejournal.com - Date: 2012-02-07 05:12 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2012-02-07 05:49 pm (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2012-02-07 06:00 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 06:12 pm (UTC) - Expand

Date: 2012-02-07 01:12 pm (UTC)
From: [identity profile] kometa-zxc.livejournal.com
Можно! Можно я скопипащу итог?

[15:38:16] iced: ты тупой
[15:38:54] artureg: ты тупой

Date: 2012-02-07 01:43 pm (UTC)
From: [identity profile] devnu11.livejournal.com
победил skif_by, воздержавшись ? -))

(no subject)

From: [personal profile] develop7 - Date: 2012-02-07 07:28 pm (UTC) - Expand

Date: 2012-02-08 03:40 pm (UTC)

Date: 2012-02-07 01:15 pm (UTC)
From: [identity profile] aamonster.livejournal.com
Угу. Мой вывод "за день это нормально не делается, поэтому нех делать бесплатно" оказался верен =)

Date: 2012-02-07 01:18 pm (UTC)
From: [identity profile] theiced.livejournal.com
у меня ушло 3.5 часа на всё. потом ещё час на доводку доки под истерику эрны ;]

(no subject)

From: [identity profile] aamonster.livejournal.com - Date: 2012-02-07 01:19 pm (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2012-02-07 01:19 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 01:22 pm (UTC) - Expand

(no subject)

From: [identity profile] aamonster.livejournal.com - Date: 2012-02-07 03:08 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2012-02-07 01:22 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 01:23 pm (UTC) - Expand

(no subject)

From: [identity profile] aamonster.livejournal.com - Date: 2012-02-07 03:37 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 04:06 pm (UTC) - Expand

Date: 2012-02-07 01:26 pm (UTC)
From: [identity profile] theiced.livejournal.com
зачем mvn:clean полез в базу?

Date: 2012-02-07 01:28 pm (UTC)
From: [identity profile] artureg.livejournal.com
создать чистую бд :)

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 01:45 pm (UTC) - Expand

(no subject)

From: [identity profile] x-a-e-p.livejournal.com - Date: 2012-02-07 02:44 pm (UTC) - Expand

Date: 2012-02-07 02:31 pm (UTC)
From: [identity profile] craneop.livejournal.com
Вообще это нормально, если корректно настроены профайлы.

Date: 2012-02-07 02:14 pm (UTC)
From: [identity profile] jek-hor.livejournal.com
Кстати, nodejs не нужен, нужен therubyracer для интерпретатора V8.

Date: 2012-02-07 02:54 pm (UTC)
From: [identity profile] theiced.livejournal.com
нужен один из. https://github.com/sstephenson/execjs - я им кидал ссылку но они проигнорили. и нужен он для кофискрипта же а не для базы.

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2012-02-07 03:05 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 04:02 pm (UTC) - Expand

(no subject)

From: [identity profile] dnnx.livejournal.com - Date: 2012-02-07 05:41 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 06:12 pm (UTC) - Expand

(no subject)

From: [identity profile] dnnx.livejournal.com - Date: 2012-02-08 06:09 am (UTC) - Expand

(no subject)

From: [identity profile] vinslivins.livejournal.com - Date: 2012-02-08 03:56 pm (UTC) - Expand

Date: 2012-02-07 03:05 pm (UTC)
From: [identity profile] dizel-by.livejournal.com
Почитал, всплакнул и подумал, что в следующий раз можно было бы тоже поучаствовать =))

Date: 2012-02-07 03:06 pm (UTC)
From: [identity profile] artureg.livejournal.com
буде второй тур

(no subject)

From: [identity profile] dizel-by.livejournal.com - Date: 2012-02-07 03:07 pm (UTC) - Expand

Date: 2012-02-07 03:07 pm (UTC)
From: [identity profile] nealar.livejournal.com
SLOC ещё сравнить бы. Не в плане "у кого длинней", а в плане "насколько язык Х многословней".

Date: 2012-02-07 03:59 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
+1, реквестируем объемы кода

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 04:03 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2012-02-07 04:19 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2012-02-07 04:07 pm (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2012-02-07 04:09 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2012-02-07 04:19 pm (UTC) - Expand

(no subject)

From: [identity profile] nealar.livejournal.com - Date: 2012-02-07 06:30 pm (UTC) - Expand

(no subject)

From: [identity profile] thedeemon.livejournal.com - Date: 2012-02-07 04:19 pm (UTC) - Expand

(no subject)

From: [identity profile] vinslivins.livejournal.com - Date: 2012-02-08 03:45 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2012-02-08 04:05 pm (UTC) - Expand

Date: 2012-02-07 05:11 pm (UTC)
From: [identity profile] kurilka.livejournal.com
А как 109=81+170 получилось?

Date: 2012-02-07 05:12 pm (UTC)
From: [identity profile] kurilka.livejournal.com
а, 170 в /usr/lib типа не считаем, ок.

Date: 2012-02-07 08:34 pm (UTC)
From: [identity profile] avnik.livejournal.com
А опердени готовые писались? Или что-то готовое разворачивали?
А то я бы поучаствовал в следующем забеге (с петоном и билдаутом)

Date: 2012-02-07 08:54 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Писались с нуля.

(no subject)

From: [identity profile] vinslivins.livejournal.com - Date: 2012-02-08 03:49 pm (UTC) - Expand

(no subject)

From: [identity profile] artureg.livejournal.com - Date: 2012-02-07 09:06 pm (UTC) - Expand

(no subject)

From: [identity profile] avnik.livejournal.com - Date: 2012-02-07 09:52 pm (UTC) - Expand

(no subject)

From: [identity profile] nealar.livejournal.com - Date: 2012-02-08 06:44 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2012-02-08 07:03 am (UTC) - Expand

Date: 2012-02-08 09:01 am (UTC)
From: (Anonymous)
Давайте второй тур, я бы поучаствовал.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 13th, 2025 06:08 am
Powered by Dreamwidth Studios