[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Общего плана ->Предложения по развитию DL 1, 2, 3, 4, 5, 6, 7, 8
Автор Сообщение
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль


Михаил Сваричевский:


Михаил Долинский:

Шаг 1. Делаем КЛИЕНТ, который работает на php, но с нынешней базой данных и обеспечивает текущую работу пользователя: 


Проблема в том, что мы ничего принципиально не выигрываем в таком случае, кроме разве что другого HTML работающего в большем кол-ве браузеров. И ничего не тестируем что было бы полезно в будущем, т.к. основная логика остается в дельте/БД. 
1) Мы получаем новый современный клиент пользователя "все окна(дерево задач, задача, протокол, таблица результатов) в одном флаконе".
2) Мы тестируем работу этого клиента, доводя его до "безошибочного стояния"
3) Мы обеспечиваем поддержку дифференцированного обучения в новом клиенте (а это непросто и немало)
4) Мы получаем представление о том как все устроено
5) Мы разбираемся с имеющейся и "правильной" типизацией задач

В будущем вся функциональность клиента НЕОБХОДИМА. А другие проблемы будут решаться на других этапах.
"Разделяй и властвуй!!!".
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль


Руслан Коржик:

Я вот не совсем понял.
Это сейчас происходит опять смена направления развития?
Только начали прорисовываться кое какие перспективы полного отказа от asp, как сразу появляется ещё и ПХП...  
Ну, во-первых, пока все идет в рамках ДИСКУССИИ. "Оружие", то бишь средство разработки, у нас всегда выбирает РАЗРАБОТЧИК - пишет на том, на чем умеет, или что хочет изучать. Лично я не уверен, при все моем уважении к Мише, что он сможет заниматься DL-кой - действительно очень много наработано. Месяц ему может будет интересно, а на второй? А за месяц здесь всю систему не переделаешь, это понятно. Поэтому я за то, чтобы все хорошенько обсудить - чтобы тому, кто возьмется когда-нибудь делать, наша дискуссия принесла максимум пользы.

Кстати Руслан - а по существу вопроса "противопоставления Мишей" php всем другим инструментам, включая Java, которые он "отправил в топку", у тебя есть что возразить?

А ты что против php имеешь? Не умеешь/не хочешь на нем писать?
Или, по-твоему, для разработки нашей сложной DL-ки такой необъектный язык не годится?

Что касается моей точки зрения, язык выберет разработчик, а ИНВАРИАНТЫ:
- Новый клиент
- Новый сервер
- Вырастание новой системы из старой, как я описал ранее
Михаил Сваричевский

Темы: 0
Сообщений: 39

Мой профиль


Руслан Коржик:

Дело в том что за эти самые 11 лет появилось очень много специфических утилит, которые "за раз" будет очень сложно написать/переписать. 

Безусловно. Никто и не расчитывает что все легко и быстро получиться.


Руслан Коржик:

Относительно достройки таблиц результатов. Полагаю речь идёт о скрипте, который отрабатывает один раз в минуту. Сейчас время работы этого скрипта составляет 1/10 секунды.  


В пятницу приходил смотреть как все работает - и ведомость по результатам работы группы генерилась минуты 4.
Михаил Сваричевский

Темы: 0
Сообщений: 39

Мой профиль
"Оружие", то бишь средство разработки, у нас всегда выбирает РАЗРАБОТЧИК - пишет на том, на чем умеет, или что хочет изучать. 


В данном случае технология выбиралась не так :-)
Я могу писать на всем что используется в DL, и изучать PHP особо больше не требуется.

PHP в данном случае это минимальное время разработки, облегчение размещения сервера в интернет, поддержка Linux (в отличии от .NET/ASP, mono не в счет). Кроме того, PHP девелоперов много, стоят они дешевле, и средний уровень выше.
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль
Согласен, с тобой Миша - я имел ввиду всех других разработчиков DL-ки, включая нынешних Руслана и Сашу Козлова, а также тебя лет 8 назад :-).
Александр Козлов

Темы: 0
Сообщений: 10

Мой профиль
Я согласен с Мишей по многим вопросам.

Хотелось бы добавить немного по поводу языка реализации новой DL. Но, вне зависимости от языка реализации необходимо перейти на новую структуру базы данных, решить вопрос использования триггеров - переписать их для новой БД, или перенести все те действия, которые выполнялись триггерами на уровень программиста. Возможно, что изменив структуру БД, необходимость в триггерах (может быть частично) отпадет вовсе.

О языке реализации:
1) Оставить основным языком Java, только сделать из
того кода, что есть сейчас, целостную структуру.
1.1) Т.е. использовать только один web framework, раньше насколько я знаю, использовались и обычные сервлеты и struts. Нужно все переделать к структуре выбранного framework-а, и следовать ему в будущем. В качестве framework-а предлагаю использовать Springframework (в частности внедрить не только MVC часть framework-а).
1.2) Использовать один DAO слой для работы с БД. Реализация DAO слоя любая - самостоятельно созданная или Hibernate. Главное не в реализации, а чтобы было единственное место в системе, через которую проходит вся логика работы с БД. Исключения недопустимы.

2) Можно использовать Grails, преимущества в тесной интеграции с Java.

3) Ruby on Rails.

4) PHP, как писал Миша выше.

2-4 пункты с точки зрения "изучения" для нового разработчика равносильны, в том плане, что в любом случае нужно будет изучать. Другое дело, что PHP изучить, наверное, проще.

Что касается,
Кроме того, PHP девелоперов много, стоят они дешевле, и средний уровень выше. 
в данном случае это не актульно, нанимать то рабочих никто не будет. Ну и как пример, на IBA Гомель, только два, три человека (насколько мне известно) знают PHP на профессиональном уровне.
Михаил Сваричевский

Темы: 0
Сообщений: 39

Мой профиль


Александр Козлов:

Я согласен с Мишей по многим вопросам.

Хотелось бы добавить немного по поводу языка реализации новой DL. Но, вне зависимости от языка реализации необходимо перейти на новую структуру базы данных, решить вопрос использования триггеров - переписать их для новой БД, или перенести все те действия, которые выполнялись триггерами на уровень программиста. Возможно, что изменив структуру БД, необходимость в триггерах (может быть частично) отпадет вовсе.

О языке реализации:
1) Оставить основным языком Java, только сделать из
того кода, что есть сейчас, целостную структуру.
1.1) Т.е. использовать только один web framework, раньше насколько я знаю, использовались и обычные сервлеты и struts. Нужно все переделать к структуре выбранного framework-а, и следовать ему в будущем. В качестве framework-а предлагаю использовать Springframework (в частности внедрить не только MVC часть framework-а).
1.2) Использовать один DAO слой для работы с БД. Реализация DAO слоя любая - самостоятельно созданная или Hibernate. Главное не в реализации, а чтобы было единственное место в системе, через которую проходит вся логика работы с БД. Исключения недопустимы.

2) Можно использовать Grails, преимущества в тесной интеграции с Java.

3) Ruby on Rails.

4) PHP, как писал Миша выше.

2-4 пункты с точки зрения "изучения" для нового разработчика равносильны, в том плане, что в любом случае нужно будет изучать. Другое дело, что PHP изучить, наверное, проще.

Что касается,
Кроме того, PHP девелоперов много, стоят они дешевле, и средний уровень выше. 
в данном случае это не актульно, нанимать то рабочих никто не будет. Ну и как пример, на IBA Гомель, только два, три человека (насколько мне известно) знают PHP на профессиональном уровне.  


Насчет тригеров - я лично считаю что можно и нужно обойтись без них.

1. "Сделать целостную структуру" - звучит хорошо, но трудно сделать :-)
1.2 DAO это красивая сказка, на практике почти никогда не получается сменить БД с небольшими потерями. В любом случае, в проекте нашего уровна, смена БД в будущем - наш полный провал. Решать нужно сейчас и на всегда.
3) ROR трудно размещать в интернете, тормозит (не сам интерпретатор, а момент загрузки FCGI модуля). Вот пример http://trac.14.by/ - грузится первый раз секунд 8, потом 1-2 секунды. 3.14.by - тот же сервер, но PHP, все всегда моментально.

Только PHP+MySQL позволяет бескровно развернуть систему где угодно, например в 27-й школе. Развернуть Java+Tomcat+MS SQL за 5 минут не выйдет никак.

В конторах вроде EPAm/IBA не пишут на PHP, т.к. разработка сильно дешевая получается, мало прибыли :-)

Программисты на PHP не из университета будут. На ROR/Java я их не уговорю: ROR никто не знает и не хочет знать, а Джавой все сыты на основной работе, чтобы еще и тут на ней писать монстров.

Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль


Сваричевский Михаил:

Программисты на PHP не из университета будут ... 
Миша мне очень приятно читать твои ответы. Но, извини, я не понимаю мотивов твоего энтузиазма. Позволь задать тебе несколько вопросов

1) Как ты вообще попал на DL как раз в тот момент, когда я создал в форуме тему "DL нового поколения"?

