
Алексей
06.05.2019
09:15:51

Alex
06.05.2019
09:16:15
это тебе не пиздеть в чатиках

Egor
06.05.2019
09:16:29

OMEN
06.05.2019
09:16:36
Class module это блять словарь с перегруженый

Google

OMEN
06.05.2019
09:16:41
Потому и класс

Алексей
06.05.2019
09:17:01

Egor
06.05.2019
09:17:14

OMEN
06.05.2019
09:17:29
В нативной реализации

Egor
06.05.2019
09:17:58

OMEN
06.05.2019
09:18:10
Os.что_то там это как доступ к словарю через _getarrt_

SetazeR
06.05.2019
09:18:14

Evgeny
06.05.2019
09:18:16
Почему разработчики на питоне не любят, да и порой практически не знают sql, я пришел из Java, я и мои коллеги гнут базу как угодно, а вот в отделе, да и постоянно на форумах, дай разработчикам orm, а не то в обморок упадут. На малонагруженных и нагруженных проектах, с малых лет мы не использовали orm, писали запросы, использовали DTO репозиторий, мапперы, а тут везде все через orm, модет я что-то не понимаю, про переносимость между базами, аргумент но весьма невнятный, так как если проект серьезный, то врядли он на этапе эксплуатациит что-то будет менять, просветите, что не так с бэк офисом, да и паттерн Active Record в то й же джанге, но это просто капец, рубисты от него плачут, да все плвчуть, чуть что-то сложнее, выстрел в ногу

Алексей
06.05.2019
09:18:34

OMEN
06.05.2019
09:18:50
Посему dir() выплюнет словарь с кучей методов

Tigran
06.05.2019
09:19:21
Почему разработчики на питоне не любят, да и порой практически не знают sql, я пришел из Java, я и мои коллеги гнут базу как угодно, а вот в отделе, да и постоянно на форумах, дай разработчикам orm, а не то в обморок упадут. На малонагруженных и нагруженных проектах, с малых лет мы не использовали orm, писали запросы, использовали DTO репозиторий, мапперы, а тут везде все через orm, модет я что-то не понимаю, про переносимость между базами, аргумент но весьма невнятный, так как если проект серьезный, то врядли он на этапе эксплуатациит что-то будет менять, просветите, что не так с бэк офисом, да и паттерн Active Record в то й же джанге, но это просто капец, рубисты от него плачут, да все плвчуть, чуть что-то сложнее, выстрел в ногу
Дай пять, бро, я воюю с ORM в этом чате уже давненько


SetazeR
06.05.2019
09:19:23
Почему разработчики на питоне не любят, да и порой практически не знают sql, я пришел из Java, я и мои коллеги гнут базу как угодно, а вот в отделе, да и постоянно на форумах, дай разработчикам orm, а не то в обморок упадут. На малонагруженных и нагруженных проектах, с малых лет мы не использовали orm, писали запросы, использовали DTO репозиторий, мапперы, а тут везде все через orm, модет я что-то не понимаю, про переносимость между базами, аргумент но весьма невнятный, так как если проект серьезный, то врядли он на этапе эксплуатациит что-то будет менять, просветите, что не так с бэк офисом, да и паттерн Active Record в то й же джанге, но это просто капец, рубисты от него плачут, да все плвчуть, чуть что-то сложнее, выстрел в ногу
ух поток сознания. что плохого в орм?

Google

Egor
06.05.2019
09:20:04
Почему разработчики на питоне не любят, да и порой практически не знают sql, я пришел из Java, я и мои коллеги гнут базу как угодно, а вот в отделе, да и постоянно на форумах, дай разработчикам orm, а не то в обморок упадут. На малонагруженных и нагруженных проектах, с малых лет мы не использовали orm, писали запросы, использовали DTO репозиторий, мапперы, а тут везде все через orm, модет я что-то не понимаю, про переносимость между базами, аргумент но весьма невнятный, так как если проект серьезный, то врядли он на этапе эксплуатациит что-то будет менять, просветите, что не так с бэк офисом, да и паттерн Active Record в то й же джанге, но это просто капец, рубисты от него плачут, да все плвчуть, чуть что-то сложнее, выстрел в ногу
У руби похуже чем у джанго.

Tigran
06.05.2019
09:20:06
Популярные питонячьи ORM — это просто очень ебаный способ писать SQL.

Evgeny
06.05.2019
09:20:16
не плохо, просто каждый инструмент для своей задачи, не все гвозди

Alex
06.05.2019
09:20:17

Sasha
06.05.2019
09:21:03

Artyem
06.05.2019
09:21:18
вот когда пользователи orm не знают sql, вот это печалька

Evgeny
06.05.2019
09:21:23
Я просто каждый день наблюдаю, заху в соседний отдел, они 2 часа пишут туже функцию cte на джанго орм, я ее пишу за 20 сек, в чем прикол

Alex
06.05.2019
09:21:26
В джанге ORM совсем кривой, SQLA сильно получше (среди прочего тем что ближе к SQL).

Egor
06.05.2019
09:21:34

Tigran
06.05.2019
09:21:41

