-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix client.add_post RuntimeWarning #88
Conversation
return add_post.request(self._connector, self._core, tbs, fname, fid, tid, content) 缺少await关键字,已修复
如果某个async函数中没有任何await(因此这个async除了使其返回值类型变成 实际上避免 |
谢谢,学到了,一开始是在教程示例的main函数里面发送回复会报错才找到这添加的😂 |
emmm,确实是个遗漏,你要不要考虑往develop branch发个pr |
已经发送了 |
什么error?
阁下需要 |
|
不在request里抛出的异常都被视为严重错误,比如 |
经典把运行时异常甩给用户来自行处理,然后用户写代码时根本不知道可能会有这些那些类型的异常于是整个进程都 |
不知你能否理解在默认情况下抛给用户的错误只会有两种
|
那不就是上次提到的静默掉几乎所有异常: #82 (comment)
并不是解析失败,实际上从贴吧服务端来看反而是 https://en.wikipedia.org/wiki/Progressive_enhancement 服务端觉得aiotieba是一个远古版本客户端所以就返回可以被远古版本客户端正常解析的普通纯文本之
所以阁下只能在针对贴吧接口的集成测试中发现api breaking changes,而不是在解析语音消息时做运行时assert看到有
实际上那次 #64 (comment) 更严重的是无法归因主题帖回复贴的author是谁,这不会导致许多删帖规则都爆炸? |
行,我比喻得有点问题,我应该用的比喻是【变更前,返回纯数字字符串,变更后,概率返回一个'-'】这种会导致解析错误 |
你不会觉得靠用户输入就能killall吧 |
然而这仍然意味着阁下是在运行时不断assert/validate贴吧接口response的protobuf/json字段值
这就是 https://en.wikipedia.org/wiki/Fail-fast 然而阁下的确无法通过对由用户输入组成的字段值进行运行时validate并将其变动归因为是贴吧接口而不是用户输入本身的变动 |
在tbm这种use case下,假阳性应该是更好的情形吧。毕竟用户可以自行更改对应的请求或者等待上游的更新,而不是说发一个东西,程序方面通过了,结果因为api更改了而被贴吧封号了。 我不了解python,我想如果穷尽贴吧的api做出一大堆对应的exception也是不切实际的想法。 |
您说的很对,但这里是aiotieba而不是tbm
经典自己fork然后重头编译搭建环境
starry神所举的例子
是指无辜8u人士所做的罪恶行径(如发帖)由于贴吧服务端暗改接口返回结果字段值取值范围导致其正好命中了用户(设置规则的用户如吧务)
连文档都拿不到怎么可能穷举,我看贴吧架构师自己都搞不清这堆了20年的微服务屎山里有多少取值范围 而有类型系统也只能narrow一点取值范围,比如规定一个数值只能是int而不会是字符串数字或js人最爱的ieee754,但很难限制这个int必定 然而对于验证api response这种场景,我进一步指出
就好比当您规定某值是 我的建议是 n0099/open-tbm#32 (comment)
|
这个挺有趣的,但是只能拿来赋值用感觉,后面接表达式就不行了,而且也只支持整数 |
它既然是图灵完备那当然可以表达式的吧……? |
|
因为 您需要手动把 |
阁下需要从ts类型系统的视角来看:ts不知道什么是jsexpr之 即便您强迫ts直接把30和10视作literal type而不是退化到number,ts在看到 然而这一切仍然是将类型运算视作lambda演算(即对没有body什么也做不了的纯函数之间的运算)的思维方式
又如
|
至于我声称ts类型系统是图灵完备语言是从最经典的两个论点来看的:
microsoft/TypeScript#14833 然而在现实中为了更好的满足需求我们可能反而需要的是图灵不完备语言,如同早已被irol阁下批倒批臭的lowcode https://www.v2ex.com/t/911081#r_12614035: https://news.ycombinator.com/item?id=10567408 |
我求求你了不要一直at我了我看github邮件猛地一惊还以为有啥事或者issue或者pr了结果点进来一看又是你个n9在at我 @n0099 |
我也早就让他不要无端mention我。 |
而
也是很明显的 ts事实核查
因此结合三大事实,您可以写出等效的js递归:ts playground TL;DR所以为什么类型 而最后的 然而ts的集合减法运算符之 从 |
你都从群论的角度考虑了,为什么不一步到位用 lattice 来描述 subtyping relation 呢?subtyping relation对应了一个 bounded lattice,那 |
return add_post.request(self._connector, self._core, tbs, fname, fid, tid, content)
缺少await关键字,已修复