SASGIS

Веб-картография и навигация

Вопросы по плагинам

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Какими бы Вы желали увидеть плагины к САСу?

В виде закрытых DLL, компилируемых автором плагина в каждом конкретном случае (требуется компилятор+все компоненты+сорцы+автор)
11
41%
В виде открытых скриптов, правящихся на стороне пользователя (требуется текстовый редактор+прямые руки)
15
56%
Мне как-то пофигу - как будет, так и хорошо
0
Ответы отсутствуют.
Другое (отпишусь ниже в теме)
1
4%
 
Всего голосов : 27

Re: Вопросы по плагинам

Сообщение vasketsov » 20 июн 2011, 23:46

Parasite писал(а):
vasketsov писал(а):если будет возможность оставить в zmp только параметры сервиса, а всю логику перенести во внешние dll-ки, это будет только лучше.

Минус вся куча народу, не желающая\не могущая писать ДЛЛки - но сейчас худо-бедно научившаяся править zmp под свои нужды (а это это примерно 95% посетителей, а то и больше).

Распространять рыбу такой DLL можно как сейчас zmp.
Скачать фриварный сишный компилер можно не сложнее, чем сас, и уж точно не сложнее, чем разобраться в написании zmp. Чтобы собрать плагин, потребуется ЛЮБОЙ компилятор, который поддерживает указатель на указатель. Совсем не обязательно это должен быть паскаль.

Parasite писал(а):на Паскале в жизни не собрал ни единой программы, и вовсе не собираюсь его учить ради плагинов к САСу

А и не потребуется. Чем больше параметров из кода zmp перекочуют в настройки, чем больше будет возможностей для параметрического программирования таких "плагинов". В результате если все параметры вынести из кода, получится фактически много где одинаковый код, исключая в некоторых случаях (де)кодирование и подстановку "секретных" ключей.

Parasite писал(а):Проверочное действие: посчитать число активных авторов в теме "Помощь при написании плагинов" за год ее существования, соотнести с числом посетителей всего форума

Бессмысленное действие: а) плагинов ещё нет вообще и б) возможная dll для zmp вообще непохожа по сути на обсуждаемые там плагины.
А идти по проторенной дорожке совсем не то же самое, что прорубать её.

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

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

Parasite писал(а):80% никсов вообще скриптовые

Вот только не надо передёргивать. Не бывает одновременно и быстро, и нетребовательно по ресурсам, и на скриптах (коим нужен парсер, сохранение контекста вызова, маппинг памяти под все объекты и функции и все равно в итоге по сути транслятор). Если отбросить настройку параметров приложений скриптами, там реальных скриптов будет на порядок меньше, чем наоборот.

Parasite писал(а):Что-то мне подсказывает, что мы все тут до сего момента занимались ровно обратным: ковырялись кем попало в чужом коде мап-приложений, и были безмерно этим довольны.
От кого защищаться-то собираемся, коллега?

Что-то мне подсказывает, что сообщения известного толка из раздела про dgsat удаляются не просто так.

Parasite писал(а):Владельцы серверов просто поменяют алгоритмы на своей стороне - и все копии САСа разово отвалятся от скачки. Так было уже не раз.
И если скрипт можно оперативно скорректировать на коленке и продолжить веселье не отходя от кассы, то за ДЛЛкой все хомяки выстроятся в очередь именно сюда. К Вам лично, коллега. Примеры?

Чтобы оперативно откорректировать скрипт в случаях, чуть сложнее инкремента номера версии, потребуется сниффер или на худой конец проксомитрон сотоварищи.
Так что опять же либо проблема решается параметрическим программированием через zmp в простых случаях, либо "все хомяки" по-любому "выстроятся в очередь именно сюда".
Так что принципиальных изменений с точки зрения влияния мутации картосервисов нет.

Parasite писал(а):проект USD ... помогите перестало работать ААААААА!!!

Там у плагинов нет возможности параметрического программирования. Так что в приложении к сасу это было бы равносильно запихиванию всех параметров в код плагина (и воплям "АААААА" при любой смене версии). А предлагается с точностью до наоборот.

Parasite писал(а):Целых 4Мб в сумме за всё. Действительно, совершенно неподьемно!

Этот объём пропорционален количеству всех замапленных сущностей в паскальскрипт.
Соответственно, пока это полторы функции для генерации урла - это одно. А когда будут плагины и это будет в разы больше остальной части программы, дёргаться будет уже поздно и менее приятно.
Для примера. В проекте ERP, где пользователи могут наследовать дельфовые формы, где более полутысячи форм (наследуемых от некольких базовых) и нет ни одной вытащенной особенности этих форм в паскальскрипт, возможность просто обращения к свойствам и методам форм (причём не ко всем) "стоит" в бинарном результате треть от всего размера, включая скомпиленную бизнес-логику.
Это мягко говоря дофига.

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

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

За это сообщение автора vasketsov поблагодарил:
vdemidov (21 июн 2011, 00:33)
Рейтинг: 5.26%
 
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

Re: Вопросы по плагинам

Сообщение Parasite » 21 июн 2011, 08:07

vasketsov писал(а):
Parasite писал(а):
vasketsov писал(а):если будет возможность оставить в zmp только параметры сервиса, а всю логику перенести во внешние dll-ки, это будет только лучше.

Минус вся куча народу, не желающая\не могущая писать ДЛЛки - но сейчас худо-бедно научившаяся править zmp под свои нужды (а это это примерно 95% посетителей, а то и больше).

Распространять рыбу такой DLL можно как сейчас zmp.

Что такое "рыба DLL" ("которых еще нет"© к тому же) - я не знаю.

vasketsov писал(а):Скачать фриварный сишный компилер можно не сложнее, чем сас, и уж точно не сложнее, чем разобраться в написании zmp.

1. Скачать (только скачать) - да, не сложнее. А дальше? Он, скачанный, самостоятельно подкачает все нужные компоненты, сконфигурит всё и вся, и начнет генерить няшные ДЛЛки? А если не сам - то это всё предстоит делать именно Васе Пупкину из третьего подьезда. А я крайне и крайне сомневаюсь, что он это сможет сделать - зато более чем уверен, что с этой просьбой он придет именно сюда.
2. Тот же минимальный MinGW для венды весит порядка 200Мб (и это по состоянию "вообще без ничего"). Плюс компоненты. Плюс сорцы. Плюс время сборки. Плюс рестарты САСа для подхватывания ДЛЛок.... Сколько же весит намного более известная ВизуалСтудия, и сколько ресурсов пожирает при одном факте своего запуска, и сколько сотен нефти стОит - я и вспоминать не возьмусь.

Скрипт же правится встроенным виндявым Блокнотом (47Кб, один файл как часть системы) и работоспособен сразу после этого в пределах своего обработчика (Перл-2Мб один файл, ПХП - 3Мб один файл, LUA-260Kb один файл итд).
Это всё, например, при задаче "поменять одну букоффку в генерации урла" и там и там. И эти люди говорили мне за "недетскость размеров" решений...?? :)

vasketsov писал(а):Чтобы собрать плагин, потребуется ЛЮБОЙ компилятор, который поддерживает указатель на указатель. Совсем не обязательно это должен быть паскаль.

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

vasketsov писал(а):
Parasite писал(а):на Паскале в жизни не собрал ни единой программы, и вовсе не собираюсь его учить ради плагинов к САСу

А и не потребуется. Чем больше параметров из кода zmp перекочуют в настройки, чем больше будет возможностей для параметрического программирования таких "плагинов". В результате если все параметры вынести из кода, получится фактически много где одинаковый код, исключая в некоторых случаях (де)кодирование и подстановку "секретных" ключей.

Я не против выноса кода\настроек из змп - в куда угодно еще, могущее называться как вздумается.
Я против того, чтобы в результате этих реформ то самое "куда угодно" стало намного менее юзабельно, удобно и кастомабизабельно чем оно сейчас. Меньше народу могут править самостоятельно -> больше народу придет сюда и предложит поправить исключительно для их нужд. Только и всего.

vasketsov писал(а):а) плагинов ещё нет вообще

Тогда что мы обсуждаем в этой теме вообще? :)

vasketsov писал(а):А идти по проторенной дорожке совсем не то же самое, что прорубать её.

Совершенно верно. Очень соотносится с известными цитатами про изобретение своих велосипедов или про наступание на широкоизвестные грабли.

vasketsov писал(а):
Parasite писал(а):Десятки, сотни и тысячи приложений юзают в составе себя скриптовую логику - совершенно прозрачно для пользователя, в том числе и в плане быстродействия

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

1. Ядро - не плагин, а самостоятельная сущность.
2. Апач - не плагин, а самостоятельная сущность.
3. Конфиги для ядра и всех составных частей системы - именно текстовые\скриптовые. Я вообще в штатной папке /etc навскидку ни одного бинарника назвать не могу.
4. "Команды работы" апача - именно текстовые\скриптовые. Все те Перлы, ПыХыПы и прочие CGI (и все HTML - чтобы далеко не ходить, бо это тоже "скрипты" для управления браузером на стороне юзверя). Я вообще в штатной папке /srv/htdocs навскидку ни одного бинарника назвать не могу.
Продолжаем логический ряд:
1а. Сас - не плагин, а самостоятельная сущность. Он и так бинарный, и с необходимостью этого никто даже не спорит.
2а."Команды работы" САСа должны быть...<далее - самостоятельно>. :)

PS: а Ваш вариант можно сравнить разве что с Б-гомерзким ISA и его ASP.NET веб-приложениями (компиляющимися именно в бинарь на стороне сервера), непопулярными в Интернете чуть более чем полностью. Плюс к тому бажными, тормозными и копирастичными вследствие маниакальной закрытости кода начиная с самого ISA - по факту выливающееся в тему "желающие бы и рады поправить - ан не могут, поэтому 95% серверов в инете именно на Апаче". К тому же оно нигде кроме этой вашей Б-гомерзкой винды не работает, не поддерживается, не будет, и не надо.

vasketsov писал(а):
Parasite писал(а):80% никсов вообще скриптовые

Вот только не надо передёргивать. Не бывает одновременно и быстро, и нетребовательно по ресурсам, и на скриптах

Вы ПыСы в предыдущем моем посте - читали?
В общем и целом, почему-то "Ой-вэй, посмотрите на него! Весь Кыiв почему-то устраиваю - а мусье vasketsov'а не устраиваю!!"© (при этом он даже не соизволил попробовать) :)

vasketsov писал(а):
Parasite писал(а):Что-то мне подсказывает, что мы все тут до сего момента занимались ровно обратным: ковырялись кем попало в чужом коде мап-приложений, и были безмерно этим довольны.
От кого защищаться-то собираемся, коллега?

Что-то мне подсказывает, что сообщения известного толка из раздела про dgsat удаляются не просто так.

А не надо слушать того кто неверно подсказывает - надо бы пройти и почитать написанное русским по голубенькому, почему удаляются темы про DGsat.

vasketsov писал(а):
Parasite писал(а):Владельцы серверов просто поменяют алгоритмы на своей стороне - и все копии САСа разово отвалятся от скачки. Так было уже не раз.
И если скрипт можно оперативно скорректировать на коленке и продолжить веселье не отходя от кассы, то за ДЛЛкой все хомяки выстроятся в очередь именно сюда. К Вам лично, коллега. Примеры?

Чтобы оперативно откорректировать скрипт в случаях, чуть сложнее инкремента номера версии, потребуется сниффер или на худой конец проксомитрон сотоварищи.

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

vasketsov писал(а):Так что опять же либо проблема решается параметрическим программированием через zmp в простых случаях, либо "все хомяки" по-любому "выстроятся в очередь именно сюда".

Понятия не имею что такое "параметрическое программирование". Понятия не имею что такое "проксомитрон". Понятия не имею как на Дельфе написать "Hello world" (и на Си - тем более) - и более того, я ничего этго просто не хочу знать хотя бы потому, что у меня и без оного сакрального знания всё как-то худо-бедно работает. Имею мнение, что я в этом тут далеко не одинок. :)
При этом имею великую кучу скриптовых костылей к САСу (размер оных - много более самого САСа), которые so far делают все что мне нужно - но чего еще долго не будет в самом САСе. Начиная с базоводов и кончая работой с весьма хитрыми и малоизвестными сервисами.
Вопрос1: мог бы я перенести всю эту кучу скриптовых костылей в САС, если бы это было негеморройно? Ответ: теоретически - да, почему бы и нет.
Вопрос2: буду ли я тратить время переписывая всю эту кучу костылей на Сях\Дельфях (см.выше про Hello_World)? Ответ: разумеется категорически НЕТ - мне проще так и сидеть на старом САСе. Я, собственно, и сижу - и обновляться никогда особо не тороплюсь.
Вопрос3: как много юзверей САСа имеют собственные костыльные наработки\скриптовые змп\проксирующие скрипты? Даже тут на форуме кусков змп\скриптовых сорцев было дадено друг другу на порядки больше, чем экзешников.

vasketsov писал(а):
Parasite писал(а):проект USD ... помогите перестало работать ААААААА!!!

Там у плагинов нет возможности параметрического программирования. Так что в приложении к сасу это было бы равносильно запихиванию всех параметров в код плагина (и воплям "АААААА" при любой смене версии). А предлагается с точностью до наоборот.

Если под "возможностью параметрического программирования" подразумевались возможности менять какие-то мелкие настройки конкретно плагинов - то таки ДА, это там есть. И даже сорц планина можно попросить, до кучи с описанием АПИ (и, удивительно - получить оные). Плюс даже ГУЙ свой нарисовать в отдельном плагине....но почему-то из всей кучи народу авторов плагинов там было ровно три штуки (из них один - собственно проджект-стартер), а остальные просто ноют в каментах.
То же самое будет и тут.

vasketsov писал(а):Вопрос же не только в скорости, но и просто в конструктивных ограничениях. Например, ОС реализует какую-нибудь возможность через функцию обратного вызова. Скрипты либо курят бамбук, либо это всё до последнего байта ложится в программу.

Не в программу, а в скрипт (и модули\приблуды к выбранному скриптоязыку - кои приблуды крайне часто и сами по себе скрипты, смотри например .pm к Перлу). Возможность юзать новую конкретную фичу будет на совести автора плагина, а не автора САСа как я понимаю, плагинописатели захотят - извернутся и сделают, так что не надо раскачивать лодку имхо. Мы же обсуждаем тут сами плагины - а не движок оных (который обязан быть и быстрым - читай "прекомпиленным", и дружить с системой на 101% - но это уже совершенно другая тема. Как тот прекомпиленный Апач из примера выше, да).

PS: чтобы не плодить ненужных букавак в очередной раз - сделал голосовалку в шапке. Приобщаемся, господа.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение

За это сообщение автора Parasite поблагодарил:
gpsMax (21 июн 2011, 11:13)
Рейтинг: 5.26%
 
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Вопросы по плагинам

Сообщение Shurik » 21 июн 2011, 10:11

По-хорошему должно быть и то и другое. Например, как обычне плагины в DLL плюс плагины-обвязки к скриптам на нужных языках.
Аватара пользователя
Shurik
Постигающий Дао
 
Сообщения: 209
Зарегистрирован: 26 май 2010, 00:07
Благодарил (а): 12 раз.
Поблагодарили: 57 раз.

Re: Вопросы по плагинам

Сообщение zed » 21 июн 2011, 10:26

Parasite писал(а):1. Скачать (только скачать) - да, не сложнее. А дальше? Он, скачанный, самостоятельно подкачает все нужные компоненты, сконфигурит всё и вся, и начнет генерить няшные ДЛЛки? А если не сам - то это всё предстоит делать именно Васе Пупкину из третьего подьезда. А я крайне и крайне сомневаюсь, что он это сможет сделать - зато более чем уверен, что с этой просьбой он придет именно сюда.

Из статистики ночной сборки САСа (размеры приведены для уже распакованных папок (не архивы)):
- Компилятор делфи 2007 = 74 Мб (установка не требуется)
- Компоненты для САС = 76 Мб (с учётом папки репозитория ".hg")
- Сорцы САС = 15 Мб (с учётом папки репозитория ".hg")
- Пара батников < 1 Мб
Итого, для компиляции САСа нужно менее 200Мб дискового пространства + один раз кликнуть по батнику. Так что, если юзера устраивает вариант мелкой правки сорцов в Блокноте, то телодвижений ему надо совершить не более чем со скриптами.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Вопросы по плагинам

Сообщение Parasite » 21 июн 2011, 10:45

zed писал(а):Компилятор делфи 2007 = 74 Мб (установка не требуется)

Коммерческий?

zed писал(а):Итого, для компиляции САСа нужно менее 200Мб дискового пространства + один раз кликнуть по батнику. Так что, если юзера устраивает вариант мелкой правки сорцов в Блокноте, то телодвижений ему надо совершить не более чем со скриптами.

Для "компиляции" совершенно нового скрипта при наличии уже собранного САСа (4Мб) не нужно вообще ничего дополнительного, кроме как создать новый документ в Блокноте. Я уж молчу про "поправить готовый уже имеющийся и нормально работавший до этого".

Ладно, дадим фору: при наличии уже собранного САСа (4Мб)+скриптовода в ее составе (еще + ~3Мб). :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Вопросы по плагинам

Сообщение Parasite » 21 июн 2011, 11:00

Кстати, вот тут уже было мнение типичнейшего хомяка про минимальную сборку всего и вся через аналог "1 раз кликнуть по батнику".
Имхо дальше будет только хуже, бо сборка бинарей - немного более бОльший порн, особенно если что-то где-то накодено не так, еррорит на непонятном языке противника и не линкуется в итоге. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Вопросы по плагинам

Сообщение vdemidov » 21 июн 2011, 11:04

Хорош флудить.
То что плагины будут в виде DLL это факт.
И то что в обозримом будущем останутся zmp это тоже факт.
Вполне возможно, что появится возможность делать zmp без паскаль скрипта, а с указанием плагина генерации урлов.
После этого, возможно, паскаль скрипт станет просто одним из плагинов такого типа, тоесть будет отдельная dll, которая будет обеспечивать генерацию урлов при помощи паскаль скриптов.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по плагинам

Сообщение Parasite » 21 июн 2011, 11:24

vdemidov писал(а):То что плагины будут в виде DLL это факт.

Угу. Только судя по голосовалке вон - народу-то нужно совершенно противоположное.
Не оценят-сс. Пора назначить ответственного по тарелочкам по темам "Памагити плогин ни работает!!!" в багтреккере, ибо спихнуть по типу "Открой Винзипом и поправь 1 цифирку" уже не проканает. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Вопросы по плагинам

Сообщение vdemidov » 21 июн 2011, 11:30

Parasite писал(а):Угу. Только судя по голосовалке вон - народу-то нужно совершенно противоположное.

Ты знаешь это именно тот случай когда мне глубо фиолетово, что хочется народу. Я уже много раз повторял и повторю еще раз. Я пишу прогу для себя и своего интереса. Переделываю так как считаю нужным. Кому не нравится то что я делаю, или идут лесом, или присоединяются и начинают потихоньку реализовывать свои идеи как это делает Zed
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по плагинам

Сообщение Parasite » 21 июн 2011, 11:49

vdemidov писал(а):мне глубо фиолетово, что хочется народу.

Отличный девиз для проекта.
Но....."Ты в ответе за всех, кого приручил" ©

vdemidov писал(а):и начинают потихоньку реализовывать свои идеи

На настоящий момент реализация своих идей называется "костылями к сасу".
Лично у меня их 418 штук\190Мб в папочке. Я не требую чтобы кто-то взялся их решать исключительно для меня - всё нужное себе я давно к сасу "прикостылил" с помощью той или иной порнографии разной степени извращенности, либо плюнул и написал свои аналоги.

Единственное побуждение меня любимого при обсуждении в этой конкретной теме - это развитие проекта в сторону пользователя (кем я и являюсь, и по возможности вставляю свои 5 копеек именно с этой стороны окопа), а не разработчика (кем я не являюсь, и посему плагины в ДЛЛ мне как собаке Жучке - пятая нога). Смысл спрашивать за хотелки у пользователей в чем тогда вообще - если "глубо фиолетово, что хочется народу"? Прикрыть раздел хотелок, да и дело с концом...? ;)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Пред.След.

Вернуться в Раздел для разработчиков программы SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2