URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 136668
[ Назад ]

Исходное сообщение
"Релиз  REST-сервиса EasyREST 0.8"

Отправлено opennews , 21-Апр-25 21:23 
Состоялся выпуск EasyREST 0.8, лёгковесного расширяемого REST‑сервиса для выполнения CRUD и агрегированных запросов к реляционным базам данных. Проект написан на языке Go и использует систему плагинов для подключения к различным СУБД (SQLite, MySQL, PostgreSQL, Redis). Код распространяется под лицензией Apache 2.0. Для запуска достаточно собрать или загрузить исполняемый файл  и указать плагины в YAML‑файле конфигурации или через переменные окружения...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63114


Содержание

Сообщения в этом обсуждении
"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 21:23 
Детсадовская поделка в сравнении с postgrest. Дисквалифицирована за одно только вот это:

GET /api/orders/?select=total:amount.sum(),order_date

Если это у них REST API, я лучше сразу SQL-запросы слать буду прямо в базу.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 08:52 
А то ж эксперт Аноним дисквалифицировал, значит слушаем!

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Смузихлеб забывший пароль , 22-Апр-25 09:57 
Это чем-то напоминает поделия вроде GraphQL

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 16:47 
Это две ортогональные вещи, нужные для разных задач. Операции над графами через классический REST API просто неудобны, получается ещё хуже, чем делать это на SQL.

А сабж — просто плохой дизайн REST API.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено test , 23-Апр-25 07:32 
Может и плохой, хз почему так.
Но язык там нормльный для сервиса а не какая то дикая смесь хаскеля с питоном ...

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 18:26 
Кому-то шашечки, кому-то ехать. На всех не угодишь ¯\_(ツ)_/¯

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено laindono , 22-Апр-25 10:50 
Кстати, а какие вообще для SQL есть альтернативы? Именно в контексте реляционных баз данных.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 17:52 
Для SQL в контексте реляционных данных альтернатив нет и я не уверен, что они нужны, по крайней мере на этом этапе развития. Проблема с реляционными ДБ не в выразительности языка запросов, а в ограничениях платформы (и ещё часто законов физики, которые постоянно мешают полёту мысли). Если что-то не укладывается хорошо в реляционную модель (например, графы), то нужно искать альтернативные модели. Язык запросов — дело десятое.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено _ , 22-Апр-25 18:50 
Их там нет!(С)

;-)


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено z0s , 22-Апр-25 19:08 
Datalog

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 18:28 
Хорош для обхода графов и проверки утверждений, но с реляциями на нём — на мой вкус — сложнее работать чем с SQL.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 23:25 
Посмотри на принципы работы с данными в FoxPro - тоже реляционность, но куда интереснее и гибче.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено penetrator , 22-Апр-25 15:28 
В REST нет SQL запросов даже в самой смелой интерпретации, альтернатива GraphQL но и там нет SQL

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 21:44 
Немножко оффтопика: а как реализуется версионность записей в подобных задачах?

Ну типа была Иванова Наталья Иванована, стала Петрова Наталья Ивановна.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 21:55 
Если база нагруженная просто пишешь новое поле. Ставь флаг что это поле актуальное или номер версии или как у вас принято.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 18:02 
Если платформа не поддерживает напрямую, то можно через o2m отношение к таблице с версиями. Если такая необходимость есть для большинства полей, возможно подойдут триплеты (rdf), или quad store (для «стала Петровой 1970-01-01 в 11:02:19»). Оба варианта реализуются в обычной реляционной БД, так что не придётся даже менять платформу.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 23:21 
Каждый изобретает свою версионность, в зависимости от жёсткости требований - нет смысла спрашивать про одну конкретную реализацию.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 21:53 
Ну что? Теперь в этот раз без выходов границ буфера?)))

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 21:56 
Проект на Go написан. На безопасном языке.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 22:33 
Единственный язык, который не вызывает религиозные споры

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 23:09 
> Единственный язык, который не вызывает религиозные споры

Еще как вызывает!

- где наследование как в плюсах?
- где нормальные дженерики??
- сборщик мусора тормозит!
- бинарник весит 100500Мб, а вот на сишечке пару кб!

