V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LeeReamond  ›  全部回复第 45 页 / 共 88 页
回复总数  1751
1 ... 41  42  43  44  45  46  47  48  49  50 ... 88  
2022-04-06 11:54:19 +08:00
回复了 Ds97 创建的主题 程序员 验证短信码被盗刷怎么办
感谢 LZ 发帖可以学习解决方案。业务上之前听说过最简单的方法是屏蔽境外 IP ,境内 IP 直接按损失数额报警送对方进橘子就行了。可惜 LZ 的业务有大量海外用户,这就比较难搞了。
我遇到过的情况,江苏电信用户,源网站加了 https 的话返回信息是错误页面,通信被阻断了,手机访问正常,后来查了一下说是上了反诈名单。网站上没有任何敏感信息就是个博客,应该单纯因为服务器在境外
2022-04-04 11:48:43 +08:00
回复了 plko345 创建的主题 Python 请教 StopIteration 为什么能捕获到结果
@plko345 不,这个理解不对,__await__的 return 值必须是可迭代对象,它会被多次激活,所以行为不能理解成一般方法的顺序执行并返回。在这个例子中,他的第一次 await 行为可以理解为(预激前)返回了生成器并预激,此后每次被 await 调用时步进生成器,hacking 将生成器执行逻辑和定义逻辑重合引起误解。我在 1L 最后一句话指根协程返回后上浮,并不是__await__的 return 值产生了 StopIteration ,表述不准确也误导了你
2022-04-04 11:38:16 +08:00
回复了 plko345 创建的主题 Python 请教 StopIteration 为什么能捕获到结果
@plko345 Thing 对象第二次被击穿的时候向它 send 了一个数,然后 return 了这个数,本质起到中转作用,thing_interceptor 充当事件循环,每次当它获取控制权时,负责不断向协程对象 send 以维持程序运行。程序除了顶层协程做根外,其余的中转全部在内部生成和消化,不会向事件循环上浮,最后递归返回后,根协程向事件循环返回常数,被包装在 StopIteration 里。你的注释有一些错误
2022-04-04 06:20:19 +08:00
回复了 plko345 创建的主题 Python 请教 StopIteration 为什么能捕获到结果
看了看 gist 原文,标题叫 loop_hack ,很清晰地表达了代码需求。

__await__魔术方法必需要返回一个可迭代对象,如果直接返回 self 的话,由于 Thing 本身没实现__next__方法,并不是可迭代对象,这里利用了 py 的 yield 特性,凡定义 yield 的函数例如 func ,在调用 func()时区别于默认的返回 return 值,作为替代会返回 func 的生成器对象,解决了必须返回可迭代对象的问题。同理可以使用以下代码:
```Python
class A:
def __iter__(self):
return (yield self)
for _ in A():
...
```
因为是非常莫名其妙的写法,所以作者也在标题里写了这是 hacking 。但是由于这里少写了一个换行导致语义很难理解,如果我做 codereview 会直接枪毙,实际上就是 input=yield self 然后 return input ,即将该对象作为只能激活两次的可迭代对象,第一次返回 self 第二次上浮 StopIteration ,后面的就很好理解了。
@lizytalk
@srlp
@janxin Pandas 确实很好用,但 pandas 无法覆盖 100%场景,即使 pandas 能覆盖 80%,其余的 20%原生代码成为性能瓶颈解决起来很头痛。而我看新框架有原生自定义 dll 插件的功能,感觉很有吸引力,但由于搜到的相关信息很少
@srlp 目前已有解决方案,发帖想询问一下新框架的提升空间
2022-03-31 16:52:20 +08:00
回复了 wuwukai007 创建的主题 Python 安装了 python3.10,满吃惊的
@ziding 我觉得比起谨慎怀疑你为什么不直接用用看呢,毕竟 ubuntu 直装连编译都不用。。。pyston 因为本身 jit 的 hacking 比较少,你去看仓库可以看到报 bug 几乎都不存在的,但是这种四两拨千斤倒也确实是效果还不错毕竟纯运算性能已经接近 2x ,而内存增加相比之下非常少。。
2022-03-31 00:19:46 +08:00
回复了 wuwukai007 创建的主题 Python 安装了 python3.10,满吃惊的
@agagega 确实,不过这个性能对比也是看个乐,定性分析尚可,定量图一乐,debian 列的测试项目偏向算法实现效率,跟实际生产环境还是偏离挺远的
2022-03-30 23:11:38 +08:00
回复了 wuwukai007 创建的主题 Python 安装了 python3.10,满吃惊的
对 py 解释器性能比较关注,自己维护了个语言性能对比项目(基于 debian 的测试)。其实 py 解释器版本 3.9 以下最快的是 3.8 ,而 3.9 因为从 LL1 换成 PEG 似乎实机性能是还下降了一丢丢,3.10 有优化可以理解。理论上如果你需要开封即用的性能的话 dropbox 的谱 pyston 的实现由于未采用 pypy 的 cffi 类似方案所以不存在 c 类库兼容性问题,想要的话你可以立刻获得二倍性能的解释器,稳定性方面我司在日志服务和一些内部管理系统上用于生产环境未遇到问题。所以理论上有 pypy 和 pyston 在前面打样,guido 所说在未来几个版本里提升 4 倍性能的说法也完全不是什么天方夜谭。

