Re[3]: Простой скрипт внутри приложения (в виде строки)
От: _NN_ www.nemerleweb.com
Дата: 17.11.21 18:08
Оценка: +2
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, _NN_, Вы писали:


_NN>>PowerShell не подходит ?


НС>Тащить целиковый posh просто для вычисления простенького выражения? Камон, бро, это совсем уж аут оф здравый смысл. Если уж вот прям приспичило что то готовое — есть море небольших библиотек, ссылки на которые постят тут регулярно.


Сегодня выражение, завтра что-нибудь ещё понадобится.
Тут IronPython выше предлагали, он тоже немаленький.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: Простой скрипт внутри приложения (в виде строки)
От: Ночной Смотрящий Россия  
Дата: 17.11.21 18:13
Оценка:
Здравствуйте, _NN_, Вы писали:

НС>>Тащить целиковый posh просто для вычисления простенького выражения? Камон, бро, это совсем уж аут оф здравый смысл. Если уж вот прям приспичило что то готовое — есть море небольших библиотек, ссылки на которые постят тут регулярно.

_NN>Сегодня выражение, завтра что-нибудь ещё понадобится.

Или не понадобится. А какашку ты уже втащил, ее теперь поддерживать.

_NN>Тут IronPython выше предлагали, он тоже немаленький.


IronPython и CS script тащить — такой же бред.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 02:24
Оценка: 6 (1)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>IronPython и CS script тащить — такой же бред.


Почему нет? питон самый популярный язык на сегодня. легкий в изучении.
вообще не понятно конечно зачем ТС для соединения строк выполнение скриптов. Это же банальная интерполяция.
Проблема изначально в постановке задачи.
Нам известно что выражение хранится в текстовом поле.
если там написано: "'AAA' + 'BBBB'" то почему сразу не написать 'AAABBBB'?
если там написано: "$A + $B" где А и B некоторые переменные, то почему не использовать стандартный C# $"{A}{B}"?
если a и b поля таблицы то это вообще решается на уровне SQL.
В общем, ТС, АУ!
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[6]: Простой скрипт внутри приложения (в виде строки)
От: Ночной Смотрящий Россия  
Дата: 18.11.21 08:20
Оценка: +4 -1
Здравствуйте, vaa, Вы писали:

vaa>Почему нет?


Потому что тащить большой и тяжелый движок ради копеечной функциональности — с технической точки зрения безумие. Это как мешок картошки с дачи везти карьерным самосвалом на 200т.

vaa>если там написано: "$A + $B" где А и B некоторые переменные, то почему не использовать стандартный C# $"{A}{B}"?


Потому что правило может задаваться порльзователем, а не программистом.

vaa>если a и b поля таблицы то это вообще решается на уровне SQL.


И привет SQL injection?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 08:30
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:



НС>Потому что тащить большой и тяжелый движок ради копеечной функциональности — с технической точки зрения безумие. Это как мешок картошки с дачи везти карьерным самосвалом на 200т.

Все уже реализовано, но нам нужен свой велосипед.



НС>Потому что правило может задаваться порльзователем, а не программистом.


ТС четко указал конкатенация строк, какой еще пользователь?


НС>И привет SQL injection?

Почему нельзя использовать параметризацию? https://techcommunity.microsoft.com/t5/sql-server/dynamic-sql-amp-sql-injection/ba-p/383196
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[8]: Простой скрипт внутри приложения (в виде строки)
От: Ночной Смотрящий Россия  
Дата: 18.11.21 08:35
Оценка: +3
Здравствуйте, vaa, Вы писали:

НС>>Потому что тащить большой и тяжелый движок ради копеечной функциональности — с технической точки зрения безумие. Это как мешок картошки с дачи везти карьерным самосвалом на 200т.

vaa>Все уже реализовано, но нам нужен свой велосипед.

Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред.

НС>>Потому что правило может задаваться порльзователем, а не программистом.

vaa>ТС четко указал конкатенация строк, какой еще пользователь?

Который описывает формулу. ТС ничего не писал о том что формула статически фиксирована. И речь была не только про конкатенацию

Ну там конкатенация, добавление префикса, проверку на равенство строк и пр.

Это довольно частая задача — определение формулы вычисляемых полей пользователем.

НС>>И привет SQL injection?

vaa>Почему нельзя использовать параметризацию?

Потому что параметризация крайне ограничена по возможностям, там даже список толком передать нельзя. А уж произвольный оператор через параметр — вообще без шансов.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[9]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 08:52
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред.

наверно, каждому свое. кто-то пишет код, кто-то решает задачи бизнеса.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[10]: Простой скрипт внутри приложения (в виде строки)
От: Ночной Смотрящий Россия  
Дата: 18.11.21 09:03
Оценка: :)
Здравствуйте, vaa, Вы писали:

НС>>Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред.

vaa>наверно, каждому свое. кто-то пишет код, кто-то решает задачи бизнеса.

Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[11]: Простой скрипт внутри приложения (в виде строки)
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.11.21 09:10
Оценка: +5
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков.
А то. "У меня была проблема, и я придумал решить её, втащив в программу Питон. Теперь у меня две проблемы".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 10:57
Оценка: +1
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков.


сегодня формула завтра if/else.
и будет бедный пользователь изучать уникальный ЯП. когда по питону можно что угодно тупо нагуглить.
ладно. питон можно за интерфейс спрятать пока синьор пишет парсер.
ну и еще вариант не писать парсер, а написать редактор визуальный с конкретными операциями которые можно будет сериальзовать в xml.

public class Concat {
 public string First {get;set;}
 public string Second {get;set;}
 public string Result => First + Second;    
}
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[12]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 11:00
Оценка: :))
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков.
S>А то. "У меня была проблема, и я придумал решить её, втащив в программу Питон. Теперь у меня две проблемы".
Да какая проблема-то?
https://www.nuget.org/packages/IronPython/3.4.0-alpha1
500 разрабов в день так не считают.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[12]: Простой скрипт внутри приложения (в виде строки)
От: Ночной Смотрящий Россия  
Дата: 18.11.21 11:01
Оценка: +1 -1
Здравствуйте, vaa, Вы писали:

vaa>сегодня формула завтра if/else.


Или нет. Поэтому те, кому про бизнес — те делают решение, удовлетворяющее здесь и сейчас. А когда требования поменяются — тогда и думают что дешевле, допилить свой код или уже тащить какого нибудь монстра в проект.

vaa>ну и еще вариант не писать парсер, а написать редактор визуальный




Эта безумная идея — прям болезнь новичков в программировании, особенно без профильного образования. Вкратце — нет, это намного сложнее в реализации и намного хуже по своим потребительским характеристикам. Плюсов у такого только один — можно реализовать человеку с нулевым CS бекграундом.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[13]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 11:03
Оценка: :))
Здравствуйте, Ночной Смотрящий, Вы писали:


НС>


Мы еще только разогреваемся, а вы уже за голову схватились
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[6]: Простой скрипт внутри приложения (в виде строки)
От: Sharov Россия  
Дата: 18.11.21 13:43
Оценка:
Здравствуйте, vaa, Вы писали:

НС>>IronPython и CS script тащить — такой же бред.

vaa>Почему нет? питон самый популярный язык на сегодня. легкий в изучении.

Зачем тогда на C# писать, почему сразу не взять питон?
Кодом людям нужно помогать!
Re[10]: Простой скрипт внутри приложения (в виде строки)
От: Sharov Россия  
Дата: 18.11.21 13:46
Оценка:
Здравствуйте, vaa, Вы писали:

НС>>Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред.

vaa>наверно, каждому свое. кто-то пишет код, кто-то решает задачи бизнеса.

Если это сервис, то странное и очень плохое решение, но еще терпимо, а если разворачивать
у заказчика -- один маленький exe на шарпе и огромный питон. Ну это бред же, т.е. сразу
надо на питоне писать тогда и все.
Кодом людям нужно помогать!
Re[7]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 13:49
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Зачем тогда на C# писать, почему сразу не взять питон?


вопрос был задан конкретный: что-то готовое под C#.
я предложил несколько вариантов, в том числе на C#.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[8]: Простой скрипт внутри приложения (в виде строки)
От: Sharov Россия  
Дата: 18.11.21 13:51
Оценка:
Здравствуйте, vaa, Вы писали:

vaa>вопрос был задан конкретный: что-то готовое под C#.

vaa>я предложил несколько вариантов, в том числе на C#.

Объяснили, что слишком тяжеловесное решение. Полно всяких простейших парсеров, на хабре
народ регулярно делает и т.д. Для начала самое то. А дальше -- "будет день, будет пища".
Кодом людям нужно помогать!
Re[11]: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 13:56
Оценка: +1
Здравствуйте, Sharov, Вы писали:


S>Если это сервис, то странное и очень плохое решение, но еще терпимо, а если разворачивать

S>у заказчика -- один маленький exe на шарпе и огромный питон. Ну это бред же, т.е. сразу
S>надо на питоне писать тогда и все.
или заставить пользователя(тут не уверен. т.к. автор не комментирует наши споры) изучать сишарп.
питон вполне себе отличный способ добавить скриптов в программу. раз даже малышей учат ему.
видел встройку и на паскале и на java(script)(saleforce).
не вижу проблем.
а вот писать свой Интерпрета́тор. это сначала надо придумать грамматику, потом правила, потом реализовать, потом отлаживать,
а через год поймешь что написал кривой лисп
Каждый должен написать свой компилятор. недавно встречал такое выражение.

UPDATE: а потом чел уволился...
☭ ✊ В мире нет ничего, кроме движущейся материи.
Отредактировано 18.11.2021 14:13 Разраб . Предыдущая версия .
Re: Простой скрипт внутри приложения (в виде строки)
От: vaa  
Дата: 18.11.21 14:35
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Кто что посоветует.


S>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового?


S>Есть какой-то https://github.com/oleg-shilo/cs-script Но какой-то громоздкий. Не ясно создает ли он временные файлы — желательно без них.


дерзай https://github.com/IronyProject/Irony/wiki
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Простой скрипт внутри приложения (в виде строки)
От: Shmj Ниоткуда  
Дата: 18.11.21 16:01
Оценка:
Здравствуйте, vaa, Вы писали:

vaa>дерзай https://github.com/IronyProject/Irony/wiki


Да, выше его уже рекомендовали. Решил для универсальности его и заюзать. Вроде пока особых проблем не было.

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