И вообще "го сделали в гугле, чтобы заменить нормальных программистов на веб-mакаk и платить им меньше!")))


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Васян , 21-Апр-25 23:35 
ещё эти err != nil везде

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 14:15 
Его в ядро не пихают, вот этим, в первую очередь, и хорош.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 01:32 
Ты просто не застал. Достаточно было упомянуть микросервисную архитектуру на Го и начиналось. А потом все переключились на Раст, а на Го как писали микросервисы так и продолжают.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Серж , 22-Апр-25 03:34 
Надо просто изобрести новый язык и начать про него много писать, чтоб от растоманов отстали всякие уверенные в себе анонимы, которые знают как надо правильно.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 14:20 
На Go не стали переписывать библиотеки и UNIX-утилиты. Поэтому и забили.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 18:05 
И это тоже делали на го. Каждый язык проходит через стадии взросления. Весь хейт раста (а до него хейт го, и я готов поставить деньги, что с Си в своё время было то же самое) — вторичен как песни Киркорова. Меняется только название языка и иногда люди. Слова все те же самые, а авторство утеряно в веках.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено morphe , 22-Апр-25 05:38 
Golang не защищает от data race, а data race можно превратить в buffer overflow и много чего ещё, просто это не так просто как в Си

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено pavel_simple. , 22-Апр-25 07:39 
а как data-race превратить в buffer-overflow? Кусок кода или ссылку плиз

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено morphe , 22-Апр-25 22:55 
> а как data-race превратить в buffer-overflow? Кусок кода или ссылку плиз

В golang для slice/interface используются fat pointers, и работа с ними не атомарна

Можно переписать одну половину (длину slice), но при этом оставив другую (указатель на данные) старой. Длина > размера аллокации (данных) - можно писать за пределы

https://go.dev/play/p/NKh_krw3Zni


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено pavel_simple. , 23-Апр-25 06:11 
>> а как data-race превратить в buffer-overflow? Кусок кода или ссылку плиз
> В golang для slice/interface используются fat pointers, и работа с ними не
> атомарна
> Можно переписать одну половину (длину slice), но при этом оставив другую (указатель
> на данные) старой. Длина > размера аллокации (данных) - можно писать
> за пределы
> https://go.dev/play/p/NKh_krw3Zni

спасибо. Весьма занимательно. Правда так никто не пишет, да и если чел без башки начнёт работать в горутинах без примитивов синхронизации -- ССЗБ


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено morphe , 23-Апр-25 11:30 
>>> а как data-race превратить в buffer-overflow? Кусок кода или ссылку плиз
>> В golang для slice/interface используются fat pointers, и работа с ними не
>> атомарна
>> Можно переписать одну половину (длину slice), но при этом оставив другую (указатель
>> на данные) старой. Длина > размера аллокации (данных) - можно писать
>> за пределы
>> https://go.dev/play/p/NKh_krw3Zni
> Правда так никто не пишет

Тут код написан так, чтобы компилятор произвёл в бинарнике всё верно
Если нужно чужой код проверять - то можно уязвимые гаджеты в выхлопе дизассемблера искать

> начнёт работать в горутинах без примитивов синхронизации -- ССЗБ

Ну вот и снова имеем что "правильные разработчики таких ошибок не совершают!". Тем временем в том же kubernetes гонки находят каждый месяц.

Да и проблема тут может быть на стыке нескольких модулей, где один third-party, а ты с ним работаешь не так как создатель ожидал, и тем самым провоцируешь гонку в нём.

А был бы golang memory-safe - он бы не позволял такие уязвимости вообще иметь без unsafe.
Rust/Java/Python/C#/OCaml/многие другие таких проблем не имеют.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено pavel_simple. , 23-Апр-25 11:37 
>[оверквотинг удален]
> дизассемблера искать
>> начнёт работать в горутинах без примитивов синхронизации -- ССЗБ
> Ну вот и снова имеем что "правильные разработчики таких ошибок не совершают!".
> Тем временем в том же kubernetes гонки находят каждый месяц.
> Да и проблема тут может быть на стыке нескольких модулей, где один
> third-party, а ты с ним работаешь не так как создатель ожидал,
> и тем самым провоцируешь гонку в нём.
> А был бы golang memory-safe - он бы не позволял такие уязвимости
> вообще иметь без unsafe.
> Rust/Java/Python/C#/OCaml/многие другие таких проблем не имеют.

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


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 18:31 
> работать в горутинах без примитивов синхронизации

CSP в помощь. Кто-то может поспорить, что канал тоже примитив синхронизации, но так-то можно и сову на глобус натянуть.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 21-Апр-25 22:47 
Тупо sql инжектят, вот и все плагины.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Анониматор , 22-Апр-25 07:26 
иньекцией было бы лучше, но там не так, самопальный типа CRUD (не знаю зачем и как это может упростить жизнь)

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 00:18 
А шо у rest есть какой-то СТАНДАРТ??
Каждый веб-кодерок выдумывает свой собственный рест, по факту

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Анониматор , 22-Апр-25 07:30 
Есть рекомендации. Согласно им для получения данных надо использовать GET, и эти чуваки послушно так сделали. Про то что SQL-запрос может быть 100 килобайт они не слышали. На проде быстро обломаются.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 08:55 
Ещё б Аноним почитал бы сперва, что там не sql передаётся...

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Cykooz , 22-Апр-25 10:05 
Эту проблему уже решили - в прошлом году приняли в стандарт метод QUERY. По сути тот же GET, только в нём чётко прописано, что этот запрос может содержать тело.

Так то и GET может содержать тело, но поскольку в стандарте это не прописано явно, то некоторые веб-сервера просто не рассчитывают на это и могут работать не так как ожидается. Для этого и придумали QUERY.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено penetrator , 22-Апр-25 15:35 
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.


пока я так понял только черновик, ну и поддерживает его 0 веб-серверов


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Cykooz , 22-Апр-25 16:45 
>  This Internet-Draft is submitted in full conformance with the provisions of
> BCP 78 and BCP 79.

Даас, действительно черновик ещё. Видимо я подзабыл детали прошлогодней новости.

Но ничего, если "REST-сервис" новый, модный, молодёжный, то может и сам сделать поддержку QUERY и заодно поддержку тела для GET запросов :-)



"Релиз  REST-сервиса EasyREST 0.8"
Отправлено penetrator , 22-Апр-25 15:31 
нет таких требований, можно для получение данных использовать любой HTTP verb, который уччитывает персонально твои ограничения

одно из требование - использование HTTP, но не конкретного VERB

то что так делают, а еще и возврат еррор кода в видео HTTP статуса - это от сложившихся стереотипов


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 18:25 
> одно из требование - использование HTTP

Нет там никаких требований, REST — это архитектурный стиль, у него есть только свойства и ограничения. Традиционно в конечной реализации используется HTTP, как самый распространенный и доступный протокол, но вообще требования пользоваться именно HTTP нет. Любой протокол имеющий концепцию «глаголов» (команд) может быть использован как транспорт для REST. Шутки ради можно сделать реализацию даже через SMTP.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено penetrator , 23-Апр-25 10:58 
>> одно из требование - использование HTTP
> Нет там никаких требований, REST — это архитектурный стиль, у него есть
> только свойства и ограничения. Традиционно в конечной реализации используется HTTP, как
> самый распространенный и доступный протокол, но вообще требования пользоваться именно
> HTTP нет. Любой протокол имеющий концепцию «глаголов» (команд) может быть использован
> как транспорт для REST. Шутки ради можно сделать реализацию даже через
> SMTP.

это не архитектурный стиль, а совокупность требований к реализации клиент-серверной архитектуры, их еще часто называют принципами построения REST сервисов

пока ты не выполняешь определенное условие (все условия) - твой сервис не считается RESTful

> но вообще требования пользоваться именно HTTP нет.

есть, можешь почитать другие мои посты в этой новости

> Шутки ради можно сделать реализацию даже через SMTP.

это будет что угодно но не REST, в SMTP нет hypertext, HATEOS невозможен
а еще там plain text т.е. стандартные форматы данных которые прописаны тоже не используются


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 18:44 
> это не архитектурный стиль, а совокупность требований к реализации клиент-серверной архитектуры, их еще часто называют принципами построения REST сервисов

Ты сейчас взял и описал архитектурный стиль, зачем-то подменив понятия и всунув туда «требований» вместо «свойств» и «ограничений». Ну ок, пусть будут требования. Also, википедия прям первой строкой даёт: «REST (Representational State Transfer) is a software architectural style». Видимо, они в сговоре со мной против тебя. И Рой Томас Филдинг тоже, описав REST в своей диссертации «Architectural Styles and the Design of Network-based Software Architectures».

> пока ты не выполняешь определенное условие (все условия) - твой сервис не считается RESTful

Кем не считается? RESTful Authority? Архитектурный стиль не догма, его можно и нужно менять под задачу, а не наоборот.

> это будет что угодно но не REST, в SMTP нет hypertext, HATEOS невозможен

В HTTP hypertext есть только в названии, но передавать по нему можно всё, что угодно. HATEOAS (а не Hate OS которую ты только что изобрёл вполне в духе фрейдизма) вообще никак не диктует формат данных. Большинство реализаций используют в качестве формата JSON, который отнюдь не гипертекст.

> а еще там plain text т.е. стандартные форматы данных которые прописаны тоже не используются

