使用 Git 做版本控制,毋庸置疑非常方便,可随心所欲地修改代码。提交代码是开发人员每天都在做的事情,清爽的提交记录让人爽心悦目。在有的场景之下,开发会产生一些琐碎的提交记录,譬如调试 CI 工具的提交,零星修改 bug 的提交,这些提交记录理应属于一条记录,这种情况之下就可以通过 git rebase
合并历史提交。
使用 Git 做版本控制,毋庸置疑非常方便,可随心所欲地修改代码。提交代码是开发人员每天都在做的事情,清爽的提交记录让人爽心悦目。在有的场景之下,开发会产生一些琐碎的提交记录,譬如调试 CI 工具的提交,零星修改 bug 的提交,这些提交记录理应属于一条记录,这种情况之下就可以通过 git rebase
合并历史提交。
Github Actions 是 Github 推出的自动化构建工具,一般来说,CI / CD (持续集成 / 持续部署)都需要自己的计算资源,但 Github Actions 提供免费的计算资源,这是它的优势之一,用户只用操心 workflow 文件,不用关心环境相关的琐碎,便可部署 CI / CD,加速了流程。
有一年多没有更新博客了吧,最近想把博客给拾掇拾掇,打开博客就发现图片加载好慢。我一直使用的是免费资源,比较费精力,托管图片的地方也换了好几个,每种方法有所长,也有所短。
有一天,我发现 Slowly 应用有 web 端,网页也是简洁的风格,看着陈列的一封封信件,产生想要保存的想法,于是开始了从 html 到 pdf 的换装之旅。
学习编程有些日子了,照着样例写一些花瓶demo着实无聊,最想做的就是用代码实现实际中的需求,让代码真正有价值。
过去很多年里,我看到过太多关于JavaScript函数调用的混淆。尤其是,很多人抱怨函数调用中this的语义令人困惑。
在我看来,通过理解核心函数调用原语,然后将其他所有调用函数的方法视为在原语之上的语法糖,如此便可澄清很多这类疑惑。事实上,这正是ECMAScript规范对此的看法。在某些方面,这篇文章是规范的简化,但基本思路是一样的。