Jujutsu:一款革新性的版本控制系统

2024-12-22

Jujutsu 是一款基于 Git 的全新版本控制系统,它以其独特的理念和命令集,简化了本地文件交互方式。与 Git 不同,Jujutsu 将工作副本状态始终视为一个提交,任何磁盘编辑都会立即反映在当前提交中。这使得许多操作变得简洁高效,例如修复旧提交中的错误、查看差异以及管理工作进度等。Jujutsu 的工作流程直观易懂,即便没有 Git 的经验也能快速上手,并且能与 Git 生态系统无缝集成。虽然目前还缺少一些功能,例如与 VSCode 的完美集成,但 Jujutsu 凭借其创新的设计理念和良好的用户体验,已经展现出巨大的潜力。

阅读更多
开发

Ninja构建系统:成功与失败的反思

2024-11-29

本文作者回顾了Ninja构建系统的开发历程,总结了其成功和失败的经验。Ninja是一个类似Make的构建系统,以其速度和简洁性而闻名,被Chrome、Android等大型项目采用。作者认为,编程中架构比代码更重要,而社会因素又比架构更重要。Ninja的设计理念是将构建过程分解为生成器和执行器,专注于快速执行构建动作。作者还讨论了Ninja的性能优化、Windows平台支持、开源维护的挑战等方面,并反思了速度的多种含义以及与其他构建系统的关系。

阅读更多
未分类 Ninja

技术笔记:多态性shellcode

2024-07-22

文章介绍了多态性shellcode的概念、作用和实现方式。多态性shellcode是为了避免被安全软件检测,其代码会不断变化,增加攻击识别的难度。文章以Metaspoit的“shikata ga nai” (SGN)为例,详细解释了其解码器的工作原理,以及如何通过改变寄存器、指令顺序和隐藏循环尾部等方式来实现代码的多态性。

阅读更多
未分类 shellcode