Omen
В нативной реализации
Egor
Какие фантазии, если я код скинул?
Лучше бы ты его писал вместо того что бы здесь разглагольствовать.
Omen
Os.что_то там это как доступ к словарю через _getarrt_
SetazeR
это тебе не пиздеть в чатиках
ну дык, надо же понимать про что говоришь
Evgeny
Почему разработчики на питоне не любят, да и порой практически не знают sql, я пришел из Java, я и мои коллеги гнут базу как угодно, а вот в отделе, да и постоянно на форумах, дай разработчикам orm, а не то в обморок упадут. На малонагруженных и нагруженных проектах, с малых лет мы не использовали orm, писали запросы, использовали DTO репозиторий, мапперы, а тут везде все через orm, модет я что-то не понимаю, про переносимость между базами, аргумент но весьма невнятный, так как если проект серьезный, то врядли он на этапе эксплуатациит что-то будет менять, просветите, что не так с бэк офисом, да и паттерн Active Record в то й же джанге, но это просто капец, рубисты от него плачут, да все плвчуть, чуть что-то сложнее, выстрел в ногу
Алексей
ну дык, надо же понимать про что говоришь
ты знаешь что такое функция type?
Omen
Посему dir() выплюнет словарь с кучей методов
Tigran
Популярные питонячьи ORM — это просто очень ебаный способ писать SQL.
Evgeny
не плохо, просто каждый инструмент для своей задачи, не все гвозди
Alex
Дай пять, бро, я воюю с ORM в этом чате уже давненько
Я просто считаю что 80% пользователей ORM не умеют ими пользоваться.
Artyem
вот когда пользователи orm не знают sql, вот это печалька
Evgeny
Я просто каждый день наблюдаю, заху в соседний отдел, они 2 часа пишут туже функцию cte на джанго орм, я ее пишу за 20 сек, в чем прикол
Alex
В джанге ORM совсем кривой, SQLA сильно получше (среди прочего тем что ближе к SQL).
Egor
Это например алхимия?
Ну да, это точно алхимия
Tigran
Это например алхимия?
Алхимия и джанго орм, да
Tigran
да и хипстерский peewee тоже
Alex
к сожалению многие действительно берут ORM не умея в SQL, это корень всех бед.
Egor
Алхимия и джанго орм, да
Джанго всё-же не про sql и извращения
Sasha
да и хипстерский peewee тоже
Давай, говори уже, что збс
Alex
потом разгребать тонны говна в виде кучи неявных запросов к related таблицам больно
Tigran
Давай, говори уже, что збс
Збс писать DAO как нормальные люди
Alex
но это неделает саму концепцию ORM плохой.
Alex
неквалифицированные инженеры - плохо. использование инструмента не по назначению в порыве заткнуть им все дыры - плохо.
Evgeny
Да, но я даже источника ни одного не нашел, как взять ту же psycopg2 и нормально замапить в клаcсы, использую те же dataclasses
Tigran
обычно этот срач заканчивается тем, что оказывается, что поборники ORM очень широко трактуют это понятие и что если у меня есть структурка, которая соответствует записи в базе — это уже ORM
Egor
Всё же самые страшные инъекция проходят там где разработчики считали себя умнее разработчиков orm
Алексей
Популярные питонячьи ORM — это просто очень ебаный способ писать SQL.
Ну вообще множество запросов обычно довольно простые, чтобы их ручками писать.
SetazeR
Популярные питонячьи ORM — это просто очень ебаный способ писать SQL.
я конечно не писал для бизнеса и ограничивался своим наколеночным ботом, но по мне взаимодействовать с базой написав что-то типа: with session_scope() as session: rows = session.query(TableName).filter_by(column_value=value).all() как-то попроще и компактнее будет чем вставлять в код куски голого SQL
Sasha
Збс писать DAO как нормальные люди
Мне нравится определение ‘нормальные люди’
Alex
недавний пример с SQLA и group_by или order_by (не помню) это наглядно демонстрирует.
SetazeR
Egor
в ORM тоже могут быть иньекции, сюрприз
Могут, но не надо быть всё время на чеку как с сырым sql
Egor
недавний пример с SQLA и group_by или order_by (не помню) это наглядно демонстрирует.
Пример который никто не помнит, что то демонстрирует. Продолжайте...
Tigran
Могут, но не надо быть всё время на чеку как с сырым sql
вообще-т в питонячьем DBAPI везде поддерживаются плейсхолдеры, дающие защиту от инъекций
Tigran
Sasha
dao, repository +/- использование орм - такое уже, личный выбор. Единственное могу сказать, что настоящее говнарьство - использование триггеров
Egor
ты точно знаешь, что такое инъекция и как она эксплуатируется?)
Можешь мне показать как её эксплуатировать 😉
Алексей
Могут, но не надо быть всё время на чеку как с сырым sql
ну вообще надо умудриться, чтобы инъекцию допустить даже на сыром sql
Алексей
Строку сконкратенировать, делов то
ну даже в пхп уже не принято пихать параметры в стркоу запроса
Egor
https://www.youtube.com/watch?v=ciNHn38EyRc
Orm injection, а вот ваше sql эт не ко мне
Sasha
dao, repository +/- использование орм - такое уже, личный выбор. Единственное могу сказать, что настоящее говнарьство - использование триггеров
А ну еще я туповат, поэтому мне зачастую сложно писать сложные агрегации на орм. Может привычка, потому что когда-то давно много с сырятиной работал
Алексей
Находятся профессионалы даже на java
мне теперь чёт страшно уже от такого стало
Egor
мне теперь чёт страшно уже от такого стало
Используй orm на полную и никого не слушай когда говорят что быстрей на sql написать.
Алексей
на sql быстрей получается написать только совсем сложные запросы с кучей джоинов и аггрегаций
Алексей
но сколько таких запросов в приложении обычно бывает?
Sasha
А как вам такое: писать простое на орм и сложное сырятиной? Не холиварно, к сожалению
Алексей
то-то 1С не стали заморачиваться, а тупо русифицировали SQL
ты прав, давайте делать всё как в 1С, они то точно знаю как надо правильно делать
Sasha
мне норм
Да вот и мне. А dao может быть и с орм
Дивопсина сутулая породистая
Кто посоветует чем лучше отслеживать ход работы воркеров в multiprocessing pool?
Алексей
0?
иногда 0, да, иногда больше, но уж точно не больше 50% от всех запросов, то есть ORM всё ещё облегчает жизнь
Egor
иногда 0, да, иногда больше, но уж точно не больше 50% от всех запросов, то есть ORM всё ещё облегчает жизнь
позволяет избежать преждевременной оптимизации, и ошибок от тех кто не слишком хорошо знает диалект той СУБД которая используется в данный момент для проекта
Egor
А то тут есть баристы с джангой, баристы с орм, баристы с вэб фреймворками. А когда начинаешь спрашивать что они умеют, говорят что 8 лет на java писали без каких либо орм.
Алексей
на джаве без орм вообще извращение и боль
Алексей
я такое делал кстати
Egor
на джаве без орм вообще извращение и боль
Ну могут ещё сказать что на алхимии, а всё что кроме вообще отстой, что на самом деле должно звучать ещё зловещей.