2) Осознал ли ты до конца, что DL сегодня - это не просто тестирование задач по программированию во время олимпиад, а также
- множество самых разнообразных, как правило (без ложной скромности) УНИКАЛЬНЫХ возможностей, которых НЕТ в других системах дистанционного обучения
- реально эксплуатируемая система, в которой на регулярной основе работают СОТНИ школьников и студентов (одновременно конечно поменьше - чаще всего от 10 до 40, но практически каждый день и с раннего утра 7.30 до позднего вечера 23.59 )
- внедрение в пратику должно происходит перманентно и ГАРАНТИРОВАННО без проблем или с их ОПЕРАТИВНЫМ устранением

3) Какие могут быть интересы у ТЕБЯ, а тем более "других PHP-программистов" не из университета в разработке DL нового поколения, если
- МНОГО денег я предложить за работу не в состоянии
- ты заявил, что денег с меня вообще не возьмешь
- а РАБОТЫ ПРЕДСТОИТ МОРЕ - причем "нелюбимой для программистов" - нужно не просто запрограммировать, что-то хорошо известное - а еще потратить время и не мало на осознание того, а что DL-ка умеет сегодня ...
Михаил Сваричевский

Темы: 0
Сообщений: 39

Мой профиль
Никакого энтузиазма с горящими глазами тут нет. Если бы он был, я бы уже долбил какой-то код :-)


Михаил Долинский:

1) Как ты вообще попал на DL как раз в тот момент, когда я создал в форуме тему "DL нового поколения"? 

Случайно, наткнулся в гугле на одну из тем этого форума.


Михаил Долинский:

2) Осознал ли ты до конца, что DL сегодня - это не просто тестирование задач по программированию во время олимпиад, а также
- множество самых разнообразных, как правило (без ложной скромности) УНИКАЛЬНЫХ возможностей, которых НЕТ в других системах дистанционного обучения
- реально эксплуатируемая система, в которой на регулярной основе работают СОТНИ школьников и студентов (одновременно конечно поменьше - чаще всего от 10 до 40, но практически каждый день и с раннего утра 7.30 до позднего вечера 23.59 )
- внедрение в пратику должно происходит перманентно и ГАРАНТИРОВАННО без проблем или с их ОПЕРАТИВНЫМ устранением 

Да, я понимаю что это не 100 строк кода. В любом случае нам придется таки документировать требования по проекту перед тем как начинать делать.

Все программные продукты такие, везде требуется чтобы они работали. Обычно когда что-то не работает, для пущего задора заказчик теряет 100-10'000 долларов в час :-)


Михаил Долинский:

3) Какие могут быть интересы у ТЕБЯ, а тем более "других PHP-программистов" не из университета в разработке DL нового поколения, если
- МНОГО денег я предложить за работу не в состоянии
- ты заявил, что денег с меня вообще не возьмешь
- а РАБОТЫ ПРЕДСТОИТ МОРЕ - причем "нелюбимой для программистов" - нужно не просто запрограммировать, что-то хорошо известное - а еще потратить время и не мало на осознание того, а что DL-ка умеет сегодня ... 


Есть пара человек которые только начинают работать на PHP, и им строчка не помешает в резюме(не важно за какие деньги).

Для меня - отработать навыки управления распределенной командой(для этого я могу нанять пару человек дополнительно), дописать строчку в резуме. Это подразумевает то, что меня интересует конечный результат в разумные сроки, а не шаги растянутые на годы.

Именно поэтому я и предлагаю то что предлагаю - ограниченную функциональность писать и запускать туда часть людей. Затем постепенно добавлять функциональность пока не получится эквивалент старого DL. Затем старый DL выключается.

Вы говорили что Вас это не интересует, а моя позиция - в любом случае миграция будет болезненной и неизбежной, а в случае постепенного перевода пользователей на новую систему риски намного ниже.

Не уверен в том, что за год осилим движение по вашему пути - с использованием частей старой системы, постепенно заменяемых новыми компонентами. В этом варианте ошибки будут появлятся постоянно на всех уровнях системы.
Александр Козлов

Темы: 0
Сообщений: 10

Мой профиль
Немного отвлекаемся от темы. Но, хотелось бы выяснить в каком направлении сейчас идет дискуссия.


Сваричевский Михаил:


Есть пара человек которые только начинают работать на PHP, и им строчка не помешает в резюме(не важно за какие деньги).

Для меня - отработать навыки управления распределенной командой(для этого я могу нанять пару человек дополнительно), дописать строчку в резуме. Это подразумевает то, что меня интересует конечный результат в разумные сроки, а не шаги растянутые на годы.  


С одной стороны это хорошо, что университет получит новую систему через год. С другой стороны получается, что я, Руслан, другие школьники/студенты/аспиранты остаются за бортом разработки новой DL системы, т.е. фактически без работы.

