V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  abersheeran  ›  全部回复第 35 页 / 共 88 页
回复总数  1752
1 ... 31  32  33  34  35  36  37  38  39  40 ... 88  
2021-10-15 14:57:38 +08:00
回复了 brMu 创建的主题 分享发现 终于找到一个完美的手机浏览器
看视频难道不是买个 Surface Go 最香?
2021-10-15 09:16:26 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
@liuhan907 Golang 是做不到你想要的这个,忍忍或者换语言😏
2021-10-15 00:40:08 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
@balabalaguguji 哈哈哈,其实如果没有给指定分组增加中间件的功能,还可以用 PATH 来绕开,只不过比较麻烦。我当时也是灵机一动,觉得这个能解决中间件的适用范围问题就加上了。
2021-10-15 00:38:28 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
@liuhan907 用中间件,把数据挂到 context 上不也一样吗?像依赖 Annotation 来自动注入的应该就 Java 和 Python 了吧。
2021-10-14 20:47:59 +08:00
回复了 balabalaguguji 创建的主题 Go 编程语言 很喜欢 Echo 框架
好家伙,看到分组中间件、路由中间件我犹豫了一下,想着不会是那个意思吧,结果一查还真是。和我在一个 Python Web 框架里设计的,不谋而合……哈哈哈,和业界典范想到一起了还挺开心。

https://index-py.aber.sh/stable/route/#_5
https://index-py.aber.sh/stable/route/#_13
2021-10-14 17:08:16 +08:00
回复了 JerningChan 创建的主题 Python 请教个 pycharm 远程调试代码的问题
建议用代码同步工具同步上去……调试在本地
2021-10-14 17:04:52 +08:00
回复了 x86 创建的主题 问与答 德国人是不是很喜欢吃水饺?
爱吃饺子的德国人喜欢吃水饺,其他则不然。
2021-10-12 14:56:12 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
我查到了 https://github.com/snower/TorMySQL/blob/master/tormysql/platform/asyncio.py#L83

原来内部还是异步的……只是用 greenlet 把 Coroutine 转成了 Greenlet 。
2021-10-12 14:51:56 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 啥?我上面说的是把那个函数包装一个同步 SQL 查询,然后丢进异步 Web 框架里测试的结果,还不如直接在异步框架里跑同步 SQL 查询快,如果用多线程包装的异步调用,那并发能达到四倍。

TorMySQL 我没试,我只有 pg 环境,所以我才问你,你确定这么写能真正的把同步 SQL 查询包装成异步的以提高并发吗?
2021-10-12 14:07:00 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 不是,我的意思是 TorMySQL 你确定是一个能有效使用的 MySQL 异步驱动吗?如果这个比直接调用同步函数还慢,那 TorMySQL 岂不是仅挂了一个空壳?
2021-10-12 11:00:58 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
async def async_call_method(func, *args, **kwargs):
ioloop = asyncio.get_running_loop()
future = ioloop.create_future()

def finish():
try:
result = func(*args, **kwargs)
if future._callbacks:
ioloop.call_soon(future.set_result, result)
else:
future.set_result(result)
except Exception as e:
if future._callbacks:
ioloop.call_soon(future.set_exception, e)
else:
future.set_exception(e)

child_gr = greenlet.greenlet(finish)
child_gr.switch()

return await future


我还试了你在 TorMySQL 里的函数,单纯用这个函数调用同步函数,比直接调用同步函数还慢一点。
2021-10-12 10:59:14 +08:00
回复了 sujin190 创建的主题 Python 分享一下完全不依赖 asyncio 也支持异步语法的库
@sujin190 #15 我深入研究了一下,发现你说的这个不就是把 asyncio 重新实现了一遍吗?我以为切换过程是自动的,结果是手动的。那这个的意义在哪儿? greenlet 的效率比 generator 也高的有限吧。
2021-10-11 14:39:49 +08:00
回复了 shyrock 创建的主题 Python 阅读 Python 代码的困难
是的,这正是动态类型语言的弱点。所以 JavaScript 有了 TypeScript,Python 有了 Type hint 。

Type hint 的例子 https://github.com/abersheeran/baize,几乎没有 Any,很接近静态类型语言了,读起来应该会比较简单。
@jianhaochende 对。我想了一下,如果你真要在 h11 里实现,只能在 sendfile 之后生成等长度的空白 bytes 丢给 h11,性能会差很多,不过还是要比一点点读文件去发送要快。你可以试试。
@haoliang os.sendfile 不会阻塞。
看到你这个帖子之后我想起来之前 uvicorn 的维护者问我有没有空帮忙实现这个扩展,刚刚写了一下 https://github.com/encode/uvicorn/pull/1210 。你参考参考吧。
GitHub 上向我们提问的原来是你……这个扩展是我设计的,设计之初我想的是追求极致的性能——用 C 、Rust 实现的服务器接受一个文件描述符远比接受一个 PyObject 要更方便处理。

这里你应该用 os.sendfile 而不是 loop.sendfile
不会中文建议去东南亚哈。中国现在没有租界,普通人不会中文吃个饭都费劲,他不可能顿顿去服务员能熟练用英式英语对话的饭店吧。买菜那更别说了,大爷大妈说普通话都够呛,就别指望英式英语了。
1 ... 31  32  33  34  35  36  37  38  39  40 ... 88  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1083 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 18:07 · PVG 02:07 · LAX 11:07 · JFK 14:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.