Движок сайта на LabVIEW для apache 2.2 linux
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 окт 2014, 10:35
- Версия LabVIEW: 2010 linux
- Контактная информация:
Движок сайта на LabVIEW для apache 2.2 linux
Добрый день.
Занимаюсь программированием в различных сферах, как по работе, так и для собственного удовольствия. Знакомство с LabVIEW произошло на работе, где требовалась разработка алгоритмов потоковой обработки биофизических данных. Сейчас предполагаю язык G очень удобным и наглядным для проектирования CGI приложений.
В общем-то решил я реализовать движок сайта, типа microText на LabVIEW. Для создания CGI приложения потребовалось написать маленький мостик на GNU C++, который подключает скомпилированную в LabVIEW Shared Library, передавая слегка переработанные параметры в функцию библиотеки, эти параметры являются аргументами CGI (argc, argv, envp).
Исходник моста для библиотек LabVIEW к серверу apache 2.2 прилагаю, так же как и програмку, которая при помощи моста выбрасывает аргументы CGI в браузер написанную на LabVIEW.
Так вот, хочу услышать адекватную критику реализации моей идеи, с целью ее доработки,переработки.
Для компиляции моста под linux с данным примером нужно положить cgi.c рядом с скомпилированной библиотекой (вызываемая функция должна называться TestCGI, задаётся в Application Builder'е, так же должна стоять галочка, добавляющая файлы extcode.h в папку, компилированная библиотека должна называться env.so). Далее в консоли написать: gcc cgi.c -o TestCGI.cgi ./env.so -L /usr/local/natinst/LabVIEW-2010/AppLibs/liblvrtdark.so.10.0.0 . Это соберёт файл TestCGI.cgi, которую можно будет использовать веб сервером Apache.
Занимаюсь программированием в различных сферах, как по работе, так и для собственного удовольствия. Знакомство с LabVIEW произошло на работе, где требовалась разработка алгоритмов потоковой обработки биофизических данных. Сейчас предполагаю язык G очень удобным и наглядным для проектирования CGI приложений.
В общем-то решил я реализовать движок сайта, типа microText на LabVIEW. Для создания CGI приложения потребовалось написать маленький мостик на GNU C++, который подключает скомпилированную в LabVIEW Shared Library, передавая слегка переработанные параметры в функцию библиотеки, эти параметры являются аргументами CGI (argc, argv, envp).
Исходник моста для библиотек LabVIEW к серверу apache 2.2 прилагаю, так же как и програмку, которая при помощи моста выбрасывает аргументы CGI в браузер написанную на LabVIEW.
Так вот, хочу услышать адекватную критику реализации моей идеи, с целью ее доработки,переработки.
Для компиляции моста под linux с данным примером нужно положить cgi.c рядом с скомпилированной библиотекой (вызываемая функция должна называться TestCGI, задаётся в Application Builder'е, так же должна стоять галочка, добавляющая файлы extcode.h в папку, компилированная библиотека должна называться env.so). Далее в консоли написать: gcc cgi.c -o TestCGI.cgi ./env.so -L /usr/local/natinst/LabVIEW-2010/AppLibs/liblvrtdark.so.10.0.0 . Это соберёт файл TestCGI.cgi, которую можно будет использовать веб сервером Apache.
- Вложения
-
- env.vi
- Исходник библиотеки (LabVIEW 2010 для linux)
- (9.72 КБ) 435 скачиваний
-
- cgi.c
- Исходник CGI моста
- (699 байт) 409 скачиваний
-
Pavel Krivozubov
- professor
- Сообщения: 4422
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Идея супер как мне кажется!
Не могли бы уважаемые пользователи линукс проверить это дополнение и написать отзыв?
Сам к сожалению не имею этой ОС.
Не могли бы уважаемые пользователи линукс проверить это дополнение и написать отзыв?
Сам к сожалению не имею этой ОС.
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 окт 2014, 10:35
- Версия LabVIEW: 2010 linux
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Могу выложить ссылку на рабочий CGI крутящийся на Apache, если тут всё не очевидно. Кстати, в первом посте имеется ошибочка, вызываемая функция должна называться CallCGI, так как в файле cgi.c вызывается именно она, так же в файле cgi.c подтягивается TestCGI.h, если библиотека будет называться env.so, то .h файл следует заменить на env.h.Pavel Krivozubov писал(а):Идея супер как мне кажется!
Не могли бы уважаемые пользователи линукс проверить это дополнение и написать отзыв?
Сам к сожалению не имею этой ОС.
Через 4 часа поднимется домен, http://lvcgibridge.tk/ - тут будет лежать рабочий пример. Если перейти http://lvcgibridge.tk/TestCGI.cgi , то запустится CGI, http://lvcgibridge.tk/TestCGI.cgi - скриншот исходника библиотеки.
Последний раз редактировалось Данил 22 окт 2014, 07:48, всего редактировалось 1 раз.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
0. отсутствует TestCGI.h
мне не совсем понятна идея. Позволю предположить:
1.
2. Запускать LabVIEW код в качестве CGI? Представленный код должен работать как proof-of-concept, при нежелании использовать Web Services из-под Windows.
Но даже после выправки стиля, устранения очевидных ошибок и недоработок с-шного кода я бы не стал использовать такое решение для коммерческого устройства:
сложно отлаживать, протоколировать, поддерживать. Среди прочего, видимо, придется писать какой-то некий framework (типа web services) на LabVIEW. Как Вы планируете масштабировать решение для работы в качестве fcgi?
Изложите Вашу идею подробнее.
мне не совсем понятна идея. Позволю предположить:
1.
у microText основная изюминка, если я правильно понял, это использование простого API и шаблонов на php. Собираетесь ли Вы предоставить такого типа API в LabVIEW? Рассматривали ли Вы Internet Toolkit для LV под Linux?реализовать движок сайта, типа microText на LabVIEW
2. Запускать LabVIEW код в качестве CGI? Представленный код должен работать как proof-of-concept, при нежелании использовать Web Services из-под Windows.
Но даже после выправки стиля, устранения очевидных ошибок и недоработок с-шного кода я бы не стал использовать такое решение для коммерческого устройства:
сложно отлаживать, протоколировать, поддерживать. Среди прочего, видимо, придется писать какой-то некий framework (типа web services) на LabVIEW. Как Вы планируете масштабировать решение для работы в качестве fcgi?
Изложите Вашу идею подробнее.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 окт 2014, 10:35
- Версия LabVIEW: 2010 linux
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
А в чём сложность собственно, это обычная Shared Library написанная на LabVIEW?mzu2006 писал(а):0. отсутствует TestCGI.h
мне не совсем понятна идея. Позволю предположить:
1.у microText основная изюминка, если я правильно понял, это использование простого API и шаблонов на php. Собираетесь ли Вы предоставить такого типа API в LabVIEW? Рассматривали ли Вы Internet Toolkit для LV под Linux?реализовать движок сайта, типа microText на LabVIEW
2. Запускать LabVIEW код в качестве CGI? Представленный код должен работать как proof-of-concept, при нежелании использовать Web Services из-под Windows.
Но даже после выправки стиля, устранения очевидных ошибок и недоработок с-шного кода я бы не стал использовать такое решение для коммерческого устройства:
сложно отлаживать, протоколировать, поддерживать. Среди прочего, видимо, придется писать какой-то некий framework (типа web services) на LabVIEW. Как Вы планируете масштабировать решение для работы в качестве fcgi?
Изложите Вашу идею подробнее.
Про fcgi, fcgi - FastCGI, вы об этом? Если да, то тут об этом вообще пока речи нет, пока моя проблема в том, что являюсь обладателем LabVIEW 2010 32bit, а сервер, который в моём доступе имеет ядро am64, и крутить 32-битные библиотеки, кроме как через CGI мост я не могу. Если масштабировать этот проект, то проще, наверное, будет написать модуль для apache, который будет перерабатывать "html" шаблоны со вставками, в конечный html подключая библиотеку-движок написанную на LabVIEW.
LabVIEW internet toolkit стоит денег, на сколько я понимаю. Так же, не очень понимаю, позволяет ли этот тулкит использовать сторонний http сервер.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Движок сайта на LabVIEW для apache 2.2 linux
Эксперты меня, возможно, поправят, но, имхо, лицензионный ключ действует на обе версии и 32 и 64 разрядную...являюсь обладателем LabVIEW 2010 32bit
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 окт 2014, 10:35
- Версия LabVIEW: 2010 linux
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Очень буду рад если, но дистрибутив на CD у меня для x86, найти сторонний я не смог. У меня вообще сомнения о его существовании для am64. Может кто хоть подскажет, существует ли?Borjomy_1 писал(а):Эксперты меня, возможно, поправят, но, имхо, лицензионный ключ действует на обе версии и 32 и 64 разрядную...являюсь обладателем LabVIEW 2010 32bit
Давайте о недоработках подробнее, можно тут же все поправить, если Вам кажется, что можно предложить более рациональный способ стыковки типов данных. Единственное, что я заметил, так это отсутствие отработки ошибки в случае, если ОС не выделит память во время наращивания ReturnCollector'a.mzu2006 писал(а):0. отсутствует TestCGI.h
2. Запускать LabVIEW код в качестве CGI? Представленный код должен работать как proof-of-concept, при нежелании использовать Web Services из-под Windows.
Но даже после выправки стиля, устранения очевидных ошибок и недоработок с-шного кода я бы не стал использовать такое решение для коммерческого устройства:
сложно отлаживать, протоколировать, поддерживать. Среди прочего, видимо, придется писать какой-то некий framework (типа web services) на LabVIEW. Как Вы планируете масштабировать решение для работы в качестве fcgi?
Кстати, для моего провайдера домен http://lvcgibridge.tk/ уже заработал.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Движок сайта на LabVIEW для apache 2.2 linux
Все дистрибутивы доступны на сайте NI.Очень буду рад если, но дистрибутив на CD у меня для x86
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 окт 2014, 10:35
- Версия LabVIEW: 2010 linux
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Спасибо, попробую поискать, надеюсь их можно скачать без регистрационных данных, которые скорее всего были 10 раз потеряны моим работодателем.Borjomy_1 писал(а):Все дистрибутивы доступны на сайте NI.Очень буду рад если, но дистрибутив на CD у меня для x86
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Прежде чем править код, изложите, пожалуйста, вкратце идею. Что хочется сделать? Потом обсудим как. И только уже потом как конкретно (код).
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Движок сайта на LabVIEW для apache 2.2 linux
Без регистрации не получится, но сама регистрация - ничего особенного, не больше данных, чем на новый почтовый ящик.Спасибо, попробую поискать, надеюсь их можно скачать без регистрационных данных, которые скорее всего были 10 раз потеряны моим работодателем.
-
- beginner
- Сообщения: 27
- Зарегистрирован: 20 окт 2014, 10:35
- Версия LabVIEW: 2010 linux
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Не смог найти версии для linuxBorjomy_1 писал(а):Без регистрации не получится, но сама регистрация - ничего особенного, не больше данных, чем на новый почтовый ящик.Спасибо, попробую поискать, надеюсь их можно скачать без регистрационных данных, которые скорее всего были 10 раз потеряны моим работодателем.
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Pavel Krivozubov, а в чем этот супер заключается,позвольте по-любопытствовать?Идея супер как мне кажется!
Да,таких "финтов" с участием LabVIEW не было(и это естественно в силу здравых рассуждений). Убежден, что инженеры/программисты(LabVIEW,С/C++,Java,HDL и тд) такими идеями вообще не заморачивались. И это нисколько не умоляет нашу квалификацию как разработчиков ПО. Нет,ну правда,ребят?
Данил, не обижайтесь пожалуйста, но Ваши идеи - напоминают плод больной фантазии. Что с компилятором(транслятором),что с движком. Вы намеренно не хотите думать на 2 шага вперед.
Возможно,Вы добьётесь определенных результатов в реализации...Но,позвольте!?Зачем создавать заведомо "кривое" решение,которое без "костылей" двигаться не сможет!Описывать его недостатки+урезанный функционал,а этого добра будет на порядок больше,чем у аналогичных решений,выполненных в спец.средах.
После нескольких месяцев запила собственного компилятора и движка сайта Вам станет скучно...и возникнет у Вас идея создать какую-нибудь игруху аркадную или шутер в LabVIEW(Snake уже есть,а че бы CS не запилить или танки...начнете как раз с реализации движка в LabVIEW...ну или хотя бы какую-нибудь часть - но в LabVIEW).
Подобные идеи извращают представление о LabVIEW в целом.
ЗЫ:"Взять кредит в России - это как обос**ться на морозе - сперва даже тепло".Точно также будет с написанием движка сайта на LabVIEW и компилятора/транслятора LabVIEW-диаграмм.
Да простит меня Pavel Krivozubov.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
Pavel Krivozubov
- professor
- Сообщения: 4422
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
По моему чем больше будет разных аспектов применения LabVIEW, пусть даже на первый взгляд кажущихся странными и выбивающимися от некой "нормы" - тем лучше.
Вспомните, что сама LabVIEW в некоторой степени отличается от "нормы", которую "нарисовали" в своих головах разного рода традиционалисты от программирования.
По этому я всегда приветствую разного рода дополнения и расширения возможностей LabVIEW, пусть даже самые фантастичные на первый взгляд.
Вспомните, что сама LabVIEW в некоторой степени отличается от "нормы", которую "нарисовали" в своих головах разного рода традиционалисты от программирования.
По этому я всегда приветствую разного рода дополнения и расширения возможностей LabVIEW, пусть даже самые фантастичные на первый взгляд.
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Движок сайта на LabVIEW для apache 2.2 linux
Pavel Krivozubov,
Ведь,по-большому счету, LabVIEW можно использовать абсолютно везде. Вопрос лишь здравого смысла...
А можно пойти другим путем и получится как в той песне: "Я его слепила из того что было...".
Это справедливо,но в погоне за количеством легко теряется качество.Об этом речь. А LabVIEW и NI - не сторонники НЕ качественного продукта. Даже если LabVIEW задействовано на 5-10%.Маркетинг сейчас в сторонуПо моему чем больше будет разных аспектов применения LabVIEW, пусть даже на первый взгляд кажущихся странными и выбивающимися от некой "нормы" - тем лучше.
Ведь,по-большому счету, LabVIEW можно использовать абсолютно везде. Вопрос лишь здравого смысла...
Согласен. Однако,лет за 50 в программировании сформировались определенные нормы и правила(это не имеет отношение к форме представления языка...графический он или текстовый).Это формируют мышление программиста.Есть инструмент,с помощью которого поставленная задача вполне себе эффективно решается.LabVIEW в некоторой степени отличается от "нормы", которую "нарисовали" в своих головах разного рода традиционалисты от программирования.
А можно пойти другим путем и получится как в той песне: "Я его слепила из того что было...".
Я тоже Вот тулкит для CUDA - это расширение возможностей LabVIEW. А микродвижок для сайта(в перспективах глючный и реально микро),зато при участии LabVIEW - имхо, не из той оперы.По этому я всегда приветствую разного рода дополнения и расширения возможностей LabVIEW
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение