博客除草计划(三):Candelas 发布,使用新主题部署博客

2021-10-23
阅读 1 分钟
1.3k
在整理博客的时候,发现原来的 Landscape 主题样式有些老旧,一些功能也不能很好地满足我的需求,于是倒腾自己的主题 Candelas。经过这些年断断续续的开发,Candelas 终于是能用了,发布了初始 1.0 版本。

使用 git rebase 合并历史提交和修改记录 Commit Message

2020-06-03
阅读 2 分钟
4.2k
使用 Git 做版本控制,毋庸置疑非常方便,可随心所欲地修改代码。提交代码是开发人员每天都在做的事情,清爽的提交记录让人爽心悦目。在有的场景之下,开发会产生一些琐碎的提交记录,譬如调试 CI 工具的提交,零星修改 bug 的提交,这些提交记录理应属于一条记录,这种情况之下就可以通过 `git rebase` 合并历史提交。

深入理解JavaScirpt的函数调用和"this"

2018-07-31
阅读 4 分钟
1.7k
过去很多年里,我看到过太多关于JavaScript函数调用的混淆。尤其是,很多人抱怨函数调用中this的语义令人困惑。在我看来,通过理解核心函数调用原语,然后将其他所有调用函数的方法视为在原语之上的语法糖,如此便可澄清很多这类疑惑。事实上,这正是ECMAScript规范对此的看法。在某些方面,这篇文章是规范的简化,但基...

CSS学习(二):背景图片如何定位?

2018-07-11
阅读 2 分钟
2k
我们都知道background-position属性用来指定背景图片应该出现的位置,可以使用关键字、绝对值和相对值进行指定。在CSS Sprites中,这个属性使用比较频繁,使用过程中,我常混淆,经常切不到自己想要的效果,于是决定好好理解其工作机制,这篇文章就是介绍background-position属性是如何指定背景图片和背景区域的位置关系。

一道Leetcode题引起的思考:Segmentation fault是什么?

2018-06-24
阅读 3 分钟
4.7k
在Leetcode上刷题时,刷到题目Valid Anagram,给定两个字符串s和t,编写一个函数来确定t是否是s的一个anagram,谷歌翻译对anagram的解释是通过重新排列另一个单词的字母顺序而组成的一个新单词,比如cinema是iceman的anagram。本质就是判断s和t是否有一样的字母组成。

DOM中事件处理程序的第一个参数?

2018-06-24
阅读 1 分钟
1.5k
我们知道,在触发DOM上的某个事件时,会产生一个事件对象,其中包含与事件相关的所有信息。JS高程中有这样一句话,兼容DOM的浏览器会将一个事件对象传入到事件处理程序中,无论指定事件处理程序时使用什么方法,DOM0级或是DOM2级别,都会传入事件对象。