Yitso

Yitso

Cloud Engineer @ PingCAP


新的起点

以前总觉得写得不好就删掉,结果很多文章都散失了。现在才明白,不完美的文字也是成长的痕迹。所以在这里重新开始,把能找到的都汇总起来,也算是给未来的自己留一张地图。

通过includeIf来管理不同文件夹的Git配置

用自己的电脑远程办公的时候,提交的代码邮箱都是个人邮箱,这让强迫症肯定不能忍呀。如果一两个项目还可以通过改.git/config来配置,但是在公司久了接手的维护的项目大大小小几十个,每个都配一遍那肯定受不了啊。而且要换台电脑就又得从头再来,这可不是个好选项。遂搜了一圈,发现可以通过includeIf来配置指定文件夹下的Git配置。

事务

事务(Transaction)是数据库区别于文件系统的重要特性之一。在文件系统中,如果正在写文件,但是操作系统突然崩溃了,这个文件就很有可能被破坏。当然,有一些机制可以把文件恢复到某个时间点。不过,如果需要保证两个文件同步,这些文件系统可能就显得无能为力了。例如,在需要更新两个文件时,更新完一个文件后,在更新完第二个文件之前系统重启了,就会有两个不同步的文件。这正是数据库系统引入事务的主要目的:事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不保存。

死锁

死锁是指两个或两个以上的事务在执行过程中,因争夺锁资源而造成的一种互相等待的现象。若无外力作用,事务都将无法推进下去。如果程序是串行的,那么不可能发生死锁。死锁只存在于并发的情况,而数据库本身就是一个并发运行的程序,因此可能会发生死锁。