The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз  REST-сервиса EasyREST 0.8"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз  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.ru/opennews/art.shtml?num=63114

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


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

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

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

Ответить | Правка | Наверх | Cообщить модератору

22. Скрыто модератором  +/
Сообщение от Аноним (22), 22-Апр-25, 08:52 
Ответить | Правка | Наверх | Cообщить модератору

26. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Смузихлеб забывший пароль (?), 22-Апр-25, 09:57 
Это чем-то напоминает поделия вроде GraphQL
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

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

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

Ответить | Правка | Наверх | Cообщить модератору

28. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от laindono (ok), 22-Апр-25, 10:50 
Кстати, а какие вообще для SQL есть альтернативы? Именно в контексте реляционных баз данных.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

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

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

;-)

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

32. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от penetrator (?), 22-Апр-25, 15:28 
В REST нет SQL запросов даже в самой смелой интерпретации, альтернатива GraphQL но и там нет SQL
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

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

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

Ответить | Правка | Наверх | Cообщить модератору

5. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (5), 21-Апр-25, 21:55 
Если база нагруженная просто пишешь новое поле. Ставь флаг что это поле актуальное или номер версии или как у вас принято.
Ответить | Правка | Наверх | Cообщить модератору

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

4. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (4), 21-Апр-25, 21:53 
Ну что? Теперь в этот раз без выходов границ буфера?)))
Ответить | Правка | Наверх | Cообщить модератору

7. "Релиз  REST-сервиса EasyREST 0.8"  –1 +/
Сообщение от Аноним (5), 21-Апр-25, 21:56 
Проект на Go написан. На безопасном языке.
Ответить | Правка | Наверх | Cообщить модератору

8. "Релиз  REST-сервиса EasyREST 0.8"  –1 +/
Сообщение от Аноним (8), 21-Апр-25, 22:33 
Единственный язык, который не вызывает религиозные споры
Ответить | Правка | Наверх | Cообщить модератору

10. "Релиз  REST-сервиса EasyREST 0.8"  +2 +/
Сообщение от Аноним (-), 21-Апр-25, 23:09 
> Единственный язык, который не вызывает религиозные споры

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

11. "Релиз  REST-сервиса EasyREST 0.8"  +4 +/
Сообщение от Васян (?), 21-Апр-25, 23:35 
ещё эти err != nil везде
Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз  REST-сервиса EasyREST 0.8"  –1 +/
Сообщение от Аноним (30), 22-Апр-25, 14:15 
Его в ядро не пихают, вот этим, в первую очередь, и хорош.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

13. "Релиз  REST-сервиса EasyREST 0.8"  +1 +/
Сообщение от Аноним (1), 22-Апр-25, 01:32 
Ты просто не застал. Достаточно было упомянуть микросервисную архитектуру на Го и начиналось. А потом все переключились на Раст, а на Го как писали микросервисы так и продолжают.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

15. Скрыто модератором  +/
Сообщение от Серж (??), 22-Апр-25, 03:34 
Ответить | Правка | Наверх | Cообщить модератору

31. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (30), 22-Апр-25, 14:20 
На Go не стали переписывать библиотеки и UNIX-утилиты. Поэтому и забили.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

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

16. "Релиз  REST-сервиса EasyREST 0.8"  +1 +/
Сообщение от morphe (?), 22-Апр-25, 05:38 
Golang не защищает от data race, а data race можно превратить в buffer overflow и много чего ещё, просто это не так просто как в Си
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

20. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от pavel_simple. (?), 22-Апр-25, 07:39 
а как data-race превратить в buffer-overflow? Кусок кода или ссылку плиз
Ответить | Правка | Наверх | Cообщить модератору

9. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (9), 21-Апр-25, 22:47 
Тупо sql инжектят, вот и все плагины.
Ответить | Правка | Наверх | Cообщить модератору

18. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Анониматор (?), 22-Апр-25, 07:26 
иньекцией было бы лучше, но там не так, самопальный типа CRUD (не знаю зачем и как это может упростить жизнь)
Ответить | Правка | Наверх | Cообщить модератору

12. "Релиз  REST-сервиса EasyREST 0.8"  +1 +/
Сообщение от Аноним (12), 22-Апр-25, 00:18 
А шо у rest есть какой-то СТАНДАРТ??
Каждый веб-кодерок выдумывает свой собственный рест, по факту
Ответить | Правка | Наверх | Cообщить модератору

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

23. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (22), 22-Апр-25, 08:55 
Ещё б Аноним почитал бы сперва, что там не sql передаётся...
Ответить | Правка | Наверх | Cообщить модератору

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

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

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

34. "Релиз  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 веб-серверов

Ответить | Правка | Наверх | Cообщить модератору

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

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

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


Ответить | Правка | Наверх | Cообщить модератору

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

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

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

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

43. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (1), 22-Апр-25, 18:25 
> одно из требование - использование HTTP

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

Ответить | Правка | Наверх | Cообщить модератору

24. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (24), 22-Апр-25, 09:35 
Три раза прочитал текст новости - так и не понял, откуда ты взял про стандарты.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

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

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

Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

35. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от penetrator (?), 22-Апр-25, 15:36 
эпик фейл

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

Ответить | Правка | Наверх | Cообщить модератору

39. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Cykooz (ok), 22-Апр-25, 17:03 
> эпик фейл
> это REST основан на HTTP а не наоборот, и там это всего
> лишь одно из требований, использовать его в качестве транспорта

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

44. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (1), 22-Апр-25, 18:27 
Эпик фейл 2: возвращение эпик фейла.

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

Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

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

36. "Релиз  REST-сервиса EasyREST 0.8"  +1 +/
Сообщение от penetrator (?), 22-Апр-25, 15:38 
это если у тебя наколенная поделка, в которой нет логики и все умещается в DB-driven app

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

Ответить | Правка | Наверх | Cообщить модератору

21. "Релиз  REST-сервиса EasyREST 0.8"  +1 +/
Сообщение от Аноним (21), 22-Апр-25, 08:40 
Тут только CRUD или полноценный CORUND?
Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз  REST-сервиса EasyREST 0.8"  +/
Сообщение от Аноним (29), 22-Апр-25, 11:30 
То есть, это не OData? Нафиг он такой красивый нужен?
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру