172 похожих чатов

23 ответов

22 просмотра

JSOOOOOOON

Абэ-но Сэймэй- Автор вопроса
Эрик
JSOOOOOOON

и че это был за крик души?

ридми выглядит устрашающе ) но любопытно

проблема таких орм в том, что имена полей задаются строками, нет compile-time проверки валидности запросов и рефакторинг становится мукой

так и вижу, написал случайно .between("crete_time", "2020-01-01 00:00:00", "2020-12-12 00:00:00") И ловлю люлей

Alexey Gerasimov
проблема таких орм в том, что имена полей задаются...

Если рассматривать sql запрос как отдельную сущность которую нам нужно проверять в отрыве от ее назначения. То да проблема есть. А если считать это просто команда к базе данных и ее проверка это выполнение этой команды против конкретной схемы базы данных и проверки результатов этой команды, то проблемы в общем то нет

Max Zhuravkov
Если рассматривать sql запрос как отдельную сущнос...

ну да, так и статическая типизация не нужна, ведь можно рассматривать код как просто набор команд для интерпретатора и его проверка это выполнение этого кода против конкретных входных данные и проверки результатов этого выполнения

Alexey Gerasimov
ну да, так и статическая типизация не нужна, ведь ...

Валидность команды sql может проверить только ваша бд или полный ее аналог

Max Zhuravkov
Валидность команды sql может проверить только ваша...

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

Alexey Gerasimov
ну да, так и статическая типизация не нужна, ведь ...

Но вообще по опыту работы с такой же штукой в Java главная ее проблема что для тривиальных запросов нужно слишком много церемоний - и настоящий orm от этого нас отгородит

Alexey Gerasimov
нет, валидность имен полей и типа получаемого знач...

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

Max Zhuravkov
Но вообще по опыту работы с такой же штукой в Java...

возьмем сишарп: var items = db.Users .Where(x => x.CompanyName == "Microsoft") .Select(x => x.UserInfo) .ToArray() Вот трививальный запрос. Какие тут церемонии?

Max Zhuravkov
Но вообще по опыту работы с такой же штукой в Java...

что за церемонии? навешать атрибутов? или о чем речь?

Max Zhuravkov
Я про r B a t i s

а ну этот фреймворк это просто свой ДСЛ который дает 0 выразительности по сравнению с просто строковой константой с SQL внутри

Max Zhuravkov
Если они вам интересны то да, вам такая штука не п...

ну понятно что схема в коде может отличаться от схемы в бд, с этим никто не спорит, можно при старте приложухи проинспектировать схему в базе и проверить что в коде все нормально, запросы уже проверять не надо. Запросы меняются/добавляются чаще чем меняется схема, поэтому за ними хочется пристальнее следить и раньше обнаруживать ошибки

Max Zhuravkov
Перечислять все поля в sql запросах и тп

можно пример? вам все равно так или иначе придется перечислить поля в запросе, если только его не сгенерит орм из типа

Alexey Gerasimov
можно пример? вам все равно так или иначе придется...

Банальная вставка объекта с большим числом полей

Max Zhuravkov
Банальная вставка объекта с большим числом полей

в лучшем случе в SQL будет не лучше. В худшем - куда хуже. Но к чему вопрос-то?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта