
Tirinox
17.11.2018
20:59:43

Tishka17
17.11.2018
21:00:02
И вообще все что делает мс обычно имеет монструозную специфицию не соответствующую никакой реализации

Smoke
17.11.2018
21:01:39
@Tishka17 , вы вообще смотрели на OData? Это же классный интерфейс для запроса данных. Очень удобный и paging из коробки

Tishka17
17.11.2018
21:02:30
Читаю, очень напоминает soap

Google

Smoke
17.11.2018
21:02:41
@tirinox , а раз Python не поддерживает многопоточности, то получается, что и в Python один процесс на один запрос

LighteR
17.11.2018
21:02:43


Smoke
17.11.2018
21:03:52
LighteR на Python'е асинхронных фреймворков раз-два и обчнлся (Tornado и Asyncio).

Tirinox
17.11.2018
21:04:43

LighteR
17.11.2018
21:05:37
хотя uvicorn все же не фреймворк

Smoke
17.11.2018
21:07:11
LighteR , да да, и используют их три человека кроме автора ;)

Tishka17
17.11.2018
21:07:31

LighteR
17.11.2018
21:07:35

Smoke
17.11.2018
21:08:05
по сравнению с Django и Flask - эти фреймворки очень мало распространены

Tishka17
17.11.2018
21:08:31

Gennady
17.11.2018
21:08:38

Google

Smoke
17.11.2018
21:08:47
вот в .NET, например, с асинхронностью вообще нет проблем. Пишещь async и все. И с многопоточностью там нет проблем

LighteR
17.11.2018
21:09:08

Smoke
17.11.2018
21:09:52
@Tishka17 , OData уже paging из коробки. Просто прикручиваешь OData на сервере. И можно делать запросы постранично. Я это делал только на .NET

Никита
17.11.2018
21:09:54

LighteR
17.11.2018
21:09:54

Tishka17
17.11.2018
21:10:15
Там как бы дальше хз какая база

Smoke
17.11.2018
21:10:52
В .NET в том числе и контроллеры можно сделать асинхронными с помощью async - в отличие от Python'овских Django, Flask

Tishka17
17.11.2018
21:11:01
И пока между запросами время прошло, данные обновились и страница ушла

LighteR
17.11.2018
21:11:43

Smoke
17.11.2018
21:11:59
Ну в .NET OData основан на DbContext'е. А DbContext работает с реляционными базами. С SQL Server, например
LighteR , не понял вопрос. В ASP.NET можно у контроллера поставить async и в тебе контроллера написать await

Tishka17
17.11.2018
21:12:54
Сетевой протокол не должен быть завязан на реализацию бд
Заменил бд, а протокол оставил

Smoke
17.11.2018
21:13:34
@Tishka17 , вот я и пытаюсь понять почему люди не используют OData и что они используют вместо него

LighteR
17.11.2018
21:13:47
так я в джанго могу

Smoke
17.11.2018
21:14:11
Заменил БД, то есть заменил connection string в DbContext'е. И у тебя OData будет и дальше также работать

Tishka17
17.11.2018
21:14:20

LighteR
17.11.2018
21:14:38
ну давай, замени мне коннекшен стринг на cassandra например

Google

Tishka17
17.11.2018
21:14:58
На монгц
На эластик

Smoke
17.11.2018
21:15:18
LighteR то, что метод async не означает, что он будет выполняться в отдельном треде

Tishka17
17.11.2018
21:15:25
Вот мы щас мигрируем с solr + postgres на elasticsearch + postgres

LighteR
17.11.2018
21:15:44

Tishka17
17.11.2018
21:16:12
При выполнении запроса клиента реально лезем в две базы: по одной ищем, из другой детали достаем потом

LighteR
17.11.2018
21:16:12
в воркере (неважно thread это или процесс) будет запущен отдельный луп

Tishka17
17.11.2018
21:17:07

LighteR
17.11.2018
21:17:08
стандартрый кейс вообще

Smoke
17.11.2018
21:17:10
LighteR а EntityFramework Cassandr'у не поддерживает

LighteR
17.11.2018
21:17:45
какая печаль. А как же мы будем odata использовать?

Чистилище
17.11.2018
21:18:22
Как сделать проверку того что я вошел в аккаунт?
Если например в ответ html не присылают

Tishka17
17.11.2018
21:19:05

Smoke
17.11.2018
21:19:06
LighteR , хорошо, а что вы будет использовать вместо OData? Писать свой велосипед?

Чистилище
17.11.2018
21:19:38

LighteR
17.11.2018
21:19:56

Smoke
17.11.2018
21:20:35
Задача запроса данных с сервера - это типовая задача, которая встречается почти в каждом web-проекте
OData представляет некий стандарт для этой задачи. И на мой взглад - это достаточно удобная технология

Google

Smoke
17.11.2018
21:21:45
В качестве альтернатив OData я нашел только GraphQL и ODRS. Так по функционалу OData выигрывает обоих
А по поводу отсутствия асинхронности, например, в Django. Я правильно понимаю, что если использовать асинхронный веб-сервер (Nginx), то уже неважно, что Django синхронный?

LighteR
17.11.2018
21:23:21
Вообще, мало того что orm текущая абстракция, так предлагается эту течь распространить вплоть до формирования запросов из браузера

Smoke
17.11.2018
21:24:26
А по поводу отсутствия многопоточности в Python я правильно понимаю, что в Web-разработке многопоточность не нужна. А нужна она в CPU-bound задачах (Machine learning). А для таких задач Python-библиотеки уже оптимизирован-переоптимизированы

LighteR
17.11.2018
21:24:55
отсутствия многопоточности в Python
ты этот тезис откуда взял?

Smoke
17.11.2018
21:25:13
из головый. Я пытаюсь понять

LighteR
17.11.2018
21:25:24

Smoke
17.11.2018
21:25:39
если умные такие - объясните, пожалуйста

Никита
17.11.2018
21:25:42

LighteR
17.11.2018
21:26:22

Smoke
17.11.2018
21:26:28
да

Никита
17.11.2018
21:26:34

LighteR
17.11.2018
21:26:34
они в питоне есть

Smoke
17.11.2018
21:27:04
в Python'е есть GIL. Следовательно, Python выполняется в одном потоке

Никита
17.11.2018
21:27:09
голосовые в чате на 7 тысяч человек? Серьезно?

LighteR
17.11.2018
21:27:19

Никита
17.11.2018
21:27:20

Smoke
17.11.2018
21:28:26
Из-за GIL в каждый мемент времени выполняется только один поток. Так?

LighteR
17.11.2018
21:29:21

Google

LighteR
17.11.2018
21:29:34
С точки зрения i/o - нет

Slam! 538
17.11.2018
21:35:11

Чистилище
17.11.2018
21:38:09
Красиво

LighteR
17.11.2018
21:38:10
А в чем смысл в конструкторе сетить константы?

Чистилище
17.11.2018
21:38:16
А что за f'...?

Slam! 538
17.11.2018
21:38:39

Чистилище
17.11.2018
21:39:00

Smoke
17.11.2018
21:39:05
это String interpolation

Чистилище
17.11.2018
21:39:06
Я просто в питон только вкатываюсь
str()?

Tishka17
17.11.2018
21:39:11

Slam! 538
17.11.2018
21:39:15

LighteR
17.11.2018
21:39:19
зачем делать json.loads если у requests и так есть метод json() у response'а