V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  codehz  ›  全部回复第 10 页 / 共 125 页
回复总数  2495
1 ... 6  7  8  9  10  11  12  13  14  15 ... 125  
主要是混淆了“继承/派生”和“子类型”的两个关系
它们原则上应该是正交的关系,不过在 java 里,类继承同时包含了学术意义上的“继承/派生”和“子类型”,实现接口(不考虑默认实现这个新玩意)则只包含“子类型关系”
也就是说,理论上类型 S 和类型 T 的关系有这 4 种可能性
1. S 既不是 T 的子类型也不是派生类型
2. S 是 T 的子类型,但不是 T 的派生类型
3. S 不是 T 的子类型,而是 T 的派生类型
4. S 既是 T 的子类型又是派生类型
而 java 禁止了 3 这个选项
子类型关系,可以简化为 is-a 关系,就是你所看到的“替代另一个对象”的描述
继承关系,才是复制/共享实现的含义,也就是“根据一个对象的实现定义了另一个对象的实现”
所以 java 的类继承是做了两件事
1. 复制父类的实现
2. 将自身标记为父类的子类型
我觉得 rn 的主要问题是在于,缺少一个能被大家接受公共组件基础,导致各个组件库之间缺乏合作,基本上都要各自发明轮子,Context 是一层又一层的
想结合两个不同组件库里的组件做一个新的组件,得费力适配很多东西
不在乎延迟的话,可以考虑不把 video 插入到 dom 里,直接捕获画面并糊到 canvas 上()
@guanzhangzhang 哦,也不是完全不行
我就整了一个 https://github.com/codehz/nobodyexec 编译好之后,
unshare --pid --mount-proc --fork --propagation slave ./nobodyexec unshare --map-root-user bash start-session.sh
start-session.sh 现在就是 pid 1 的位置了
@guanzhangzhang 就是先用容器内的 root ,unshare --fork --pid
然后里面再 su nobody unshare ...
pid namespace 好像问题不大,主要是方便一键咔掉子进程,这个可以用原用户开()
每次 token 都是一次性的呗,需要 js 逆向出算法才能破解
仔细想你这只是为了家目录可写入的话,可以简单的直接在 unshare 里面 mount -t tmpfs tmpfs /root ,这样/root 就是可写入的家目录了
此外你可以选择先切到 nobody 再执行上面说的 unshare ,因为在 map-root-user 的模式下,没有办法再切别的用户了
@guanzhangzhang 生活小技巧
在/tmp 上再挂一层 tmpfs ,然后把其他目录 bind mount 进去,接着 chroot 进/tmp ,然后再执行 mkdir 一类的操作
哦,不要加 setgroups
@guanzhangzhang unshare --fork --pid --map-root-user --mount-proc --propagation slave --setgroups deny
里面直接 mount/chroot 都没问题
196 天前
回复了 nyxsonsleep 创建的主题 VPS 甲骨云必须开启 两步验证吗?
这有啥办法,这种麻烦用户的措施,不强推就根本没人用,用户被盗号还会被大众批判“这么大一个公司,连账号都保护不好”
@62742a40 不联网的也要备案,就算工具类应用,你也得强行弄个域名,然后假装成服务域名,才能上架到应用商店
你都 unshare 了,不如再 map-root-user 一下(也就是用 user namespace )
不过你这个“小巧的 rootfs 内的 shell 交互”真的可以在非特权用户下跑吗?
你这个 rootfs 要可变的还是不可变的呢
不可变的话,我这有一个封装 rootfs 的小工具 https://github.com/codehz/EasyPak ,本来是用于快速封装一个二进制及其依赖到单文件
只是单纯 chroot 的话,unshare 的 map-root-user 应该就可以用了
我猜还是因为启用了 hardened 的配置文件,导致了用上了一些先前没用上的语言特性,然后这些特性需要 gcc 的运行时库
198 天前
回复了 SkyLine7 创建的主题 Java jwt 如何做在线踢人功能?
还是需要一个地方存 revocation list ()
相比于其他不透明 session 来说,revocation list 可以在后端用 bloom filter 做初筛(因为数量上 revoke 的肯定比较少,分发 bloom filter 的状态更便宜)
libgcc 是自动加上的,用到了相关语言特性(甚至不是函数)就会需要链接,问题只在于链接静态的还是动态的差异
不过我怀疑,-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 这个里面,可能指定了强制用动态的
@AoEiuV020JP 还记得之前那啥 XXX 大炮事件吗,在百度首页加了一个外链图片,每个访问百度的用户都会去尝试访问这个地址,然后。。。
@thinkershare 唯一的例外就是图片加载,特指 img 标签直接写的情况,虽然 js 拿不到图片数据,但是图片仍然会被加载并显示,而服务端还不一定能检测到这样的外链(可以设置 referrerpolicy="no-referrer")
android appops 可以禁用音频独占的权限( audio focus )
iOS 那种打开 app 自动暂停,多半是软件故意的,以前可以用这个保持后台运行
1 ... 6  7  8  9  10  11  12  13  14  15 ... 125  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2853 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 14:45 · PVG 22:45 · LAX 07:45 · JFK 10:45
Developed with CodeLauncher
♥ Do have faith in what you're doing.