postgresql预写日志(Write-Ahead Logging)
postgresql WAL日志是为了保证数据的完整性,基本上是与oracle的redo log十分类似的东西。
WAL也是在线复制备份,时间点恢复等高级特性的基石。
References:
[1]29.2. Write-Ahead Logging (WAL)
[2]PostgreSQL WAL vs. Oracle Redo Log
===
[erq]
postgresql WAL日志是为了保证数据的完整性,基本上是与oracle的redo log十分类似的东西。
WAL也是在线复制备份,时间点恢复等高级特性的基石。
References:
[1]29.2. Write-Ahead Logging (WAL)
[2]PostgreSQL WAL vs. Oracle Redo Log
===
[erq]
数据库高可用是为了降低停机时间,提高数据库服务器的持续服务能力,减少数据丢失,减少服务恢复时间。
大体可以有以下几个分类:
postgresql对warm standby和hot standby的定义:
A standby server that cannot be connected to until it is promoted to a master server is called a warm standby server, and one that can accept connections and serves read-only queries is called a hot standby server.
===
[erq]
1 | var gulp = require('gulp'); |
rename插件还可以接收一个函数对重命名进行更复杂的控制:
1 | .pipe(rename(function(path){ |
===
[erq]
一般前端页面上线时,需要进行js,css等资源的合并、压缩,以便提高网络性能,而开发版本的html页面中添加了很多未合并压缩前的js,css资源。gulp插件gulp-usemin可以自动化的完成这一切。
js,css资源的合并、压缩习惯上称做minify,所以替换html文件中js,css的路径顺利成章的就叫做usemin了。
构建标记块build block
html文件中需要使用usemin可以识别的注释格式来标记需要压缩、合并和替换的资源
1 | <!-- build:<pipelineId>(alternate search path) <path> --> |
其中:
usemin选项
比如有如下的目录结构:
1 |
|
我们需要将foo.js和bar.js合并压缩为optimized.js,两个css文件合并压缩为style.css
index.html文件是这样定义构件块的:
1 | <!-- build:css_whatever style.css --> |
输出文件路径为dist,gulpfile.js中定义usemin任务如下:
1 | var gulp = require('gulp'); |
将会产生如下的目录结构:
1 |
|
而dist/index.html将会是这个样子的:
1 | <link rel="stylesheet" href="style.css"/> |
References:
[1]gulp-usemin
===
[erq]
修改了/etc/fstab添加新的自动挂载设备后,可以使用
1 | # mount -a |
命令使其立即挂载,而不必重新启动机器。
dmesg有如下类似错误提示:
1 | kernel: device-mapper: table: 253:3: multipath: error getting device |
极有可能是因为multipathd试图在一个已经打开的设备上创建多路径设备,通常是因为这些设备并不是多路径设备,应该在配置文件中屏蔽掉而没有屏蔽的原因。
Are most likely due to multipathd attempting to create a multipath device on top of an already opened device. This is usually because there are device that should be blacklisted which are not.
References:
[1]multipath: error getting device
===
[erq]
外部CSS文件中相对URL的相对起始路径是CSS文件的路径,也就是相对URL是相对于CSS文件路径的。而js文件中的相对路径则是以导入此js的网页文件所在的位置为基准的。
ACPI ERST stands for Error Record Serialization Table
debian最小化安装时,debian Standard system utilities并不是必须的,可以选择不安装任何task,或者只选择安装ssh server,系统安装成功后安装需要的软件即可。相反,如果安装了用不到,反而增加了系统安全风险。
MurmurHash是一种非加密的哈希算法,目前主要用于数据分区。
其名字来自于MUltiply and Rotate,因为要经过多次MUltiply and Rotate,所以叫Murmur.
当前版本为MurmurHash3,cassandra使用了这个哈希算法来对数据进行分区,因此对应分区器的名字为Murmur3Partitioner,此分区器是cassandra当前默认的分区器。
推荐使用Murmur3Partitioner分区器。
References:
[1]MurmurHash
[2]陌生但默默一统江湖的MurmurHash
===
[erq]