Special Enterprise Programming Olympics
Jan. 31st, 2012 12:31 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Special Enterprise Programming Olympics
Problem 1:
You need to implement universal web-based application for report generation.
Application consists of:
* Database. You can use any relational DBMS you like, but you should have in mind ease of linux deployment.
* Web application deployed to your favorite web-server, app-server, whatever.
* Client-side JavaScript application working in modern browsers (>=IE7,Firefox>=5,Chrome)
* Web application must have report configuration file which contains:
** Unique system report id. Any string
** User-friendly name of report. For report titles and page headers.
** SQL query for report generation. SQL query is arbitrary and should contain parameters. SQL query will be in native format of used RDBMS.
** Query parameter description list.
Each parameter description contains parameter name, user-friendly caption,type,
output format and default value.
If you can infer parameter list from SQL query then this information is optional and
parameter list can be generated automatically.
** Query result field list. Field description should contain name, user-friendly name,
visibility flag(visible/not visible) and output format.
Field descriptions are optional - without description report should contain field
with default(returned from query) name and default output format.
* Types allowed for query parameters: integer,double,date,datetime,string,bool,decimal (money)
* Default values allowed for date or datetime parameters:
** Culture-invariant (!) string representation of any date or datetime
** If default value is prefixed with “@” then default parameter value is calculated as follows:
** @now - today (date) or current time(datetime)
** @prevmonthbeg - beginning of previous month
** @prevmonthend - end of previous month. Beware of difference in date and datetime (last day of month is 30/31, but last datetime of month is <00:00:00 01-of-nextmonth)
** @currmonthbeg - beginning of current month
** @currmonthend - end of current month
** @prevyearbeg - beginning of previous year
** @prevyearend - end of previous year
** @curryearbeg - beginning of current year
** @curryearend - end of current year
* Report configuration file will be edited once in a while based on
customers (report end-user) requirements.
Errors in configuration file format or in queries should be processed with
displaying of user-friendly error messages in client application and
error logging on server.
* Client application must show report list in any usable way(list of links, menu, tree, etc)
* Click on report must open report page which consists of:
** Report header (user-friendly report name)
** Report parameters table with user-friendly labels and editable parameters.
** "Refresh Report" button
** Report result table which is populated after click on "Refresh Report" button
or after Enter key press in any of parameter's edit controls.
* Paging or lazy result loading is not usually needed - most reports contains no more than 5 pages of data.
* When printing, report should follow the same structure as page, except for "Refresh" button.
* Report data is desirable to return in json or xml format, so it will be possible to
use wget/curl/any http client application to connect to server and get report data.
* Problem solution must contain:
** Deployment package for linux (any distro you like, but Ubuntu 10.04 LTS is preferred ). Also any deployment/configuration management system can be used.
** Deployment instructions.
Configuration file example: http://www.cacodaemon.org/content/so/ReportConfig.xml
Времени им - вообще до понедельника, но я бы добавил еще несколько дней на доработки по результатам.
no subject
Date: 2012-01-31 10:12 am (UTC)no subject
Date: 2012-01-31 10:15 am (UTC)Или все же на системы веб-программирования...
no subject
Date: 2012-01-31 10:25 am (UTC)Языки отдельно уже никто не оценивает, они одинаковые, почти.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 10:18 am (UTC)no subject
Date: 2012-01-31 11:18 am (UTC):-)))
(no subject)
From:no subject
Date: 2012-01-31 10:45 am (UTC)no subject
Date: 2012-01-31 06:50 pm (UTC)no subject
Date: 2012-01-31 10:53 am (UTC)no subject
Date: 2012-01-31 11:27 am (UTC)=)
no subject
Date: 2012-01-31 11:54 am (UTC)Лучше б написали прогу с одной кнопкой "сделать за...сь" и посмотрели бы у кого лучше бы вышло.
no subject
Date: 2012-01-31 12:14 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 12:19 pm (UTC)артурегажабуno subject
Date: 2012-01-31 02:35 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 02:28 pm (UTC)no subject
Date: 2012-01-31 02:31 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 03:00 pm (UTC)no subject
Date: 2012-01-31 03:07 pm (UTC)no subject
Date: 2012-01-31 03:24 pm (UTC)А вот с целью дополнительной психодиагностики и уточняющего практикума наоборот, берут специализированные психологические тесты для умственно отсталых. К такому типу могут быть отнесены, скажем, методики: К.Леонгарда-Шмишека, Д.Холланда, М.Рокича-С.Швартца, ДМO Т.Лири, KОT и т.д." (с)
no subject
Date: 2012-01-31 03:23 pm (UTC)no subject
Date: 2012-01-31 03:56 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 03:25 pm (UTC)Для реальной enterprise отчётности вроде ж как существует приличное количество готовых продуктов, разных по цене.
no subject
Date: 2012-01-31 03:58 pm (UTC)Если нужно что-то простое - не всегда имеет смысл тянуть здоровые хххReports.
no subject
Date: 2012-01-31 03:29 pm (UTC)Да, я сначала по принципу минимизация затрат, хотел все нарисовать мышкой в eclipsике, но как-то не заладилось с этими jasperами и т.п.
P.S. Ну и капча у вас в жежешечках.
no subject
Date: 2012-01-31 03:49 pm (UTC)Но напоследок хочу отметить, что я это все под windows xp запустил, спасибо akovalenko и tomas.hlavaty.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 03:39 pm (UTC)кто на кого ставит, кто за кого болеет, лично я за Скифа. )no subject
Date: 2012-01-31 03:49 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 03:51 pm (UTC)no subject
Date: 2012-01-31 04:05 pm (UTC)no subject
Date: 2012-01-31 04:15 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 04:46 pm (UTC)Вообще, странная тема для сочинения, конечно - "на каком языке программирования я лучше всего напишу на JavaScript".
От серверной части требуеца только ходить в базу и делать из резалтсетов JSON, что не очень сложно на любом языке программирования.
no subject
Date: 2012-01-31 04:53 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 04:48 pm (UTC)no subject
Date: 2012-01-31 05:29 pm (UTC)Вся эта байда на движке опердени делается, наверное, за час - два (отпилить все лишнее и автоматизировать деплоймент).
До руби с получасами далеко, конечно, что поделать.
no subject
Date: 2012-01-31 05:40 pm (UTC)no subject
Date: 2012-01-31 05:54 pm (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 06:35 pm (UTC)no subject
Date: 2012-01-31 06:40 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 07:08 pm (UTC)ентерпрайз это предмет и только предмет
а так да если у разработчика нет предмета он лабает инструменты
ну и английский как промптом переведенный
формально все правильно но сразу видно не носитель
no subject
Date: 2012-01-31 07:16 pm (UTC)(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2012-01-31 07:14 pm (UTC)no subject
Date: 2012-01-31 07:56 pm (UTC)no subject
Date: 2012-01-31 07:28 pm (UTC)я ж не говорю что это характеризует класс задания
но о классе самого евента таки еще как
беру свои слова обратно если.. Ну это ж метакласс сочинил или я дебильчик?
no subject
Date: 2012-01-31 07:31 pm (UTC)нокия в кривых руках
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: