kuanat

kuanat

V2EX 第 634702 号会员,加入于 2023-06-19 11:38:40 +08:00
今日活跃度排名 4462
Linux 漫谈(二)
  •  12   
    Linux  •  kuanat  •  7 小时 1 分钟前  •  最后回复来自 DejavuMoe
    18
    Linux 漫谈(一)
  •  17   
    Linux  •  kuanat  •  2 天前  •  最后回复来自 rpish
    25
    Go 语言的错误处理语法,不改了!
    Go 编程语言  •  kuanat  •  201 天前  •  最后回复来自 bunny189
    68
    Jetbrains 发布了 Kotlin 官方 LSP
    Visual Studio Code  •  kuanat  •  218 天前  •  最后回复来自 ExplodingFKL
    1
    全闪 NAS 的一些心得体会
    NAS  •  kuanat  •  228 天前  •  最后回复来自 idontunderstand
    25
    基于 Go 语言谈软件开发效率
    Go 编程语言  •  kuanat  •  357 天前  •  最后回复来自 phoulx
    15
    Zed Linux vim 模式输入法切换
    Zed  •  kuanat  •  35 天前  •  最后回复来自 weixiangzhe
    4
    一个好用的、纯软件的扩展屏方案
    分享发现  •  kuanat  •  2024-06-04 22:45:38 PM  •  最后回复来自 kuanat
    2
    V2EX 是否会考虑增加专栏功能?
    V2EX  •  kuanat  •  2024-04-29 12:49:46 PM  •  最后回复来自 kuanat
    5
    kuanat 最近回复了
    1 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(二)
    @dlyxy #15

    如果你的目的是学术或者研究性质的,Google Fuchsia 的 Zircon 内核是个很好的学习对象。如果是应用向的,那么 C/Rust 什么的不重要,重要的是要清楚你在做什么,想要解决什么问题,如何落地。

    我在文章中提到的“过早”优化,反映的也是这样一种现状。很多提案想法都是空中楼阁一样的存在,设计者并不知道下游实际上是如何使用某种功能特性的,也不清楚他们真正的痛点与需求。就比如 DPDK 是个非常小众的领域,我前两年讲 Go 的帖子就提到过将 DPDK 用 Go 重写的例子,实际上用今天的眼光来看 AF_XDP+io_uring 已经不需要内核绕过了,eBPF 提供了非常好的基础。

    目前 Linus 领导下的内核开发是非常务实的,所有想要进入内核的内容都要回答一个极其严肃的问题,是不是一定有必要。
    2 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(二)
    @Maboroshii #10

    最早 Linux 是 Linus 的个人项目,说弱鸡不至于。在 1992 年确认使用 GPLv2 开源许可证的时候,关键的子系统比如 ext 文件系统,网络栈就已经可用,只是比较粗糙,这个时期几乎所有代码都是 Linus 本人写的。1993 年的时候红帽成立之后就开始卖 Red Hat Linux 了。直到大概 1998 年之前,多数代码还是来自于用爱发电的个人。之后 RH/IBM/Oracle 几乎都在同一时间加大对 Linux 的投入,这之后的代码贡献逐渐以这些公司的雇员为主了。用爱发电不是不行,只是效率上肯定没有砸钱来得直接。
    2 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(一)
    @chingyat #20

    systemd 会在后面的章节里面。
    2 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(二)
    @moudy #5

    如果只是说内核的性能,一般是关注上下文切换、IPC 、锁和 IO 。其中锁和 IO 多数与资源有关,上下文切换主要与硬件相关。所以内核能做的优化或者说实现方案主要是减小锁的粒度和范围,异步/缓冲/零拷贝 IO ,剩下的就是 IPC 设计相关了。嵌入式领域如果能用主线内核最好了,但多数时候可能绕不开上游厂家的 bsp 。我个人理解多数情况下不需要关心这些系统层面的安全和性能,毕竟关心了可能也没办法动。如果有极高的 io 类性能需求,多数可能要走类似 dpdk 这样的用户态方案。
    2 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(一)
    @zzxx3322 #17

    Wayland 从纸面设想走到实用也用了二十多年,关于发展史方面我也没见过什么资料。由于大部分的贡献都来自红帽的员工,所以邮件列表中的讨论反倒成了历史记录。这些内容过于分散,你可以试试问 ai 更具体的问题然后验证再总结。

    尽管在桌面上 wayland 推进没有那么快,但据我了解,嵌入式领域(特别是车机)很早就有应用了。对于嵌入式设备来说,基于 wayland 跑轻量化合成器比跑 X 性能更好,也要更容易开发维护。工程化方面反倒走在桌面前面。
    2 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(一)
    @xtreme1 #7
    @levelworm #8

    单独说图形系统有点笼统,还要拆分之后做比较。对未来方向的理解三家都差不多,只是改不改得动的问题。
    3 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(一)
    @hronro
    @craftsmanship

    就只发在 V2EX 上,我认为文章内容的价值是一方面,这里的讨论同样重要。对我自己来说这些内容更多是总结整理,放在这里比放在个人博客更有生命力。(我确实没有写博客的习惯)
    3 天前
    回复了 kuanat 创建的主题 Linux Linux 漫谈(一)
    @levelworm #1

    是的,我认为他和 Linus 一样都是能兼具工程管理和技术开发能力的人,而且在几十年前就对未来的技术发展有非常深刻的洞察。NT 有很多优秀的设计都是出自他本人。
    我感觉这个实现和 podman/macOS 非常像啊,应该是基于 libkrun 的封装吧。

    没来得及看代码,请教几个问题。如果是 rust 的库,那调用 gvisor 网络栈应该是直接打包二进制子进程的形式吧,有考虑过用 go 吗?问这个主要是我不清楚它运行时需要哪些依赖,有没有可能做到完全的静态链接。

    对 oci 镜像的支持是如何实现的?我能想到的是找个临时路径展开,不过这样做好像比较麻烦,其他方案要支持 macOS 比较难。

    这个实现里有跑 guest 应用吗?感觉处理 tty 也比较麻烦。
    在讨论安全之前,要先定义什么是安全,或者说要应对的威胁模型是什么。

    - 如果是 token 伪造,那 session (也就是你说的 token+redis )和 JWT (双 token )没区别,都是后端签发的。

    - 如果说是身份冒用,两者也没区别,只要持有合法 token 就视作有效。

    - 如果指的是 token 撤销,那么 session 比 jwt 好一点,因为它可以实时撤销,而 jwt 只能等它过期。



    “性能也不见得差”这句话有毛病。session 方案的逻辑是有个中心化的实时鉴权后端,要负责对所有业务请求进行身份认证。现实里这个单点是极其脆弱的,水平扩展能力也非常有限。

    由此诞生的 JWT 之类的方案,并不是要做得比 session 更安全,而是要解决 session 方案的性能瓶颈。

    准确来说,解决性能瓶颈靠的是通过无状态 AccessToken ,将鉴权转移到每个业务单元,业务单元只需要解码而不需要实时后端查询。

    为了让 JWT 方案也能达到和 session 方案一样的安全水平,那就要将 AccessToken 的有效期设定得越短越好。

    但是 JWT 方案是无状态的,如果要获得新的 AccessToken 是无法像 session 一样自动更新的,必须要走一遍完整的登录验证过程。


    所以就有了 RefreshToken ,它解决的是方便获得短时效 AccessToken 的问题。这个“双”token 的重点是方便。

    PS 稍微补充一点:如果是 web 应用场景,RefreshToken 多数存储于 HttpOnly/Secure/SameSite=Strict cookies 中,防止 js 读取,也避免 XSS 攻击(因为即便后端被注入恶意代码,这个代码被当前用户执行后也无法获得 cookie 内容)。AccessToken 存储于内存变量中,通过 js 代码以 header 的形式传递,这样可以防止 csrf 攻击(因为跨域的时候不可能带上这个 header )。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2682 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 13:02 · PVG 21:02 · LAX 05:02 · JFK 08:02
    ♥ Do have faith in what you're doing.