Симферопольский Форум: Тру программистам вопрос - Симферопольский Форум

Перейти к содержимому

Внимание! Для всех новых пользователей введена премодерация сообщений и тем.
Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Тру программистам вопрос по "настоящим" (компилируемым) языкам

#1 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 04 Август 2016 - 17:02

Будучи тупым одинэсником, как-то всю жизнь работал с интерпретаторами и скриптами. А тут появилась одна потребность, но для этого нужно создавать "настоящий" экзешник, который не требует установки кучи софта для работы. При этом экзешник будет состоять из "постоянной" части и "переменной", содержимое которой будет зависеть от предварительно заданных условий. Создавать он должен автоматически: зашел в систему, выбрал опции, получил в ответ готовую утилиту. Ручное вмешательство ("make" и т.п. :) ) исключено. Работа по схеме "экзешник + файл со сценарием" нежелательна. Алгоритм создания "переменной" части - моя забота. Т.е. что бы я хотел: в некий шаблон дописывается переменная часть и все это оформляется в конечный исполняемый файл, не требующий дополнительных библиотек и приложений для работы. Схема работы может быть такая: пользователь зашел на сайт, понаставил там флажков в настройках, получил готовый файл, запустил и радуется.
Это вообще реально в какой-то степени или чистая фантазия?

Со временем всё будет хорошо. А вот с нами всякое может случиться...

#2 Пользователь офлайн   Пэтро 

  • Рублю
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 4 237
  • Регистрация: 15 Сентябрь 10
  • Сказали спасибо раз:
  • ГородЛуговое
  • Страна:  

Отправлено 04 Август 2016 - 18:57

Надо больше исходных данных. Что делает программа? Обращается к файлам? Рисует? ) Работает с устройствами?

Теоретически простые функции можно сделать на JScript VBScript

Подключаем Оптический гигабитный интернет в Луговом, Строгановке, Денисовке, Битаке, Гурзуфской, Лермонтова, Куйбышева.
+79787647406

Поблагодарили: 1

#3 Пользователь онлайн   Schwein 

  • –· ·– ···· ··– ·––– ··––··
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Модераторы
  • Сообщений: 14 868
  • Регистрация: 15 Сентябрь 10
  • Сказали спасибо раз:

Отправлено 04 Август 2016 - 19:09

Просмотр сообщенияFreeLSD сказал:

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

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


Поблагодарили: 1

#4 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 04 Август 2016 - 21:02

Мешает огромное количество вариантов :)
Прормамма представляет собой сценарное тестирование. Настройки - произвольное количество строк, каждая строка соответствует экземпляру тестируемой программы, настройки - имя пользователя, пароль, место запуска, характер производимых действий, интервал, количество повторений и т.д. и т.п.
Этапы работы программы:
1. Создание структуры для сбора данных (статический);
2. Запуск выбранного количества экземпляров тестируемого приложения;
3. Запуск в каждом экземпляре индивидуального сценария, сформированного из настроек (динамический);
4. После завершения работы всех сценариев загрузка собранных данных для анализа (статический).

Сценарий из настроек сформировать не проблема, проблема в том, что в нем будут совсем произвольные части и объем его составит десятки строк. Перебор готовых вариантов тут никак не поможет.

Со временем всё будет хорошо. А вот с нами всякое может случиться...

#5 Пользователь офлайн   Pepper 

  • Живу здесь
  • PipPipPipPipPip
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 434
  • Регистрация: 17 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 04 Август 2016 - 21:19

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


#6 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 04 Август 2016 - 21:47

