linux磁盘阵列简介

为什么需要RAID

为了各种各样的目的。重要的目的是数据的安全;数据读写速度。

RAID分类

RAID 0

raid0的主要功能是提供数据读写速度。如果你有N块磁盘,原来只能同时写一块磁盘,写满了再下一块,做了RAID 0之后,N块可以同时写,速度提升很快,但由于没有备份,可靠性很差。N最少为2。

RAID 1

RAID 1的有优点是既能提高数据读写速度,也能保证数据的安全性。如果你有N块磁盘,把其中N/2块磁盘作为镜像磁盘,在往其中一块磁盘写入数据时,也同时往另一块写数据。坏了其中一块时,镜像磁盘自动顶上,可靠性最佳,但空间利用率太低。N最少为2。

centos7中rc.local不起作用

背景

今天收到公司报警短信,提示在线应用resin的8080端口连接失败。最后知道是应用所在的机器被重启了。但是奇怪的是重启后我们的应用并没有启动。

问题原因

我们的应用部署环境时,在rc.local中添加了应用启动命令,难道是没有生效?带着这个疑问查看了配置文件/etc/init.d/rc.local 发现文件中确实已经添加了对应的应用启动命令。

求助Google后找到了问题的真正原因。

理解maven中SNAPSHOT版本的作用

背景

一次针对现有的http服务开发了一个SNAPSHOT版本的调用SDK jar包。QA同学部署到测试环境后,我又更新了一下jar包的内容,此时QA同学再次部署时并没有拉去到最新的jar包,这个就比较奇怪了。记忆中maven不是每次都从私服去检查
SNAPSHOT类型的jar包是否有更新吗?怎么对我就不起作用了呢?原来也是一直这么使用的的,换个公司就不行了?最后通过阅读官方文档才发现自己的理解不到位。

为什么使用SNAPSHOT类型的依赖?

答案当然是不想每次有点代码改动都升级一下版本。

python内置函数-第一篇

zip

zip 函数简介

Python内置zip函数的签名如下:

1
future_builtins.zip(*iterables)

itertools.izip()的功能类似。 从函数签名可以知道该函数的参数接收一个或多个可以迭代的对象。

我们通过一个例子来看下zip函数的作用是啥:

mysql数据类型-集合

SET是一个字符串对象,可以包含0个或多个值,每一个值都必须是在建表是指定的取值列表中出现的。SET类型的列的值可以是建表是取值列表中的一个或多个值,每个值用’,’分割。由此可以得出一个结论,集合中的元素不能包含’,’。

举个例子,一个列被声明为SET('one', 'two') NOT NULL,该列所有可能的取值如下所示:

1
2
3
4
''
'one'
'two'
'one,two'
|