V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ClericPy  ›  全部回复第 93 页 / 共 133 页
回复总数  2648
1 ... 89  90  91  92  93  94  95  96  97  98 ... 133  
2019-12-07 12:14:19 +08:00
回复了 PhaSelEza 创建的主题 硬件 Y9000X 出了新配(i7, 32G, 1T, FHD, ¥ 8999)
这配置好馋啊, 内存比我小米游戏本还大, 不带独显也更满足(我是买来学习的, 不是打游戏), 不知道有测评没有, 良心不良心
2019-12-07 11:45:36 +08:00
回复了 pmispig 创建的主题 Python python3 请问协程怎么 wait_for 一个 task list
@pmispig #6 对的, asyncio 里大部分设计都比较明确, 就是 wait 和 gather 以及是否默认 cancel 这部分比较混乱. 又懒得装 trio 那些, 只能硬着头皮看源码看文档了
2019-12-07 10:43:38 +08:00
回复了 pmispig 创建的主题 Python python3 请问协程怎么 wait_for 一个 task list
简单等待
coroutine asyncio.wait(aws, *, loop=None, timeout=None, return_when=ALL_COMPLETED)
并发运行 aws 指定的 可等待对象 并阻塞线程直到满足 return_when 指定的条件。

返回两个 Task/Future 集合: (done, pending)。

用法:

done, pending = await asyncio.wait(aws)
如指定 timeout (float 或 int 类型) 则它将被用于控制返回之前等待的最长秒数。

请注意此函数不会引发 asyncio.TimeoutError。当超时发生时,未完成的 Future 或 Task 将在指定秒数后被返回。


time.sleep 本来就不是异步的, 非要用, 有三个方法吧

1. 模仿 gevent 猴子补丁把 time.sleep 给 hack 掉, 不建议
2. 动态语言可以加载以后动态修改原始函数, 把第三方的那个函数给修改掉成协程版本
3. 这种本来就不是异步函数的, 直接套个 executor 然后 await loop.run_in_executor 就可以了, 这个最保险
2019-12-07 10:23:06 +08:00
回复了 linde 创建的主题 程序员 gitee 想说爱你不容易
码云上次说的是阿里云 dns 拉黑它吗, 哈哈名字犯忌讳, 当时看可不只这一个网站拉黑, 很多外国网站也拉黑了, 害我改 ECS 上的 dns 折腾了好一会, 这次什么问题, 本来想在 gitee 做个灾备, 这一看还不如用 coding?
2019-12-07 10:07:02 +08:00
回复了 wesleyqiu 创建的主题 科技 瘾科技的页面出了什么幺蛾子
@wesleyqiu #5 不知道啊, 我平时只用 RSS 的, RSS 那几篇是没问题的所以你不说我都没注意...
安卓不知道, 你说的拦截, 要用 chrome 点开吗, 可以了解下 chrome 的 cdp 那套协议(说白了就是 remote debug by devtools), 拦截流量, 控制浏览器什么的都可以做到, 会点 http 和 WebSocket 的知识就能打通了, 实现过相关的库, 但是不优雅就不推荐给你了

或者直接无脑走 MITMproxy 那套, 不但能拦, 还能改呢(cdp 也可以...)
2019-12-06 23:24:27 +08:00
回复了 wesleyqiu 创建的主题 科技 瘾科技的页面出了什么幺蛾子
和 js 没关系, 就头几篇有问题... 真想把自己的帖子全删了
2019-12-06 23:23:05 +08:00
回复了 wesleyqiu 创建的主题 科技 瘾科技的页面出了什么幺蛾子
GET https://cn.engadget.com/lib/metro/g/myy/rapidworker_1_2_0.0.31.js 404
C @ rapid-3.53.2.js:1
w @ rapid-3.53.2.js:1
sendRapidNoDelay @ rapid-3.53.2.js:1
(anonymous) @ rapid-3.53.2.js:1
YAHOO.i13n.Rapid @ rapid-3.53.2.js:1
(anonymous) @ (index):49
(anonymous) @ (index):55

不知道有没有关系, 反正这种情况要么新程序员提了错代码, 要么迁移导致兼容性有问题, 要么就是 cdn 之类的打不通了(类似当年的 BootCDN )
2019-12-06 23:17:45 +08:00
回复了 wesleyqiu 创建的主题 科技 瘾科技的页面出了什么幺蛾子
<a href="" class="C(engadgetFontBlack) Fw(400) Td(n) Bdbw(1px):h Bdbc(lightgrey):h Bdbs(s):h Fz(30px) Lh(35px) Fz(22px)--sm Lh(25px)--sm">三星 Galaxy S11 可能会采用 108MP 相机</a>
太多了 999... 用 adb 通过 包名和 biz 拼凑 uri 调起 Profile 页面, 流量里可以直接拿到最新一篇的时间, 不需要二次请求, 然后对超过半年的调起取关按钮

简单的操作 tasker 就可以实现, 包名什么的网上随便一搜一大把也不用逆

频率一高就会封号的, 已经封过好几次, 解封还要干净并且半年没解封别人的辅助解封. 再也不敢用自己微信折腾了, 这也是我现在弃用微信的一大原因吧...
2019-12-06 16:38:41 +08:00
回复了 qixiangyangrm 创建的主题 Python 关于多线程和协程各自适用场景问题
@sylvos #21
可以看看 Benchmarker 那个项目, hug 从 falcon 包装来的, C 加成已经飞起来了, falcon 的性能接近 golang, fastapi 基于 starlette, 后者和 golang 差距还不小, 不过 fastapi 的几个设计思想挺有意思可以借鉴, 自带 swagger, 类型面向对象的类型检查是卖点, 不过这些都可以用插件代替
后面三个东西... 看看有没有官方 asyncio 支持吧, 如果没有就丢进 executor 问题不大的, 通过多线程包出来的协程, 不是特别高并发的话开销可以忽略, 毕竟很早期(忘了是不是 aiomysql 了) 挺多轮子这么包的

轮子什么的, 之前看的时候只是记个大概, 脑子里根据需求建个索引就没继续搞了, encode 和 aiolibs 是比较有名气的协程库组织, Django 当年提了 asgi 以后 uvicorn 火了一把

我不是什么大神前辈, 就是个刷题找工作的可怜虫...
2019-12-06 15:42:28 +08:00
回复了 xiliu 创建的主题 Python 请问下, 大家在公司的业务中使用 Python 都是做什么?
@qixiangyangrm #77 微服务多了, 什么类型的数据都得爬... 一开始 http 被我给 D 了, 两三个大佬找上来吓死我了, 后来还是接 kafka 原生消息才不走轮询, 说多了都是泪
2019-12-06 15:40:28 +08:00
回复了 qixiangyangrm 创建的主题 Python 关于多线程和协程各自适用场景问题
@sylvos #17
mysql client 支持协程的现在都烂大街了吧, 已经不是早年间给同步库套个线程做成协程就拿来用的时候了, 如果你非要, 看看 run_in_executor 的文档一看就懂了, 就是让一个跑在 concurrent.futures 的 ThreadPoolExecutor 里面的 Future 转成一个可以 await 的玩意. 我平时更喜欢用 asyncio 的 Future 去 await 一些协程玩意

换个现成的轮子算了

aio-libs/aiomysql
encode/databases

我平时用的前者, 但是更喜欢后者(很像 R 神那个 record), 这俩组织出的 aio 库太多太好使了, 至于速度... 没做过 Benchmark 不知道谁快, 看源码谁用 C 谁快吧

httpx 没有 C 加成提速, 暂时只能用 aiohttp 代替 Requests, 但 starlette 是真的好使
@DeweyLiu0 #17 北京的时候经常掉, 山东联通现在除了图片等 assets 域名, 基本裸连没问题
偷偷提醒下: 有些"不存在的" app 和 website 可以看到一些面试者和员工的爆料.

因为不存在, 所以我也没用过
我现在直连, 也不改 host, 依然很快, 四五百 KB/s

没啥好办法... 少数时候连接失败得开飞机

上次有人提到个 Github 的镜像站, 不知道背景没敢登录
2019-12-05 22:47:19 +08:00
回复了 jaylee4869 创建的主题 Java boss 说了一个骚操作。。。
就喜欢看这些骚操作哈哈

以前用 python 也干过类似的事情, 确实方便, 一个 route 让我接了几十个 utils..... 而且也方便一句 /doc 当场看文档, 至于安全问题, 做了限权和 slots, 问题不太大

不过后来就不这么折腾了, 看 doc 也用 swagger
2019-12-05 22:37:38 +08:00
回复了 huage 创建的主题 问与答 为什么中国的开源 CMS 类系统发展不起来?
因为... 通用框架太简单, 功能复杂的话那些公司也有足够的开发团队刷 KPI, 不需要买?
2019-12-05 21:07:45 +08:00
回复了 snowfish 创建的主题 Python 请教个 pyd(cython 编译)的问题
随手搜了下, flask 有个 issue 也提到改成 python -m xxx.pyd 可以避免

原来 2 3 楼你们说的是这个...
2019-12-05 21:05:50 +08:00
回复了 qixiangyangrm 创建的主题 Python 关于多线程和协程各自适用场景问题
@qixiangyangrm #3 线程的好处是, 任何同步函数都能给你整异步来搞, 有些 C 库默认就是同步模型走不了协程, 也就没办法通过协程来提速, 但是线程套上依然可以搞 (以前遇到的问题就是 gevent 会被那种库 block 住)

协程就像你说的, 在特别高并发场景下, 切换开销比线程低的多, 然而在当前大环境里面, 如果你整个业务系统都是在协程的主线程事件循环里跑的 (就像 uvicorn 托管个 asgi), 肯定有阻塞的函数都尽量用协程来实现, 无法实现的把它丢到多线程那个 executor 里造个类似 Future 的协程就兼容起来了, 开销影响也不会太大

我试过在 Windows 上跑协程和多线程对比差距不大, 协程在 uvloop 尤其是 epoll 环境下面效率会不错, 可以对比 Benchmarker 项目里的一些结果, 然而真正提速的反而是依赖 C 的加成, 目前来说还是不用太纠结性能问题, 都用上 python 了, pure py 项目再优化天花板也有限的很

就目前环境来说, 养成全局协程的习惯还是比较好的. 场景来说, Django 3.0 都正式把 asgi 搞起来了(比前个版本 channels 好像优化了不少), 多线程已经基本可以当做一个子集来用了
1 ... 89  90  91  92  93  94  95  96  97  98 ... 133  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2738 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 46ms · UTC 12:37 · PVG 20:37 · LAX 04:37 · JFK 07:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.