Ответ неверный. Решение у меня уже есть, но оно работает в виде обработки 1с. Меня этот вариант вполне устраивает, на мой взгляд, вышло универсальней и, что характерно, дешевле того, что сами 1с предлагают. Следующий этап - довести решение до продакшн варианрта. Изначально я хотел автоматически создавать именно готовую обработку 1с, как стандартное все таки решение, но быстро выяснилось, что 1с этого не умеет, а использование недокументированных возможностей - просто способ получить нерабочее решение после очередного релиза платформы. Поэтому стал думать в сторону экзешника, а не epfника. И вот тут главное препятствие, что я не имею представления о современном состоянии зоопарка серверных языков для автоматической компиляции полученного скрипта. А то бы и спрашивать было не о чем.
Формулирую вопрос по-другому:
назовите, чем бы вы воспользовались для автоматического получения экзешника из сгенерированного (неважно чем и каким способом) кода.

Со временем всё будет хорошо. А вот с нами всякое может случиться...

#7 Пользователь офлайн   Pepper 

  • Живу здесь
  • PipPipPipPipPip
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 434
  • Регистрация: 17 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 04 Август 2016 - 22:01

Просмотр сообщенияFreeLSD (04 Август 2016 - 21:47) писал:

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

компилятором того языка, код которого был сгенерирован. Не важно чем код сгенерирован, важно что получилось на выходе генератора
грубо говоря берете команду, которая при выполнении из командной строки создает исполняемый файл из Вашего скрипта - и записываете ее в скрипт операционки где крутится веб-сервер - *.bat или *.ps1 для виндовс, что-то другое на выбор для линукс.
Этот скрипт операционки дергается веб-сервером, полученный исполняемый файл выдается в http-ответе
P.S. нужно таки начинать с типа скрипта, кто его исполняет


#8 Пользователь офлайн   Пэтро 

  • Рублю
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 4 237
  • Регистрация: 15 Сентябрь 10
  • Сказали спасибо раз:
  • ГородЛуговое
  • Страна:  

Отправлено 04 Август 2016 - 23:08

Просмотр сообщенияFreeLSD сказал:

1. Создание структуры для сбора данных (статический);
2. Запуск выбранного количества экземпляров тестируемого приложения;
3. Запуск в каждом экземпляре индивидуального сценария, сформированного из настроек (динамический);
4. После завершения работы всех сценариев загрузка собранных данных для анализа (статический).

есть пример? или скриншот?

Подключаем Оптический гигабитный интернет в Луговом, Строгановке, Денисовке, Битаке, Гурзуфской, Лермонтова, Куйбышева.
+79787647406

#9 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 05 Август 2016 - 10:12

Есть рабочая обработка для 1с. Соответственно, код на метаязыке 1С :) Не уверен, что он что-то прояснит сверх того, что уже. Если интересно, выложу.
Что касается

Просмотр сообщенияPepper сказал:

языка, код которого был сгенерирован.
, то тут, как говорил выше, две части: 1 часть написана неважно на чем, вот с этим я и хочу определиться. Это просто "обертка", там код будет не сильно сложней "hello world", его задача - создать несколько dbf файлов для сбора данных и запустить другое приложение с параметром командной строки.

Со временем всё будет хорошо. А вот с нами всякое может случиться...

#10 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 05 Август 2016 - 10:42

Подумал тут и переформулировал задачу. Надеюсь, упростил :)
Итак, полный алгоритм:

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

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

Со временем всё будет хорошо. А вот с нами всякое может случиться...

#11 Пользователь офлайн   Пэтро 

  • Рублю
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 4 237
  • Регистрация: 15 Сентябрь 10
  • Сказали спасибо раз:
  • ГородЛуговое
  • Страна:  

Отправлено 05 Август 2016 - 11:17

Все это можно сделать на HTML Applications или Windows Script Host.

Такие же интерпретируемые языки. В Windows работающие нативно.

Файлы будут в виде исходного кода соответственно.

Не пользовались Driver pack solution ? Он как раз отличный пример.

Подключаем Оптический гигабитный интернет в Луговом, Строгановке, Денисовке, Битаке, Гурзуфской, Лермонтова, Куйбышева.
+79787647406

Поблагодарили: 1

#12 Пользователь офлайн   AnatoliZ 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Активный участник
  • Сообщений: 497
  • Регистрация: 21 Июль 11
  • Сказали спасибо раз:
  • ГородСимферополь
  • Страна:  

Отправлено 05 Август 2016 - 11:27

Из того что я понял, думаю что вы можете генерировать powershell код на сервере .... затем конвертировать его в ехе и отдавать клиенту.
Недостаток: требуются права клиента на выполнение PShell (set-executionpolicy unrestricted), можно удалённо разрешить.
Собственно запуск exe тоже требует прав.
P.s. И кроме того выучите совсем не бесполезный PowerShell.
P.p.s. Собственно это тот же вариант Windows Script Host предложенный Пэтро. "Файлы будут в виде исходного кода соответственно" не обязаткльно, у WSH можно зашифровать файлы. Они будут исполнятся как скрипт, но тело скрипта будет зашифрованно (нечитабельно). С правами таже песня, нужны :)

Confederation

Поблагодарили: 1

#13 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 05 Август 2016 - 12:23

Ну права - это понятно. Буду пробовать в этом направлении, спасибо.

Со временем всё будет хорошо. А вот с нами всякое может случиться...

#14 Пользователь офлайн   BenTen 

  • Mega poster
  • PipPipPipPip
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Активный участник
  • Сообщений: 111
  • Регистрация: 10 Июль 13
  • Сказали спасибо раз:
  • ГородСимферополь

Отправлено 27 Октябрь 2016 - 11:18

Просмотр сообщенияFreeLSD (05 Август 2016 - 12:23) писал:

Ну права - это понятно. Буду пробовать в этом направлении, спасибо.

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


#15 Пользователь офлайн   Инквизитор 

  • Vexilla regis prodeunt inferni
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Модераторы
  • Сообщений: 10 780
  • Регистрация: 20 Сентябрь 10
  • Сказали спасибо раз:

Отправлено 27 Октябрь 2016 - 12:01

Просмотр сообщенияFreeLSD сказал:

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

HTML+javascript + обертыватель типа html2exe.

или собрать из готовых кусков виндовый же скрипт типа bat/cmd и засунуть в bat2exe

Форум скатывается в сраный аванет?

#16 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 27 Октябрь 2016 - 12:12

Тема отложена на неопределенный срок :pardon: А для внутреннего пользования всё отлично пашет в виде нативной внешней обработки 1С.

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

Со временем всё будет хорошо. А вот с нами всякое может случиться...

#17 Пользователь офлайн   BenTen 

  • Mega poster
  • PipPipPipPip
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Активный участник
  • Сообщений: 111
  • Регистрация: 10 Июль 13
  • Сказали спасибо раз:
  • ГородСимферополь

Отправлено 27 Октябрь 2016 - 12:47

Просмотр сообщенияFreeLSD (27 Октябрь 2016 - 12:12) писал:

пашет в виде нативной внешней обработки 1С.

Проясните, пожалуйста, что значит "нативный" в контексте 1С?
Обработка может работать в Винде без платформы 1С?

Просмотр сообщенияFreeLSD (27 Октябрь 2016 - 12:12) писал:

так что "для себя" не вижу смысла тратить время.

Вот так всегда, на себя нам времени жалко :rolleyes:


#18 Пользователь офлайн   FreeLSD 

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 7 936
  • Регистрация: 16 Сентябрь 10
  • Сказали спасибо раз:
  • Страна:  

Отправлено 27 Октябрь 2016 - 14:23

"Нативный" для платформы, т.е. достаточно одной таблетки внутренних средств 1С для работы - открыл, запустил, зажужжало )
Цель и была сделать ее работоспособной без 1с, но

Просмотр сообщенияBenTen сказал:

на себя нам времени жалко
, а больше никому вроде не нужно :pardon: Просто "для саморазвития" нет времени сейчас ковыряться. Да и потом, если у человека вызывает затруднение действие вида "Файл/Открыть" или нет рабочего аккаунта в системе, то, может, и не нужно ему такие инструменты давать? :acute:

Со временем всё будет хорошо. А вот с нами всякое может случиться...

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей