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

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

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

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

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

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

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

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

Или что-то случилось, или одно из двух.

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

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

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

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

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

Подключаем Оптический гигабитный интернет в Симферополе и районе.
+79787647406
http://lugovoe.su

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

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

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

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

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

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

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


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

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

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

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

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

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

Или что-то случилось, или одно из двух.

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

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

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

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


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

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

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

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

Или что-то случилось, или одно из двух.

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

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

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

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

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

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


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

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

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

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

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

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

Подключаем Оптический гигабитный интернет в Симферополе и районе.
+79787647406
http://lugovoe.su

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

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

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

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

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

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

Или что-то случилось, или одно из двух.

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

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

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

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

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

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

Или что-то случилось, или одно из двух.

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

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

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

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

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

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

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

Подключаем Оптический гигабитный интернет в Симферополе и районе.
+79787647406
http://lugovoe.su

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

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

  • Живу здесь
  • PipPipPipPipPip
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Активный участник
  • Сообщений: 709
  • Регистрация: 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
  • Перейти к галерее
  • Вставить ник
  • Цитировать
  • Раскрыть информацию
  • Группа: Старая гвардия
  • Сообщений: 12 540
  • Регистрация: 16 сентября 10
  • Страна:  

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

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

Или что-то случилось, или одно из двух.

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

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

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

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

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

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


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

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

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

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

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

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

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

"Конец России хотели бы увидеть многие, но пока его удается только подержать за щекой…!" (с)

Изображение

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

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

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

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

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

Или что-то случилось, или одно из двух.

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Или что-то случилось, или одно из двух.

#19 Пользователь онлайн   CIBAS 

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

Отправлено 15 декабря 2020 - 12:35

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

Собственно вопрос:
На чём сейчас "модно" писать программки под Вин для десктопа?
Задачи чисто технические - обмен по COM портам, обмен по TCP/UDP,
простенький интерфейс (кнопочки, поля ввода/редактирования) без наворотов.


#20 Пользователь офлайн   Iverton 

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

Отправлено 22 декабря 2020 - 22:17

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


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


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

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