''

Orien Daily

  1. 📸 @nisiosazane #加藤小夏 ×4小夏さんのメガネ姿の素晴らしさに共感して頂いてありがとうございます!他にもこういうのがあります✨4枚目の写真は、来週に最終回を迎える失恋カルタの彩世役でのメガネ姿です!観てない方は是非観て欲しいです😊感谢您分享小夏眼镜的美丽!还有其他类似的事情✨第四张照片是她戴着眼镜在《失恋歌留多》中扮演绫濑的照片,该剧将于下周迎来最后一集!如果你还没有看过,请务必观看😊 #加藤小夏原文 #加藤小夏

    📸 @nisiosazane #加藤小夏 ×4
    小夏さんのメガネ姿の素晴らしさに共感して頂いてありがとうございます!
    他にもこういうのがあります✨
    4枚目の写真は、来週に最終回を迎える失恋カルタの彩世役でのメガネ姿です!
    観てない方は是非観て欲しいです😊

    感谢您分享小夏眼镜的美丽!
    还有其他类似的事情✨
    第四张照片是她戴着眼镜在《失恋歌留多》中扮演绫濑的照片,该剧将于下周迎来最后一集!
    如果你还没有看过,请务必观看😊 #加藤小夏
    原文 #加藤小夏

  2. 被迫做某事,日语怎么说才不土?读论文或看新闻的时候,经常会碰到「余儀なくされる」这个表达

    被迫做某事,日语怎么说才不土?

    读论文或看新闻的时候,经常会碰到「余儀なくされる」这个表达。比如「研究計画の変更を余儀なくされた」,翻译过来就是"被迫变更了研究计划"。这个词的精髓在于它强调的是外部不可抗力,而不是你主观上不想做。写学术文章的时候用它,比直接写「〜しなければならなかった」要体面得多,因为后者听起来像是你能力不行,而前者暗示"形势所迫,没办法"。

    有个容易搞混的点是:余儀なくされる是被动方,而余儀なくさせる是使动方。举个例子,台风来了导致日程取消——日程「変更を余儀なくされた」的是举办方,而台风「変更を余儀なくさせた」的是天灾本身。学术论文里你大概率是写被动的那个,所以记住される的用法就够了。

    顺便一提,余儀なく的汉字「余儀」意思是"其他办法",也就是没有别的选择。

  3. 你改了密码,但攻击者根本不需要它Windows 环境下有一个让人头疼的老问题:Pass-the-Hash(PtH)攻击

    你改了密码,但攻击者根本不需要它

    Windows 环境下有一个让人头疼的老问题:Pass-the-Hash(PtH)攻击。它的核心思路简单到离谱——攻击者拿到一台机器的内存 dump 后,从中提取出 NTLM hash,然后直接用这个 hash 向其他机器发起认证,整个过程不需要知道明文密码是什么。

    这件事能成立,归根到底是 NTLM 认证协议的设计决定的。在 NTLM 的 challenge-response 流程中,客户端用密码的 NTLM hash 加密 server 发来的 challenge,server 端也用存储的 hash 做同样运算然后比对。既然运算只依赖 hash 值,那拿到 hash 的人自然可以跳过"还原明文"这一步,直接拿 hash 当凭据用。相当于锁匠不需要你的钥匙长什么样,只要能把锁芯的形状复制一份就够了。

    真正让 PtH 威力倍增的是 Windows 的"单点登录"机制。域环境里用户登录后,lsass.exe 进程会长期缓存凭据 hash。攻击者只要用 Mimikatz 或类似工具从 lsass 里一把抓出 hash,就能在域内横向移动——从一台工作站跳到域控,权限一路升上去。整个攻击链里最讽刺的环节是:管理员改了密码,但旧 session 的 hash 依然在内存里有效,直到机器重启或用户重新登录。所以"赶紧改密码"这个应急动作,对 PtH 来说基本是慢半拍。

    防御方向上,微软后来推出了一些补丁和策略:Restricted Admin Mode 限制 RDP 场景下的 PtH,Credential Guard 用虚拟化保护 lsass 里的 hash 不被随意读取。另外 Kerberos 认证本身对 PtH 有一定抵抗力——但攻击者又发展出了 Overpass-the-Hash,把 NTLM hash 伪造为 Kerberos TGT 请求的密钥,等于绕了一圈又回来了。这个攻防拉锯说明,只要认证协议里 hash 可以替代明文完成认证流程,PtH 类攻击就永远有变种空间。

    如果你是域管理员,登录到一台普通工作站上排查问题,攻击者恰好在这台机器上等着抓 hash——拿到的是域管权限还是本地用户权限?从这里出发想想为什么"永远不要用域管账号登录普通机器"是一条铁律。

  4. 📸 @ITZY_gall #YEJI ×2🖤 𝟐𝟎𝟐𝟔 𝒀𝑬𝑱𝑰 𝑴𝑬𝑺𝑺𝑨𝑮𝑬 𝑩𝑶𝑶𝑲 🖤밀라노 예지 vs 파리 예지믿지의 최애 예지는? 💗마감기한: 05.17 (일) KST이 투표 결과는 메시지북에 수록됩니다!🗳️

    📸 @ITZY_gall #YEJI ×2
    🖤 𝟐𝟎𝟐𝟔 𝒀𝑬𝑱𝑰 𝑴𝑬𝑺𝑺𝑨𝑮𝑬 𝑩𝑶𝑶𝑲 🖤

    밀라노 예지 vs 파리 예지
    믿지의 최애 예지는? 💗

    마감기한: 05.17 (일) KST
    이 투표 결과는 메시지북에 수록됩니다!

    🗳️ https://forms.gle/knRw79ztUjcFnH1CA

    #ITZY #YEJI #HappyYejiDay
    #있지 #예지 #예지메시지북
    原文 #黄礼志

  5. Redis 跳表:一个被低估的数据结构是怎么变成排序集合心脏的很多人提到跳表,第一反应是"随机化的平衡树替代品",然后就不再深想了

    Redis 跳表:一个被低估的数据结构是怎么变成排序集合心脏的

    很多人提到跳表,第一反应是"随机化的平衡树替代品",然后就不再深想了。但如果你读 Redis 的 t_zset.c,会发现跳表在那里的用法远比教科书上的演示精巧得多。

    先说跳表本身的直觉。普通链表查找是 O(n),这没人想用。跳表的核心操作是"往上搭快车道"——每个节点以 50% 概率决定是否出现在上一层,这样第 k 层的节点数大约是第 k-1 层的一半,形成一种概率性的"二分查找"结构。查找时从最高层往右走,走不动就往下跳一层,平均 O(log n)。这个概率构造意味着不需要像红黑树那样做旋转维护,插入删除简单得多。

    但 Redis 没有简单照搬 Pugh 的原始论文。如果你看 zslInsert 的源码,会发现它在插入时维护了一个 rank 数组——记录每一层从起点到插入位置跳了多少步。这不是跳表标准操作,而是 Redis 自己加的。目的很明确:ZRANK 命令需要 O(log n) 地返回元素排名,而不是遍历计数。这个 rank 信息在节点删除时也要更新,维护成本不高,但功能价值极大。这就是读源码比读论文多出来的东西——工程场景会倒逼数据结构变形。

    再比如,Redis 的跳表每个节点存了分值(score)和成员对象(obj),但比较排序的优先级是先 score 后 obj 指针地址。为什么要用指针地址而不是字符串字典序?因为指针比较是 O(1),而字符串比较可能很长。在内存数据库的热路径上,这种选择不是微优化,是设计决策。

    还有个容易忽略的细节:跳表的最大层数 Redis 设成了 32,而不是理论上足够的 ceil(log₂(n))。因为 2^32 已经远超任何合理的集合大小,留余量比动态计算层数更划算。这种"够用就行"的常数选择贯穿整个 Redis 源码。

  6. 🌅 Orien Daily 朝刊【5.16】1️⃣ Gutenberg 持续进化 — 免费数字图书馆越做越好2️⃣ Wikipedia 变 XP 桌面 — 复古浏览器体验走红3️⃣ 公司已陷入 AI 精神病 — Mitchellh 引行业反思4️⃣ 酒店泄露百万护照驾照 — 云存储误设公开5️⃣ Linux 提权 0-day — 无特权访问 root 文件6️⃣ Claude Code Routines — Anthropic 自动化编码工作流7️⃣ 煤污染削弱太阳能 — 颗粒物降低面板效率8️⃣ 特朗普称习会成果丰硕 — 台湾问题悬而未决频道:@OrienDaily

    🌅 Orien Daily 朝刊【5.16】

    1️⃣ Gutenberg 持续进化 — 免费数字图书馆越做越好
    2️⃣ Wikipedia 变 XP 桌面 — 复古浏览器体验走红
    3️⃣ 公司已陷入 AI 精神病 — Mitchellh 引行业反思
    4️⃣ 酒店泄露百万护照驾照 — 云存储误设公开
    5️⃣ Linux 提权 0-day — 无特权访问 root 文件
    6️⃣ Claude Code Routines — Anthropic 自动化编码工作流
    7️⃣ 煤污染削弱太阳能 — 颗粒物降低面板效率
    8️⃣ 特朗普称习会成果丰硕 — 台湾问题悬而未决

    频道:@OrienDaily

  7. 🌃 Orien Daily 晚刊【5.15】1️⃣ RAV4 车主实测拆除调制解调器与 GPS — 隐私硬改造2️⃣ Musk vs Altman 陪审团要判什么 — 年度最大科技案3️⃣ SpaceXAI 合并后已流失50+人 — 人才留存堪忧4️⃣ arXiv 新规:幻觉引用禁投一年 — 学术界抵制 AI 造假5️⃣ 中国短剧如何沦为 AI 内容工厂 — 低成本量产真相6️⃣ Linux 0-day:无特权读 root 文件 — ssh-keysign 提权7️⃣ 美中首脑会谈结束特朗普返美 — 台湾问题成焦点8️⃣ SolidJS 2.0 Beta 原生异步 — Suspense 重做频道:@OrienDaily

    🌃 Orien Daily 晚刊【5.15】

    1️⃣ RAV4 车主实测拆除调制解调器与 GPS — 隐私硬改造
    2️⃣ Musk vs Altman 陪审团要判什么 — 年度最大科技案
    3️⃣ SpaceXAI 合并后已流失50+人 — 人才留存堪忧
    4️⃣ arXiv 新规:幻觉引用禁投一年 — 学术界抵制 AI 造假
    5️⃣ 中国短剧如何沦为 AI 内容工厂 — 低成本量产真相
    6️⃣ Linux 0-day:无特权读 root 文件 — ssh-keysign 提权
    7️⃣ 美中首脑会谈结束特朗普返美 — 台湾问题成焦点
    8️⃣ SolidJS 2.0 Beta 原生异步 — Suspense 重做

    频道:@OrienDaily

  8. 検証 vs 実証:论文里用错一个字,意思差很远写研究计划书的时候,脑子里想说"验证假设",手底下写出来的到底是検証还是実証?这两个词在学术界出现频率极高,但混在一起用的话,导师读起来会觉得概念不清

    検証 vs 実証:论文里用错一个字,意思差很远

    写研究计划书的时候,脑子里想说"验证假设",手底下写出来的到底是検証还是実証?这两个词在学术界出现频率极高,但混在一起用的话,导师读起来会觉得概念不清。

    検証(けんしょう)侧重点在于"检查、确认是否正确"。已有的理论也好,某个主张也好,你拿数据去对照它、检验它,这个动作叫検証。换句话说,検証的对象是别人已经提出来的东西,你的角色是审核者。论文里常见的「仮説を検証する」就是这么回事——假设不是你定的,你只是拿来验。

    実証(じっしょう)则偏向"用事实来证明、使……成立"。它更强调你通过实验或案例,正面地把某个观点支撑起来。实证研究叫「実証研究」,实证分析叫「実証分析」,这些词背后的逻辑是:我要拿出实在的证据,让这个论点站得住脚。

    一句话区分:検証是"查它对不对",実証是"证它站得住"。好比法庭上,検証像交叉质询,実証像呈堂证供。

    最常见翻车场景:写「実証的アプローチ」,结果整篇论文都在做统计检验,没有任何实地案例或实验数据支撑——这在日语学术语境下会被认为用词不当,统计检验应该用検証的アプローチ。

    那么问题来了:如果你要做一个既有假设检验又有实地数据分析的研究,该用哪个词?

  9. JWT 的算法协商陷阱:当服务器说"你选算法"一个常见的 JWT 实现细节,看着无害,实际能直接提权

    JWT 的算法协商陷阱:当服务器说"你选算法"

    一个常见的 JWT 实现细节,看着无害,实际能直接提权。场景是这样的——很多 JWT 库在验证签名时,会从 token 头部的 alg 字段读取算法,然后据此选择验证方式。问题在于,攻击者可以把 alg 从 RS256(非对称)改成 HS256(对称),然后拿服务器公开的 RSA 公钥当 HMAC 密钥来签名。服务器拿到 token,看到 alg: HS256,就用公钥做 HMAC 验证——而攻击者刚刚就是用这把公钥签的名,验证自然通过。整条攻击链只需要一个公开的公钥端点和一个不做算法白名单的服务端。

    根因不是 JWT 设计本身,而是验证方把"对方声明的算法"当成了可信输入。修复说起来简单:服务端硬编码只接受哪些算法,不从 token 头取;如果用的是 RS256,就永远只走非对称验证路径,拒绝降级成 HMAC。但现实中老旧代码和默认配置常常忽略这一步,扫描 GitHub 上 populist JWT 库的 issue 列表,算法混乱类的 bug 至今还在冒头。