Перейти к содержанию
Симферопольский Форум

Тру программистам вопрос


FreeLSD

Рекомендуемые сообщения

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

Это вообще реально в какой-то степени или чистая фантазия?

Или что-то случилось, или одно из двух.
Ссылка на комментарий
Поделиться на другие сайты

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

 

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

Подключаем Оптический гигабитный интернет в Симферополе и районе.

+79787647406

http://lugovoe.su

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

Мешает огромное количество вариантов :)

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

Этапы работы программы:

1. Создание структуры для сбора данных (статический);

2. Запуск выбранного количества экземпляров тестируемого приложения;

3. Запуск в каждом экземпляре индивидуального сценария, сформированного из настроек (динамический);

4. После завершения работы всех сценариев загрузка собранных данных для анализа (статический).

 

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

Или что-то случилось, или одно из двух.
Ссылка на комментарий
Поделиться на другие сайты

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

в последнем посте видно нежелание автора этот код написать, т.к. решение должно само создавать всё что хочется автору ))

Ссылка на комментарий
Поделиться на другие сайты

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

Формулирую вопрос по-другому:

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

Или что-то случилось, или одно из двух.
Ссылка на комментарий
Поделиться на другие сайты

Формулирую вопрос по-другому:

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

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

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

Этот скрипт операционки дергается веб-сервером, полученный исполняемый файл выдается в http-ответе

P.S. нужно таки начинать с типа скрипта, кто его исполняет

Ссылка на комментарий
Поделиться на другие сайты

1. Создание структуры для сбора данных (статический);

2. Запуск выбранного количества экземпляров тестируемого приложения;

3. Запуск в каждом экземпляре индивидуального сценария, сформированного из настроек (динамический);

4. После завершения работы всех сценариев загрузка собранных данных для анализа (статический).

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

Подключаем Оптический гигабитный интернет в Симферополе и районе.

+79787647406

http://lugovoe.su

Ссылка на комментарий
Поделиться на другие сайты

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

Что касается

языка, код которого был сгенерирован.

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

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

Итак, полный алгоритм:

 

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

Программа запускает несколько экземпляров другой программы, передавая им в параметре командной строки созданные ранее каталоги с настройками (то есть это выполнение команды Windows, по сути).

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

 

Я так понимаю, на это вообще любой язык способен. Остаются только требования:

- исполняемый файл должен создаваться на стороне веб-сервера;

- работать должен под виндой;

- не должен в готовом виде требовать для работы установки дополнительных компонентов и приложений, разве что что-нибудь совсем стандартное;

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

Или что-то случилось, или одно из двух.
Ссылка на комментарий
Поделиться на другие сайты

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

 

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

 

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

 

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

Подключаем Оптический гигабитный интернет в Симферополе и районе.

+79787647406

http://lugovoe.su

Ссылка на комментарий
Поделиться на другие сайты

Из того что я понял, думаю что вы можете генерировать powershell код на сервере .... затем конвертировать его в ехе и отдавать клиенту.

Недостаток: требуются права клиента на выполнение PShell (set-executionpolicy unrestricted), можно удалённо разрешить.

Собственно запуск exe тоже требует прав.

P.s. И кроме того выучите совсем не бесполезный PowerShell.

P.p.s. Собственно это тот же вариант Windows Script Host предложенный Пэтро. "Файлы будут в виде исходного кода соответственно" не обязаткльно, у WSH можно зашифровать файлы. Они будут исполнятся как скрипт, но тело скрипта будет зашифрованно (нечитабельно). С правами таже песня, нужны :)

Confederation
Ссылка на комментарий
Поделиться на другие сайты

Ну права - это понятно. Буду пробовать в этом направлении, спасибо.
Или что-то случилось, или одно из двух.
Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

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

Интересно, получилось что-то?

Как по мне, то такие вещи легко пишутся на любом языке программирования, который ты хорошо знаешь.

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

Ссылка на комментарий
Поделиться на другие сайты

Формулирую вопрос по-другому:

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

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

 

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

- Что они хотят? 
- Ку они хотят…

Ссылка на комментарий
Поделиться на другие сайты

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

 

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

Или что-то случилось, или одно из двух.
Ссылка на комментарий
Поделиться на другие сайты

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

Проясните, пожалуйста, что значит "нативный" в контексте 1С?

Обработка может работать в Винде без платформы 1С?

 

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

Цель и была сделать ее работоспособной без 1с, но

на себя нам времени жалко

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

  • 4 года спустя...

Дабы не открывать новую тему задам вопросик тут.

С предыдущими постами вопрос не связан, просто название темы располагает ...

 

Собственно вопрос:

На чём сейчас "модно" писать программки под Вин для десктопа?

Задачи чисто технические - обмен по COM портам, обмен по TCP/UDP,

простенький интерфейс (кнопочки, поля ввода/редактирования) без наворотов.

Ссылка на комментарий
Поделиться на другие сайты

так на чем хотите на том и пишите ) ну из того на чем под десктоп пишут, используйте правильные библиотеки под свои запросы )

например c++, с#, java

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

Чат

Чат

Please enter your display name

×
×
  • Создать...