为什么我们要使用 RVM / Bundler ?

作为一名 iOS 工程师,CocoaPods 是我们所不会陌生的。然而在我们的日常开发中,编写 CocoaPods 的 Ruby 语言我们可能不甚了解,更不要说 Bundler 以及 RVM 了。因此,当我们遇到一些 Ruby 环境相关的问题时,可能完全不知道发生了什么。如果恰好你对这两个工具做了什么感到好奇,那么,在这篇文章中,我会尽量由浅入深的去说明 RVM / Bundler 的原理和作用,帮助大家对 Ruby 的环境管理有一个更加深入的理解。

Obsidian 知识图谱使用心得

Obsidian 是一个非常好用的笔记软件,不过上手成本相对会高一些。本文主要总结了我个人在使用 Obsidian 的过程中的一些使用心得。

WebKit 源码调试指南

本文是WebKit源码调试指南,提供了详细的步骤和技巧。包括准备步骤,如拉取源码,设置环境变量,编译代码,用Xcode打开工程等;调试入口点,如创建Document对象,解析HTML StyleSheets等;调试技巧,如明确当前RenderObject对应的Element,Dump Render树等。同时,文末提供了一些参考链接,供读者进一步学习。

浏览器是如何生成 RenderObject 的

本文主要讲解了在浏览器中,是如何通过 DOM 节点生成对应的 RenderObject 的,同时总结了一些浏览器生成匿名 block 的内部实现逻辑。

浏览器是怎么做 CSS 测试的?

作为一个代码量巨大的项目,浏览器内核的质量保证也是一个非常重要的工作,本文主要讲解了浏览器内部做 CSS 测试的主要方式。

如何实现 Flow 布局?

Flow 布局是浏览器的默认布局方式,本文主要从浏览器的内部实现的视角对 Flow 布局的原理进行一点点展开讲解。