И о каком "среднем уровне" PHP программистов шла речь, если "те пара человек" только начинают работать на PHP (я PHP тоже не знаю).

А если по теме, то как одно из направлений развития, если это все таки будет полезно и нужно - разработка desktop системы (если это действительно нужно), то соглашаясь с Мишей (его принцип быстрее и легче), вместо Eclipse (это действительно сложно и затратно) можно использовать Adobe AIR - писать на flex-е очень просто, создавать красивые интерфейсы тоже легко, и интеграция с java, php, любыми другими серверными языками не проблема для flex.
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль


Козлов Александр:

С одной стороны это хорошо, что университет получит новую систему через год. 
Пока совершенно не факт.

С другой стороны получается, что я, Руслан, другие школьники/студенты/аспиранты остаются за бортом разработки новой DL системы, т.е. фактически без работы. 
А это ТЕМ бОЛЕЕ не факт. Вы можете делать альтернативные проекты или участвовать в ОБЩЕМ с Мишей - если сможете найти с ним консенсус по идеологии и технологии разработки.

Со своей стороны, я согласен с Мишиным предложением
документировать требования по проекту, перед тем как начинать делать.  
Более того - еще до того, как Миша написал, а я прочитал его эту фразу, я вставил себе в план создать систематическое ОПИСАНИЕ возможностей текущей DL. Что, собственно, и есть "документирование требований по проекту".

И еще одно уже многократно озвученное мной требование по технологии перехода от старой системы к новой.
Никаких революций - я их уже не переживу.
Михаил Сваричевский

Темы: 0
Сообщений: 39

Мой профиль


Александр Козлов:

С одной стороны это хорошо, что университет получит новую систему через год. 
Год не пойдет, слишком долго.


Александр Козлов:

С другой стороны получается, что я, Руслан, другие школьники/студенты/аспиранты остаются за бортом разработки новой DL системы, т.е. фактически без работы. 

Не согласен. Если человек знает любой C-подобный язык программирования, освоить PHP на нормальном уровне можно за 1 час. Ну и несколько часов ознакомиться с типовой структурой приложений и типовыми ошибками.


Александр Козлов:

А если по теме, то как одно из направлений развития, если это все таки будет полезно и нужно - разработка desktop системы (если это действительно нужно), то соглашаясь с Мишей (его принцип быстрее и легче), вместо Eclipse (это действительно сложно и затратно) можно использовать Adobe AIR - писать на flex-е очень просто, создавать красивые интерфейсы тоже легко, и интеграция с java, php, любыми другими серверными языками не проблема для flex. 

Я пока вообще не вижу необходимости в desktop системе, в том числе на Flex-е. Никакого нового функционала, а время на разработку все равно существенно(в разы) выше чем веб-приложения. Ну и грузиться .swf файл весом 1-2 метра будет не очень быстро на наших каналах :-) Опять же, отрезаем старых клиентов, у который FlashPlayer 9-10 не встанет.

Интеграция с php/java не бесплатная, интерфейсы все равно нужно писать руками и реализовывать.
Михаил Сваричевский

Темы: 0
Сообщений: 39

Мой профиль
Никаких революций - я их уже не переживу. 


И вы готовы пережить в 3 раза больше проблем, и обречь всех на втрое больший объем работ только чтобы небыло "революции"?
Михаил Долинский

Темы: 1984
Сообщений: 47221

Мой профиль
Миша, практически ВСЕ разработчики, включая тебя и Сашу Козлова, оставили за собой полурабочий код. За 11 лет кое-что удалось привести в порядок. Сейчас DL - функционирующий продукт, которым не стыдно и относительно удобно пользоваться. Я РАБОТАЮ (учу студентов и школьников) с его помощью. И не хочу начинать все сначала.
Михаил Сваричевский

Темы: 0
Сообщений: 39

Мой профиль


Михаил Долинский:

Миша, практически ВСЕ разработчики, включая тебя и Сашу Козлова, оставили за собой полурабочий код. За 11 лет кое-что удалось привести в порядок. Сейчас DL - функционирующий продукт, которым не стыдно и относительно удобно пользоваться. Я РАБОТАЮ (учу студентов и школьников) с его помощью. И не хочу начинать все сначала. 


Это понятно.

Значит мы отказываемся от тезиса первого поста "без глобальных решений не обойтись", и фокусируемся на косметике и прилепливанию новых компонент к работающей системе?

Переписывание UI на PHP фундаментальных проблем надежности и скорости работы не решит.
 
Индекс форума ->Общего плана ->Предложения по развитию DL 1, 2, 3, 4, 5, 6, 7, 8
Time:0,047