最近在读一本书《PHP Beyond the Web》,内容难度不大,不过感觉挺有意思的。可能是做惯了web应用,或者说潜意识觉得PHP就是做web应用的,没想到在其它领域上,PHP也用得挺顺手,也许这也是一种偏见吧。看了这本书,对PHP有一些许改观,也算是扩展了视野。
在这里面看到一个挺好玩的小脚 …...
Read more →
老早就想搞一个完整的解释器,不过呢,通用语言的解释器比较庞大,不太好写。写一个 JSON 解释器比较合适,要素不多,好掌握一点,而且在忽略一些细节之后,代码量极少,对于入门者了解解释器甚至编译器到底在干什么很有帮助。
根据 https://www.json.org 的介绍,JSON 由以下结构组成: …...
Read more →
Excel 关于引用有两种表示方法,即 A1 和 R1C1 引用样式。
A1 是 Excel 默认的引用类型。这种类型的列标签由字母标记(从 A 到 XFD,共 16384 列)。R1C1 类型中,列标签由数字标记。例如,A1 的列标签 A、B、C 分别对应 R1C1 列标签的 1、2、3。
以下代 …...
Read more →
本文整理自MDN 。
同步程序按照书写代码的顺序执行程序,假如其中一段代码耗时特别长,后续代码就一直无法执行。我们需要一种方法解决以上问题:
通过调用一个函数来启动一个长期运行的操作; 让函数开始操作并立即返回,这样我们的程序就可以保持对其他事件做出反应的能力; 当操作最终完成时,通知我们操作的结果 …...
Read more →
命令行覆盖刷新输出的效果如下图。
覆盖刷新的原理:删除已输出字符(用空白字符屏蔽),重新输出新字符。
删除字符需要用到一个特殊字符\b退格符。注意:在很多语言里语言\b退格符跟键盘上的 Backspace 键不太一样,退格符仅仅是回退,并不会删除字符,因此回退后还需要使用一个空白字符覆盖原有字符,才 …...
Read more →