Size: a a a

Rust — русскоговорящее сообществo

2020 October 13

p

polunin.ai in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
у него есть бесполезный плагин для пагинации. Зато блин 0 валидации того что ты не обосрался в именах/типах полей/константах. Выбор приоритетов уровня /b/
Ой да пофиг. Разве ORM это важно, если не для чего использовать? Взять например телеграм ботов. Оборачивать самому запросы было бы убийственно. Но парни из @teloxide постарались снизить боль процесса создания. Говорят что в новой версии планируют полный реворк архитектуры, куда можно будет и дизель запихнуть, и любую другую ORM.
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
polunin.ai
Ой да пофиг. Разве ORM это важно, если не для чего использовать? Взять например телеграм ботов. Оборачивать самому запросы было бы убийственно. Но парни из @teloxide постарались снизить боль процесса создания. Говорят что в новой версии планируют полный реворк архитектуры, куда можно будет и дизель запихнуть, и любую другую ORM.
в смысле не для чего? Я дизель использую у себя в проде
источник

MZ

Max Zhuravkov in Rust — русскоговорящее сообществo
Алексей Герасимов
ну да, так и статическая типизация не нужна, ведь можно рассматривать код как просто набор команд для интерпретатора и его проверка это выполнение этого кода против конкретных входных данные и проверки результатов этого выполнения
Но вообще по опыту работы с такой же штукой в Java главная ее проблема что для тривиальных запросов нужно слишком много церемоний - и настоящий orm от этого нас отгородит
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
в смысле не для чего? Я дизель использую у себя в проде
(ненавязчивая реклама))
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
polunin.ai
(ненавязчивая реклама))
реклама чего? Альтернатив нет
источник

MZ

Max Zhuravkov in Rust — русскоговорящее сообществo
Алексей Герасимов
нет, валидность имен полей и типа получаемого значения я могу проверить и без базы, посмотрев на описание ее схемы
Если они вам интересны то да, вам такая штука не подойдёт - обычно требуется чтобы данная команда с такой то схемой данных давала ожидаемый результат и все.
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Max Zhuravkov
Но вообще по опыту работы с такой же штукой в Java главная ее проблема что для тривиальных запросов нужно слишком много церемоний - и настоящий orm от этого нас отгородит
возьмем сишарп:

var items = db.Users
 .Where(x => x.CompanyName == "Microsoft")
 .Select(x => x.UserInfo)
 .ToArray()


Вот трививальный запрос. Какие тут церемонии?
источник

АГ

Алексей Герасимов... in Rust — русскоговорящее сообществo
Max Zhuravkov
Но вообще по опыту работы с такой же штукой в Java главная ее проблема что для тривиальных запросов нужно слишком много церемоний - и настоящий orm от этого нас отгородит
что за церемонии? навешать атрибутов? или о чем речь?
источник

MZ

Max Zhuravkov in Rust — русскоговорящее сообществo
Αλεχ Zhukovsky
возьмем сишарп:

var items = db.Users
 .Where(x => x.CompanyName == "Microsoft")
 .Select(x => x.UserInfo)
 .ToArray()


Вот трививальный запрос. Какие тут церемонии?
Я про r B a t i s
источник

MZ

Max Zhuravkov in Rust — русскоговорящее сообществo
И его первоисточник
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Max Zhuravkov
Я про r B a t i s
а ну этот фреймворк это просто свой ДСЛ который дает 0 выразительности по сравнению с просто строковой константой с SQL внутри
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
он заменяет только кейворды WHERE/AND/OR в которых никто никогда не ошибается на свой бесполезный кастомный дсл
источник

АГ

Алексей Герасимов... in Rust — русскоговорящее сообществo
Max Zhuravkov
Если они вам интересны то да, вам такая штука не подойдёт - обычно требуется чтобы данная команда с такой то схемой данных давала ожидаемый результат и все.
ну понятно что схема в коде может отличаться от схемы в бд, с этим никто не спорит, можно при старте приложухи проинспектировать схему в базе и проверить что в коде все нормально, запросы уже проверять не надо. Запросы меняются/добавляются чаще чем меняется схема, поэтому за ними хочется пристальнее следить и раньше обнаруживать ошибки
источник

MZ

Max Zhuravkov in Rust — русскоговорящее сообществo
Алексей Герасимов
что за церемонии? навешать атрибутов? или о чем речь?
Перечислять все поля в sql запросах и тп
источник

АГ

Алексей Герасимов... in Rust — русскоговорящее сообществo
Max Zhuravkov
Перечислять все поля в sql запросах и тп
можно пример? вам все равно так или иначе придется перечислить поля в запросе, если только  его не сгенерит орм из типа
источник

АГ

Алексей Герасимов... in Rust — русскоговорящее сообществo
но последний вариант это не query builder, а rbatis предлагает его
источник

MZ

Max Zhuravkov in Rust — русскоговорящее сообществo
Алексей Герасимов
можно пример? вам все равно так или иначе придется перечислить поля в запросе, если только  его не сгенерит орм из типа
Банальная вставка объекта с большим числом полей
источник

MZ

Max Zhuravkov in Rust — русскоговорящее сообществo
Orm предоставит интерфейс который на вход получает объект и все. Ничего больше ему не нужно.
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Max Zhuravkov
Банальная вставка объекта с большим числом полей
в лучшем случе в SQL будет не лучше. В худшем - куда хуже.

Но к чему вопрос-то?
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
кто за что топит я уже потерялся
источник