https://i.imgur.com/xL1sfXi.png
@villivateur 严格来说跑起来的服务只要不关超过 5 年很正常,20 年不动的服务也是有的
2022-03-28 21:14:13 +08:00
回复了 LeeReamond 创建的主题 Python 分享一个自用的 timeit 给代码计时的奇技淫巧
@wcsjtu 用 ast 模块是一种方案,但是离不开反射获取源码,由于实际生产环境的代码可能有复杂的嵌套关系反射本身很容易出故障。

至于误差问题,cpython 的 for 循环 overhead 确实高于其他普遍语言数量级以上,除了迭代器实现外甚至还受函数调用位置(由 locals 和 globals 修改规则)影响,不过实际上可以搞一个空 block 做对照组做减法可以很容易算出纯代码段开销。
2022-03-27 16:41:55 +08:00
回复了 LeeReamond 创建的主题 Python 分享一个自用的 timeit 给代码计时的奇技淫巧
@zhailw 虽然 for 的语义不太清晰,但实现起来简单很多
2022-03-27 01:59:10 +08:00
回复了 LeeReamond 创建的主题 Python 分享一个自用的 timeit 给代码计时的奇技淫巧
@zhailw 也不是不行,但是咋实现呢
2022-03-26 02:35:40 +08:00
回复了 llsquaer 创建的主题 Python Python 发现个奇怪知识,类属性不被实例化修改,即可被外部修改
@lux182 解决方案:招募正经程序员
2022-03-24 23:05:30 +08:00
回复了 LeeReamond 创建的主题 问与答 Nginx 能否实现将 Cloudflare 代理的 IP 替换为用户 IP?
@silverfox 这个方案也可以,看起来是直接替换反代 IP ,但似乎与 cf 服务器绑定了
2022-03-24 23:03:36 +08:00
回复了 LeeReamond 创建的主题 问与答 Nginx 能否实现将 Cloudflare 代理的 IP 替换为用户 IP?
@also24
@cweijan proxy_set_header 可以设置 header ,但怎么读取其他 header 的值?
2022-03-24 18:55:13 +08:00
回复了 lizhiqing 创建的主题 分享发现 这种钓鱼网站为什么要侮辱我智商
@lizhiqing cf 反代还能用作扩充 IP 池?你网页写 POST 的话不是跨域了吗
2022-03-22 00:13:07 +08:00
回复了 LeeReamond 创建的主题 问与答 有关 Oracle 数据库主键使用自增策略,存在什么坑吗?
@gt15207 感谢分享,很有用的经验,性能方面比较在意的是热块争用以及储存上的碎片问题,这在 mysql 里存在但不太清楚 oracle 的情况,如果不存在 mysql 的种种问题的话似乎 uuid 是很不错的选择。我们目前没有严格递增的需求,不过考虑到这个需求的话,简单想了一下好像也不感觉业务处理会有啥更快的方法,就算搞一个业务锁处理节点同步也很费时间啊
1 ... 41  42  43  44  45  46  47  48  49  50 ... 88  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5564 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 58ms · UTC 01:28 · PVG 09:28 · LAX 17:28 · JFK 20:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.