@ru_python

Страница 7080 из 9768
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
У меня есть пара широких вопросов, на которые не могу найти простого понятного ответа. Никто не хочет обсудить? 1. OData. Хорошая ведь идея, но почему он так мало распространен? И если не OData, то что люди используют вместо него? GraphQL? Но ведь функционал OData больше, чем у GraphQL. 2. Асинхронные Web-фреймворки. Насколько это вообще нужно? Большинство Web-фреймворков на Python (а также на PHP) синхронные. Так что их теперь закапывать? И на чем писать тогда? На asyncio? На Node.js? 3. Отсутствие многопоточности в Python. Как люди живут с этим?
OData. Хорошая ведь идея, но почему он так мало распространен Могу предположить, что майкрософту не очень доверяют Большинство Web-фреймворков на Python (а также на PHP) синхронные. На питоне довольно много асинхронных фреймворков Так что их теперь закапывать? Нет, использовать там где нужно Отсутствие многопоточности в Python Она есть, но просто не очень годится для cpu bound задач Как люди живут с этим? Прекрасно

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

Tirinox
17.11.2018
21:04:43
LighteR на Python'е асинхронных фреймворков раз-два и обчнлся (Tornado и Asyncio).
и хорошо, что мало. вон в JS пока один откроешь еще три выпустят)

LighteR
17.11.2018
21:05:37
LighteR на Python'е асинхронных фреймворков раз-два и обчнлся (Tornado и Asyncio).
asyncio не фреймворк. Навскидку: twisted, tornado, aiohttp, sanic, uvicorn, vibora

хотя uvicorn все же не фреймворк

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

Tishka17
17.11.2018
21:07:31
LighteR на Python'е асинхронных фреймворков раз-два и обчнлся (Tornado и Asyncio).
Ну был ещё твистед. Только его уже закопали. И торнадо уже начали

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

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

Tishka17
17.11.2018
21:08:31
paging из коробки как мы вообще без этого живем?
Paging языком запросов не реализуется. Он сильно зависит от того, как он в сервере реализован

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

LighteR
17.11.2018
21:09:08
по сравнению с Django и Flask - эти фреймворки очень мало распространены
twisted появился раньше django и flask'а. И его довольно много где используют

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

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

Там как бы дальше хз какая база

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

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

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
LighteR то, что метод async не означает, что он будет выполняться в отдельном треде
А как он будет выполняться если фреймворк синхронный?

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

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

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
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
если умные такие - объясните, пожалуйста

LighteR
17.11.2018
21:26:22
если умные такие - объясните, пожалуйста
Под многопоточностью ты понимешь thread'ы?

Smoke
17.11.2018
21:26:28
да

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

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

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

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

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
f-string
Серьезно? Это какой питон??

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

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

str()?

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

Страница 7080 из 9768