
Аркадий
07.02.2017
19:58:23

Vladimir
07.02.2017
19:58:39
а у джанги ты такой DSN прописал в конфиге, сказал MyModel.objects.all() и PROFIT

Igor
07.02.2017
19:59:21
А почему?
ну, меня все устраивает, но некоторые критикуют их за то, что можно понаплодить миксинов и прочей хуйни, что потом хуй сам проссышь, как у тебя что наследуется и переопределяется. MRO, хуемое

Stanislav
07.02.2017
20:00:20
вообще нет
Кто говорит нет на то что он зеленый - он зеленый

Google


Артем
07.02.2017
20:00:51
Привет, господа!
Относительно давно в этой группе нахожусь, но так и ни словом не обмолвился.
Начну с предисловия, потом опишу суть диллемы.
С питоном знаком ровно год. На работе использую django(когда устроился в фирму - уже все было на ней написано, да и что уж греха таить, только django я и знал).
Пол года наблюдаю за движением в мире питона и за общением в чатах в телеграмме тоже и вот что заметил. 80-90% отзывов о django - отрицательные. Я не из тех, кто будет яро ее защищать.
Наоборот, практически все из вас для меня некие гуру мира python, люди, которые знают о чем говорят.
Вот я и подошел к вопросу. Если ты считаешь django херовым - что именно используешь вместо?
(В начале пути я был очень доволен джангой, когда играл по ее правилам, но потом, когда мне понадобилось что-то закастомить - у меня появились проблемы. Ну вы поняли, ага, все начало играть за "другую команду", и ОРМ и все такое. После этого я начал искать замену но так и не смог выбрать)
Почему пишу сюда - тут по хардкору пояснят. И да. Я не прошу в ответ критики django, мне нужно всего лишь аргументированный совет/ответ.
Извините за столь большой пост
отличнейший пост, самому интерессно послушать что эксперты скажут


Igor
07.02.2017
20:01:33

Vladimir
07.02.2017
20:01:45
я просто к тому, что у джанго порог вхождения в ее орм ниже, чем у алхимии
и вот на этом db.session.query ты уже огребаешь
если у тебя >1 thread
оно нихера не тредсейф!

Igor
07.02.2017
20:02:18
хм

Stanislav
07.02.2017
20:02:24
scoped_session ок же

Vladimir
07.02.2017
20:02:30
тебе надо самому писать логику блокировок на запись в базе
я вот сейчас как раз сам с этим столкнулся

Stanislav
07.02.2017
20:02:54
чтото вы не то делаете

Vladimir
07.02.2017
20:03:00
что _ = cls(); _.save() из двух тредов рушат мне приложение, т.к race condition как он есть.

Google

Stanislav
07.02.2017
20:03:02

Vladimir
07.02.2017
20:03:18
--concurrency=1 спас, но блять!

Stanislav
07.02.2017
20:03:32

Vladimir
07.02.2017
20:03:40
ну да, но об этом же знать надо
я о том и говорю
что джанго это все за тебя делает

Stanislav
07.02.2017
20:04:00
не делает
джанговский get_or_create хачили и фиксили сколько я его помню
и десяток экранов текста не просто так написано https://wiki.postgresql.org/wiki/UPSERT

Igor
07.02.2017
20:05:22
что джанго это все за тебя делает
ага, другой хороший пример, когда джанго все за тебя делает - это тамошний модель юниттестирования.
если наследовать тест от django'овского TestCast, тот будет создавать бд/транзакции на каждый чих, даже если ты в тесте не пользуешься БД в принципе. Надо самому указывать в тестах, которые не работают с БД, SimpleTestCase; и пользоваться малоизвестным (я ни разу не встречал чтоб юзали, но я мало работал с джанговскими проектами) setUpClass (или как-то так) вместо обычного setUp'а

Vladimir
07.02.2017
20:05:46
вот я не люблю, когда за меня настолько все делают.
поэтому лично у меня нежная любовь с flask+uwsgi.

Igor
07.02.2017
20:06:11

Vladimir
07.02.2017
20:06:21
мне cbv не нужны просто :)

Аркадий
07.02.2017
20:06:38

Stanislav
07.02.2017
20:06:49
джанга ничего для тебя не делает. даже наоборот. весь мой опыт с джангой это ковыряние в её кишках чтобы она не скрывала эксепшены дайвера базы при нарушении констрейнов/зафэйленых транзакциях да эмулировала refresh

