About:SQL数据库中,Index,字段类型等等直接影响整个SQL数据库的运行效率,有时候又必须考虑灵活性,所以才有这个话题:SQL数据库中的字段设计。

How:这里主要谈三个问题:

1.什么时候应该将一个属性作为单独的字段,什么时候可以打包。

2.index什么时候用

3.如何提高字段灵活性

- 阅读剩余部分 -

老的JenkinsCI(CentOS 6.x)在运行docker的时候,忽然提示 “mountpoint for devices not found“.

官方的描述里,这个应该是和Cgroup有关的问题。

官方提供的环境检查的脚本,可以运行看看:

https://github.com/docker/docker/blob/master/contrib/check-config.sh

看看是不是所有的配置都已经ok了。

如果是运行库缺失,参考

http://stackoverflow.com/questions/24396071/docker-error-mountpoint-not-found

进行修复。

如果前面几个步骤都没有发现问题,则可以看看Cgroup 的Mount是否有问题。

使用

mount -a

查看mount列表内是否有

cgroup on /sys/fs/cgroup type tmpfs (rw,uid=0,gid=0,mode=0755)

如果这个没有挂载,则会导致mount point for devices not found.

有两种方式可以挂载这个mountpoint,一个是在fstab死写,一个是用一个脚本动态挂载。

https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount

Why:

在fedora上面配置一台PXE server最大的问题在于如何确认各方面已经工作正常,因为测试是非常困难的,所以很难确认哪一步没有做好。

本文大致按照如下流程前进,具体的配置附上文章参考链接,主要说说遇到的坑。

概述(环境和条件)
配置DHCP server
配置nginx
其他组件
确认和Troubleshooting.





- 阅读剩余部分 -

Why?

Web产品一旦上线,重启应用就会造成业务中断,对于实时性要求很高或者业务关联紧密的应用,重启程序是非常重的代价。

将代码对象序列化之后保存到存储内(比如redis, 关系数据库),在运行业务的时候通过制定的路由机制加载这部分业务。

对于线上应用,使用这种方式可以更加方便的部署新业务。

对于性能要求不是很高的场合,可以牺牲一些性能做代码动态装载。

- 阅读剩余部分 -

Python中的OS.fork,exec之类的行为,可能导致stdout所指向的FD发生变化,有时候无法在终端获得想要的输出,这时候可能需要在执行子进程的时候手工设置其FD。

参考:

http://stackoverflow.com/questions/26578799/python-send-sigint-to-subprocess-using-os-kill-as-if-pressing-ctrlc

http://ipseek.blog.51cto.com/1041109/809467

http://stackoverflow.com/questions/9211190/python-fork-pipe-and-exec

http://bytes.com/topic/python/answers/836323-problem-threading-execv