4.Ну по задаче,у меня должен быть свой мини язык,даже не программирования,а для работы с текстом,там делать символ большим,обходить символ,узнать кодировку символа,и т.д по мелочи. 5.У меня будет отдельно интерпретатор на питоне,и функция для его запуска,эту функций будет запускать бэк для интерпретации,не думаю что это сложно.
5 это очень нетривиально, если ты конечно заботишься о безопасности своего сервера
Почему нетривиально,потому-что запускаю код из вне типо,и могут например вместо заплонированного кода на моём языке,кинуть exec() с питоновским кодом и сломать сервак,а то и делать что-то похуже ?
Могут что угодно закинуть, да
Нетривиально? Ну задача об остановке алгоритмически неразрешима
Ну я не буду заливать свой код на сервак,просто пишу код для гита,+ практики и из-за интереса.
Хмм,а если интерпретатор у меня будет на клиенте написан,то будет гораздо безопаснее ? 🤔
Ну это самые неудачное решение для кода для гита. 1. Это супернетривиальная задача, нет каких-то общепринятых паттернов проектирования и архитектуры для такого. А с учетом отсутствия у тебя опыта, это означает, что код превратится в говно(без негатива) 2. Это не применимо практически и особо знаний тебе не даст 3. Это пиздец как небезопасно и каждый чел, который даже если найдет в себе силы посмотреть твои проекты, будет просто вахуе
Получается надо исключить ряд ключевых слов. Запускать код изолированно. Добавить таймауты.
Если будет исполняться на стороне клиента то все равно может быть так что один юзер что-то создал а второй запускает. Или так исключено?
Я и сказал про изоляцию и таймауты. А как по твоему всякие codewars и онлайн ide работают )
Ну попробуй имаджинировать сколько сил они вбухали на изоляцию. И это все равно небезопасная хуйня. Изолировать тьюринг полный язык невозможно. Это формально не доказано, но практически давно понятно
1.Проект на самом деле делается больше для привлечения внимании на Реакт а не на питон,а бэк для меня просто интересен,в планах на самом деле,когда я начинал был совсем другой проект,без реакта,бэкенда,просто десктопное приложение,но из-за того что у меня мало реакт проектов,решил вмешаться в запланированный проект,и поменять смог до головы. 2.Я любитель создания странных проектов,и совмещения обсалютно разного,даже пока что в единственном проекте который написан на реакте,я использовал питон,и даже не как бэк,а как хардвейр инструмент,который напрямую изменяет данные в клиенте. 3.Я всё это не залью на сервер,даже если залью ради интереса,ради "у меня есть свой собственный сайт,ты даже можешь зайти на него через гугл"
Ну это минимум,если всё небезопасное для дефолтного питона я смогу устранить,то ддос атаки,вмешательства на сервер и т.д зафиксить не получиться.
Второй запускает код первого типо ?
Ну сейчас на самом деле,и так дел много,конечно можно будет реализовать ещё и способ постить код,но это уже на сильно потом.
Если надо могу потом в личку показать как запускал ответы gpt. Просил его писать код потом запускал и ловил вывод в stdout
В смысле можешь попросить у гпт взломать систему и т.д ?
Обсуждают сегодня