Интерпретатор выражений на php, без использования eval

В нашем интернет-магазине возникла задача назначение скидок клиентам и их подсчета. Вернее, скидки мы уже считали давно и до этого, но сейчас бизнес пришёл с новой идеей, на которую наш скидочный движок рассчитан не был. Так же, нужно пояснить, что у нас разделены отдел разработки и отдел эксплуатации. Скидку должны назначать админы ресурса. Если расчет скидки делать через CustomFee.php скрипт, в котором бы была зашита логика подсчета, то каждый раз, при каких-либо изменениях, пришлось бы его заново деплоить. Сам процесс деплоя, в нашей компании - не очень быстрый, т. к. исправления должен отревьювить техлид, после чего он попадёт тестерам и уже после админ его пустит в прод. Согласитесь, не очень удобно для назначения скидок. Да и напрягать разрабов каждый раз, что бы поменяли циферки в скрипте подсчета — не совсем правильно. В общем, было решено писать интерпретатор выражений. Использование функции eval отмёл сразу, т. к. это такая потенциальная мина в безопасности, которую сам себе закладываешь. Моё субъективное мнение, что минусы от её использования перекрывают плюсы.

https://habr.com/ru/articles/887800/

#интерпретатор_формул #польская_запись #php #конечный_автомат

Интерпретатор выражений на php, без использования eval

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

Хабр

Обратная польская нотация, что ты такое? Или как вывести производную сложной функции

Обратная польская нотация, что ты такое и как с тобой работать? Или как вывести производную сложной функции.

https://habr.com/ru/articles/811189/

#обратная_польская_запись #польская_запись #производная #алгоритмы

Обратная польская нотация, что ты такое? Или как вывести производную сложной функции

В прошлом году я участвовал в Чемпионате Урала и там была задачка, что то на подобии перевода обратной польской нотации, в обычную польскую нотацию. В этом году я опять столкнулся с ОПН, но уже в...

Хабр