Что за стандартные форматы? Ну-ка, приведи ссылочку на стандарт.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 09:35 
Три раза прочитал текст новости - так и не понял, откуда ты взял про стандарты.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Cykooz , 22-Апр-25 09:48 
Стандарт есть у HTTP, который построен на принципах REST. Если осилить прочитать, хотя бы "популярные" пересказы этого стандарта во всяких вики-педиях и тому подобное, и следовать этому стандарту, то уже будет больше шансов получить на выходе API, который соответствует рекомендациям REST.

К сожалению многие "веб-кодерки" останавливаются на туманных объяснениях старших коллег за кружечкой пива. Поэтому и получается разношёрстая масса API со словом REST, которая даже HTTP не соблюдает.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено penetrator , 22-Апр-25 15:36 
эпик фейл

это REST основан на HTTP а не наоборот, и там это всего лишь одно из требований, использовать его в качестве транспорта


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Cykooz , 22-Апр-25 17:03 
> эпик фейл
> это REST основан на HTTP а не наоборот, и там это всего
> лишь одно из требований, использовать его в качестве транспорта

В диссертации Филдинга, в разделе про REST, если и есть хоть какие-то упоминания HTTP, то их надо искать с лупой. Там точно нет ни чего про HTTP-методы и HTTP как транспорт. О каком транспорте можно говорить к контексте ПРИНЦИПОВ построения АРХИТЕКТУРЫ? Даже не построения самого "приложения" или "протокола", а только архитектуры клиент-серверного приложения.

Самое близкое, что можно притянуть из описания REST к HTTP, это использование URI для идентификации сущностей.

Тут наверное проблема курицы и яйца. Филдинг принимал прямое участие в разработке архитектуры HTTP. Придумал ли он принципы REST в процессе этого, или они сложились в его голове заранее - это уже не важно. Есть принципы, и есть пример готовой архитектуры, которая соответствует этим принципам.

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


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено penetrator , 23-Апр-25 10:39 
>[оверквотинг удален]
> Самое близкое, что можно притянуть из описания REST к HTTP, это использование
> URI для идентификации сущностей.
> Тут наверное проблема курицы и яйца. Филдинг принимал прямое участие в разработке
> архитектуры HTTP. Придумал ли он принципы REST в процессе этого, или
> они сложились в его голове заранее - это уже не важно.
> Есть принципы, и есть пример готовой архитектуры, которая соответствует этим принципам.
> И вот Вы как раз наглядный пример того, о чём я написал
> выше - многие сами не читали исходные документы, но думают, что
> знают о чём идёт речь. И такого очень много в интернете
> про REST.

https://oleb.net/2018/rest/

вот почитаешь, цитата упомянутого тобой автора:

REST was originally referred to as the “HTTP object model,” but that name would often lead to misinterpretation of it as the implementation model of an HTTP server.

и все его документы пестрят про HTTP и hypertext, uri и бла бла

но дело даже не в этом, понимание по Филдингу и как совокупность практик устоявшихся в среде немного отличаются друг от друга, так в его работах подчёркивается, что многие API, называющие себя RESTful, нарушают принципы, заложенные в HTTP (например, игнорируют HATEOAS).

я видел только один сервис с HATEOAS c которым я работал, но все равно считаю все остальныые тоже REST, кстати вариант HATEOAS был самой ушллепочной реализацией и проблемной с точки зрения использования клиентом

> многие сами не читали исходные документы, но думают, что знают о чём идёт речь

в 100% случаев люди, которые пишут такое не думают о себе самом,
ошибка выжившего


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Cykooz , 23-Апр-25 11:32 

> REST was originally referred to as the “HTTP object model,” but that
> name would often lead to misinterpretation of it as the implementation
> model of an HTTP server.
> и все его документы пестрят про HTTP и hypertext, uri и бла
> бла

Да, про это я и имел ввиду говоря, что скорее всего принципы REST сформировались в процессе разработки HTTP. Но по итогу, в диссертации, эти принципы, с названием REST, описаны без какой либо привязки к HTTP.

> но дело даже не в этом, понимание по Филдингу и как совокупность
> практик устоявшихся в среде немного отличаются друг от друга, так в
> его работах подчёркивается, что многие API, называющие себя RESTful, нарушают принципы,
> заложенные в HTTP (например, игнорируют HATEOAS).
> я видел только один сервис с HATEOAS c которым я работал, но
> все равно считаю все остальныые тоже REST, кстати вариант HATEOAS был
> самой ушллепочной реализацией и проблемной с точки зрения использования клиентом