Vladimir
07.02.2017
20:07:23
я вообще олдфаг и пишу на 2.7 до сих пор

Google

Stanislav
07.02.2017
20:07:40
а торнадо это замена джанге

Vladimir
07.02.2017
20:07:43
хотя хипстеры вокруг подворачивают штаны и кричат про 3.6

Аркадий
07.02.2017
20:08:40
ясно
Это был вопрос в такой слабой форме.

Stanislav
07.02.2017
20:09:17
aiohttp: Asynchronous HTTP Client/Server

Igor
07.02.2017
20:09:23
я б не назвал aiohttp заменой фласку
это скорее sanic - замена фласку

Stanislav
07.02.2017
20:09:36
Flask is a microframework

Аркадий
07.02.2017
20:10:21
Ладно, сори, дождусь экспертного мнения, пока еще чего не ляпнул.

H
07.02.2017
20:11:30

Stanislav
07.02.2017
20:11:33
нжинкс замена апачу

Denis
07.02.2017
20:12:08
Нжинкс не замена апачу

Vladimir
07.02.2017
20:12:09

Stanislav
07.02.2017
20:12:46

Denis
07.02.2017
20:12:51
С ним нельзя так ебаться, как с апачем

H
07.02.2017
20:14:28

Stanislav
07.02.2017
20:14:49
вы такие наркоманы
вот на то что файлик не закрыл ругаться можно

Igor
07.02.2017
20:16:04

Stanislav
07.02.2017
20:16:05
а на то что мешают сервера и фреймворки в одну кучу это нарм

Denis
07.02.2017
20:16:07
Файлик сам сборщиком мусорв закроется
Особенно если на чтение

Google

Zart
07.02.2017
20:16:29

Stanislav
07.02.2017
20:17:27
ржу. я это вбросил как пример но видимо говорить на эту тему можно бесконечно

Denis
07.02.2017
20:17:30

Stanislav
07.02.2017
20:18:12
у питониста две беды - закрытие файликов и пепификация

Zart
07.02.2017
20:18:14
потому что это за тебя ос сделает уже

Stanislav
07.02.2017
20:19:13
предлагаю обсудить нжинкс как веб-фреймворк

Igor
07.02.2017
20:19:28

Denis
07.02.2017
20:19:33
В wsgi не умеет, нинужен

Zart
07.02.2017
20:19:33
луа не сюда

Igor
07.02.2017
20:19:58

Stanislav
07.02.2017
20:20:00
я даже пытался писать на нем https://openresty.org/en/

Eugine
07.02.2017
20:20:14

Stanislav
07.02.2017
20:20:16

Zart
07.02.2017
20:20:22
в Rude Lua

Denis
07.02.2017
20:20:35

Stanislav
07.02.2017
20:20:46
чем ?

Zart
07.02.2017
20:20:53

Denis
07.02.2017
20:21:00
Стильно, модно

Stanislav
07.02.2017
20:21:03

Google

Denis
07.02.2017
20:21:06
Стабильно

Zart
07.02.2017
20:21:22
мы опять сравниваем несравнимое?

Stanislav
07.02.2017
20:21:32
сравнимое же

Zart
07.02.2017
20:21:41
совсем нет

Stanislav
07.02.2017
20:21:55
зачем брать хттп, немножко менять и передавать в бек ? если можно сразу передать хттп и распарсить там

Denis
07.02.2017
20:22:03
Мы опять очень толстые

Stanislav
07.02.2017
20:22:09
ничуть

Zart
07.02.2017
20:22:19
всги - питоновый апи
хттп - протокол

Stanislav
07.02.2017
20:22:44

Zart
07.02.2017
20:22:49
совсем, блять, сравнимое

Stanislav
07.02.2017
20:23:06
ну как нет
это способ передачи хттп реквеста/респонса питону

Zart
07.02.2017
20:23:28
фастцги, сцги, ажп - протоколы
всги - спека апи
ты бля пойми что и как каждый из них делает, а потом заявляй

Stanislav
07.02.2017
20:24:18
так я и понял

Cykooz
07.02.2017
20:25:09
Наверное попутал с протоколом uwsgi, который к wsgi имеет сильно косвенное отношение

Zart
07.02.2017
20:25:41
примерно такое же как все вышеупомянутые

Stanislav
07.02.2017
20:25:56
не попутал
ну просто зачем парсить хттп в нечто отличное от хттп чтобы передать на бекенд как хттп ?

Zart
07.02.2017
20:26:30
на питоне есть вебсервера без всги