V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  no1xsyzy  ›  全部回复第 5 页 / 共 267 页
回复总数  5322
1  2  3  4  5  6  7  8  9  10 ... 267  
2021-08-02 12:35:27 +08:00
回复了 O5oz6z3 创建的主题 Python 想请教几个有关 py3 的 exec、字节码和代码对象的问题
@O5oz6z3 主要是如果引第三方库的话,有时会出现你根本没预料到它会去访问的资源。
比如 requests 库会访问环境变量(*_proxy ),但你确实不希望它访问环境变量只希望它访问网络,这里就可能出错。
Python 一个卖点就是和 C 的互操作方便,不依赖于语言提供 ffi 接口,可以使用符合某种形式的 C 标准动态链接文件( dll 存在某符号并改后缀为 pyd )来互操作。当然这也导致了 GIL 的问题。

话说目前我看到过自带沙盒的语言是 racket

docker 确实是个好主意。
squash 和 WIP commit 都有一个问题:如果后来发现一个 bug 需要 bisect 的话,
1. squash 只能发现在这一个大提交之中。
2. WIP 你需要在一堆提交中找到恰当的可用提交。
这都是不可接受的,所以应当采用细致的功能划分,每次只动一个部分。

顺便还有一个命令是 git fsck --lost-found
可能可以找到未提交被 reset 掉的内容。
2021-08-02 09:24:02 +08:00
回复了 O5oz6z3 创建的主题 Python 想请教几个有关 py3 的 exec、字节码和代码对象的问题
@O5oz6z3 不是粒度问题,可能意外地访问一些不可用资源
打个比方,一个库可能默认去访问 $HOME 或 $XDG_CONFIG_HOME 下的配置文件,而你尝试在沙箱里用这个库,就会产生意外的权限要求。因为不是沙箱原生代码,而且 Python 和 C 互操作不依赖单一 ffi 接口,所以麻烦且诡异。
当然,限制到非常小语法集,仅提供最简单的代码执行甚至纯数据 literal 也是可以的(当然最小纯数据可以 ast.eval_literal )。

元解释器不是大问题,sicp 第三章就是在写解释器来着。
你一个个部分去判断是什么语法结构然后手动执行不就行了,又不是让你写成编译到字节码的。
当然,效率嘛……

你这是黑名单用法。话说,也可以白名单。
2021-08-01 22:27:12 +08:00
回复了 O5oz6z3 创建的主题 Python 想请教几个有关 py3 的 exec、字节码和代码对象的问题
沙箱最大的问题就是,插件作者调用第三方库不一定预设了你是沙箱内的,可能去访问一些不允许访问的资源。
所以沙箱要么是 deno 这种处于解释器-操作系统边界的,要么是纯函数的。
话说如果自己愿意写的话用 ast 模块重新写一个解释器也行。
2021-08-01 18:13:13 +08:00
回复了 3dwelcome 创建的主题 分享发现 这年头写个漫画爬虫都心力憔悴。
据说可以用 Cloudflare worker 爬,直接白名单(
2021-08-01 12:57:52 +08:00
回复了 overthemoon 创建的主题 程序员 奇葩的需求
告诉你个消息,我自己做的 hack 都是 csv.DictReader 然后 func(**dct) 传参的。

根据 key 来确定对应关系不合理?你难道要求 json 序列化出来有序吗?
大不了 if else if else if 啊?
建议从编程第二堂课开始回炉
2021-07-31 13:41:05 +08:00
回复了 dream4ever 创建的主题 MongoDB MongoDB 按题型保持一定比例抽题
@xuanbg 其实你这样有点复杂了,应当只需要建立一个「跨用户的全局轮次维度」,也就是说,抽题的顺序无论是 AABBCC 还是 ABCABC,抽出来的题都是(预先打乱并切分好的题组) 123456
具体受抽题顺序影响,组合可能是 A1 A2 B3 B4 C5 C6 或者 A1 B2 C3 A4 B5 C6
只要事先洗牌,也就不需要去判断唯一性,只需要接着上一次抽到的位置之后继续抽就行。
2021-07-30 09:46:12 +08:00
回复了 dream4ever 创建的主题 MongoDB MongoDB 按题型保持一定比例抽题
@xuanbg 并不涉及『每个人』的问题,我比较扭曲,别人把问题错误地表述得过于简单的话,我会突出描述一个「小学生都会做」。
@dream4ever 如果不是严格要求的话,用现成的随机抽样就可以了。
另一种方案,就是把整个题库打乱,然后顺序每次取若干题,定期重新打乱。或者模仿杀戮尖塔那样,耗尽时 shuffle,但可能造成 1st percentile 的性能问题。
@xiri Python 也不完全是强类型语言,魔法特性能够破坏类型保证,应当算是外强中干类型语言(

@ihawk eval 清空环境还不够。你可以从 `()` (空 tuple )里构建出任意字节码并封装成函数执行。
(via <https://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html>)
s = "([c for c in ().__class__.__base__.__subclasses__() if c.__name__ == 'catch_warnings'][0]()._module.__builtins__['__import__']('os').system('ls'))"
2021-07-30 01:05:40 +08:00
回复了 dream4ever 创建的主题 MongoDB MongoDB 按题型保持一定比例抽题
不是很懂 MongoDB 对此问题产生了什么影响,我觉得你把题目的 id 全在内存里存一份也没问题
至于 2. 你要存下之前的 10 道题,不断地随机抽取直到有 10 个与之前不同的。这是基础问题,大概是在编程零基础第三堂课的时候就会讲清楚了(循环)。
2021-07-29 15:51:33 +08:00
回复了 chigeyaowaner 创建的主题 程序员 真的有公司搞 devops 吗?成功了吗?
@qping devops 的起因不是这个,主要还是开发和运维的不一致。
但不妨碍资本家把一些可利用的口号利用起来想法儿削减人员。
2021-07-29 15:32:17 +08:00
回复了 vueli 创建的主题 问与答 经常被借钱,求一段委婉拒绝的话! 感谢🙏
莎士比亚 《雅典的泰门》 第三幕 第二场
编码(包括是否有 Fake BOM 头)、 \r\n
基本就这些问题。
你这『不成熟的想法』和「想法」的关系,有如海马和马的关系。
数学现象强行扯哲学概念,有毕达哥拉斯学派那味儿了

数学上名字包含「自然」这两个字的大多和指数有关,这是因为指数是相当自然的数值规律。
当你在对数域上的较广范围内平均分布时,其数字首位确实符合这个规律
它论证了随机性,而不是推翻。
2021-07-29 14:29:23 +08:00
回复了 chigeyaowaner 创建的主题 程序员 真的有公司搞 devops 吗?成功了吗?
@xuanbg 那这么说我甚至算做过一个 CI 工具(
构建脚本已经有了,我做的只是做一个按钮,按下这个按钮会调用构建用的命令,然后把 stdout 持续地打印到网页上。

@bthulu 赋能,用洋文讲,叫 enable,也就是『使能够』的意思。其实就是『使』开发『能够』做运维的事儿(
2021-07-28 09:10:48 +08:00
回复了 hanguokai 创建的主题 分享创造 新做了一个视频播放器
直接在地址栏输入文件地址不能吗? 0kb,跨平台
2021-07-27 12:45:51 +08:00
回复了 lauix 创建的主题 分享创造 采用 Ai 表情智能控制,任意窗口皆可摸鱼的工具你见过吗?
现在机器视觉不管 AI 不 AI,一律叫 AI
2021-07-27 11:56:37 +08:00
回复了 ibegyourpardon 创建的主题 程序员 彦祖们,这种 API 接口设计有哪些利弊?
在说什么
这不就是一个变形了的 JSONRPC ?

状态模式和日志模式的代价难说,如果编辑是稀疏的,那显然日志模式代价小得多。
奇怪的优势是:日志模式可以减少需要解决的冲突。
1  2  3  4  5  6  7  8  9  10 ... 267  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5739 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 77ms · UTC 06:29 · PVG 14:29 · LAX 23:29 · JFK 02:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.