Я читал в разных местах обсуждение HATEOAS и сделал вывод, что те, кто его ругал, просто не разобрались в нём. Обычно у них какая-то странная каша в голове на этот счёт, приправленная собственными выдумками. Люди почему-то считают, что для его реализации нужен какой-то супер клиент с ИИ внутри, который будет волшебным образом сам ходить по ссылкам из ответа сервера, угадывая, что надо на эти ссылки отправлять.
Может эти люди просто никогда не делали API, который потом развивали и поддерживали многие годы? И потому они не очень понимают какие в этом случае могут возникать проблемы и задачи.
Конечно, можно и без HATEOAS сделать архитектуру, но тогда, как сказал сам Филдинг, незачем лепить в название слово REST. А то это будет как если телегу назвать автомобилем, только потому что у неё есть колёса (маркетинг аля али-экспресс). Такая недоREST архитектура будет вполне себе работать. Только в некоторых кейсах она будет требовать значительных усилий при внесении изменений. Как и везде - это вопрос приоритетов и соотношения выгоды к затратам. Если нужно, что-то что должно десятилетиями работать и поддерживать старые версии клиентов/серверов - делай сразу по уму.



"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 18:53 
Что делать, если от REST для решения задачи нужно всё, кроме HATEOAS? Является ли null HATEOAS частью сета всех возможных реализаций HATEOAS? В общем, оба вы загнались парни. Архитектурные стили информируют архитектора для принятия конкретных решений, а не диктуют как ему думать и как делать. Ещё раз повторюсь: это не догма, это набор возможнных реший для абстрактных типовых проблем, и решать как и какими именно воспользоваться для решения конкретных проблем в конкретном проекте — суть работы архитектора.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 23:11 
> REST сформировались в процессе разработки HTTP

Что ты за чушь порешь?? HTTP был ПОЛНОСТЬЮ разработан ещё в 90-ые, там про новомодные RESTы даже не слышали! Это потом уже пришли пиджаки, стали дуть щёки и создавть какую-то overbloated теорию "как все должны запрашивать сервер". На ReSTе свет клином не сошёлся, можно вообще по FTP всё выдавать. Или по JSON-RPC. Вариантов море, главное - не прыгать к REST как с писаной торбой и считать её осью мироздания.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 18:27 
Эпик фейл 2: возвращение эпик фейла.

REST не основан на HTTP или какой-либо другом протоколе.


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Анониматор , 22-Апр-25 06:39 
у меня проще реализовано. никакие jwt не нужны, ведь авторизацию делает сам SQL и соединение хранится в пуле драйвера. А за безопасность должен отвечать DBA на уровне раздачи привилегий, поэтому борьба с инжекциями это всего лишь накладывание подорожника. Там пара сотен строк нужно всего чтоб такое наваять

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено penetrator , 22-Апр-25 15:38 
это если у тебя наколенная поделка, в которой нет логики и все умещается в DB-driven app

а если у тебя что-то уровня DDD, то хранилище для тебя абстрактно


"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 23:15 
Это эпик фэйл, бро. Заниматься сложной настройкой прав только потому, что один клоун взвалил всё на DBMS - глупо. DBMS давно уже потеряла статус "апп-сервера" и стала тупо хранилищем. Умные люди наоборот - максимально дистанцируются от способа хранения данных (и тем более прав) и делают кастомные системы а-ля "группы-права групп", хранящиеся в тех же таблицах. Это позволяет максимально габко строить систему: захотел - перенёс всё в MS SQL. Захотел - вынес права в LDAP. Никто в здравом уме не надеется на то, что система прав DBMS будет идеально отражать права самой бизнес-системы.
Короче, переписывай свою чушь под более generic подход.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Анониматор , 24-Апр-25 07:56 
не, не буду.  мой костыль заменяет вызовы ADODB вызовами REST в уже написанном софте, так что подразумевается что все права на БД уже настроены

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 08:40 
Тут только CRUD или полноценный CORUND?

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 22-Апр-25 11:30 
То есть, это не OData? Нафиг он такой красивый нужен?

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Аноним , 23-Апр-25 23:00 
Это галиматья, а не проект. Очевидно же, что CRUD - лишь малая и самая бестолковая часть любого app.server'а! Её нет смысла "автоматизировать" ДАЖЕ если код у всех проектов совпадает на 80% - оставшиеся 20% и есть та самая "бизнес-логика", которую НИКАК не опишешь универсально, не прибегая к ЯОН. Закономерный вопрос: за каким якодзуном нужен этот EasyREST, если в нём нет никакого смысла и всё равно надо писать логику?? Причём логика неслабо так пересекается с самими выборками из базы, поэтому "тупых селектов" там точно будет по минимуму.

"Релиз  REST-сервиса EasyREST 0.8"
Отправлено Мимокрокодил , 25-Апр-25 01:20 
Просто оставлю это здесь https://github.com/onegreyonewhite/easyrest/wiki/EasyREST-&#...