Alex
06.05.2019
09:21:41

Tigran
06.05.2019
09:22:02
да и хипстерский peewee тоже

Alex
06.05.2019
09:22:07
к сожалению многие действительно берут ORM не умея в SQL, это корень всех бед.

Egor
06.05.2019
09:22:12

Sasha
06.05.2019
09:22:18

Alex
06.05.2019
09:22:28
потом разгребать тонны говна в виде кучи неявных запросов к related таблицам больно

Tigran
06.05.2019
09:22:33

Alex
06.05.2019
09:22:44
но это неделает саму концепцию ORM плохой.
неквалифицированные инженеры - плохо. использование инструмента не по назначению в порыве заткнуть им все дыры - плохо.

Evgeny
06.05.2019
09:23:22
Да, но я даже источника ни одного не нашел, как взять ту же psycopg2 и нормально замапить в клаcсы, использую те же dataclasses

Google

Tigran
06.05.2019
09:23:28
обычно этот срач заканчивается тем, что оказывается, что поборники ORM очень широко трактуют это понятие и что если у меня есть структурка, которая соответствует записи в базе — это уже ORM

Egor
06.05.2019
09:23:31
Всё же самые страшные инъекция проходят там где разработчики считали себя умнее разработчиков orm

Алексей
06.05.2019
09:23:57

Tigran
06.05.2019
09:23:57

SetazeR
06.05.2019
09:23:59
Популярные питонячьи ORM — это просто очень ебаный способ писать SQL.
я конечно не писал для бизнеса и ограничивался своим наколеночным ботом, но по мне взаимодействовать с базой написав что-то типа:
with session_scope() as session:
rows = session.query(TableName).filter_by(column_value=value).all()
как-то попроще и компактнее будет чем вставлять в код куски голого SQL

Alex
06.05.2019
09:24:00

Sasha
06.05.2019
09:24:02

Tigran
06.05.2019
09:24:19

Alex
06.05.2019
09:24:25
недавний пример с SQLA и group_by или order_by (не помню) это наглядно демонстрирует.

Egor
06.05.2019
09:24:46

Tigran
06.05.2019
09:25:20

Egor
06.05.2019
09:25:29

Artyem
06.05.2019
09:25:29

Jentry
06.05.2019
09:25:38

Egor
06.05.2019
09:25:59

Tigran
06.05.2019
09:26:05

Sasha
06.05.2019
09:26:13
dao, repository +/- использование орм - такое уже, личный выбор. Единственное могу сказать, что настоящее говнарьство - использование триггеров

Egor
06.05.2019
09:26:32

Алексей
06.05.2019
09:26:57

Google

Egor
06.05.2019
09:27:23

SetazeR
06.05.2019
09:27:26

Алексей
06.05.2019
09:27:53

Alex
06.05.2019
09:27:53

Egor
06.05.2019
09:28:15

Artyem
06.05.2019
09:28:25

Egor
06.05.2019
09:28:43

Sasha
06.05.2019
09:29:13

Алексей
06.05.2019
09:29:17

Egor
06.05.2019
09:30:10

Алексей
06.05.2019
09:31:12
на sql быстрей получается написать только совсем сложные запросы с кучей джоинов и аггрегаций
но сколько таких запросов в приложении обычно бывает?

SetazeR
06.05.2019
09:31:51

Sasha
06.05.2019
09:31:54
А как вам такое: писать простое на орм и сложное сырятиной? Не холиварно, к сожалению

Алексей
06.05.2019
09:32:09

Sasha
06.05.2019
09:32:49
мне норм
Да вот и мне. А dao может быть и с орм

SetazeR
06.05.2019
09:35:15

Алексей
06.05.2019
09:36:05

Egor
06.05.2019
09:36:12

Google

mold
06.05.2019
09:37:31
Кто посоветует чем лучше отслеживать ход работы воркеров в multiprocessing pool?

Алексей
06.05.2019
09:37:50
0?
иногда 0, да, иногда больше, но уж точно не больше 50% от всех запросов, то есть ORM всё ещё облегчает жизнь

Egor
06.05.2019
09:38:46
А то тут есть баристы с джангой, баристы с орм, баристы с вэб фреймворками. А когда начинаешь спрашивать что они умеют, говорят что 8 лет на java писали без каких либо орм.

Алексей
06.05.2019
09:40:11
на джаве без орм вообще извращение и боль
я такое делал кстати

Egor
06.05.2019
09:41:03

Tishka17
06.05.2019
09:41:24

Alex
06.05.2019
09:41:39
прошу, не продолжай

Tishka17
06.05.2019
09:41:58
сорри, я отходил

Egor
06.05.2019
09:42:09

Алексей
06.05.2019
09:42:39
докажи ?
попробуй от модуля отнаследоваться, вот и будет тебе доказательство

Alex
06.05.2019
09:42:53
докажи ?
>>> import os
>>> inspect.isclass(os)
False

Tishka17
06.05.2019
09:43:11
>>> class A: pass
...
>>> import itertools
>>> type(A)
<class 'type'>
>>> type(itertools)
<class 'module'>