全栈工程师成长记

编程重新定义人生

command+s,数据安全的第一道防线

实作课前中级练习的 ch01 里,要求最后输出 hello world。

在一切代码都打完之后,刷新页面发现页面只有 hello world 的文字,而没有刚刚做好的 navbar 和 footer。


回头查看修改过的文件,navbarfooter 的显示是靠 application.html.erb 来实现的,再仔细看一下 application.html.erb里面 的内容,似乎没有打错代码,如果错了的话,刷新页面应该有错误提示。

再仔细分析一下,修改之前的 application.html.erb 在 body 部分只有一个 <%= yield %> ,这就是用来输出 hello world 的部分,既然navbar和footer的代码页已经添加了却没有显示出来还有什么原因呢,答案很简单,原来是application.html.erb还没被保存,简单一个command+s保存之后,再刷新就能看到和教程一样的结果了:

除了这个 debug 的过程本身,我由此 commadn+s 想到的是数据安全的问题。

很多人把数据备份当作数据安全的最后一道防线,什么阵列备份的都算普通,夸张一点的,把数据备份在地球上各个不同地方的服务器,防止服务器所在机房因为地震、火灾等情况导致数据丢失——因为地球上多个不同的服务器机房同时发生地震、火灾的概率还是很低的。

那为什么会有标题的 command+s 是数据安全的第一道防线的说法呢?这其实也是一瞬讲想明白的事情。在辛辛苦苦的做了各种改动之后,因为没有及时保存(还没到备份)数据,电脑死机、突然停电、程序意外崩溃等等情况都可能会导致未保存的数据丢失(当然设定定时自动保存会减少一定的损失),不管这种死机、停电、程序崩溃的概率有多低,只要碰上了你就直呼为什么我不顺手command+s多保存几次。就像很多人的硬盘坏了才后悔自己多年积攒的照片、资料从来就没有备份过。

题外话,logdown的文章编辑页面支持command+s保存(其他的编辑、预览按钮也都支持快捷键),这点很好,以前不是没碰过在网页的文本框里输了很多文字结果一不小心刷新、关闭、后退导致要从头写起的情况,所以为了使用control+s(用windows)经常保存,不得不用文本编辑器输入好全文之后再粘贴到网页的文本框里。至于让网页支持快捷键的功能,则要列入接下来需要学习的内容。