• Linux crontab容易犯错的地方

    Linux的crontab是非常好用的一个计划任务,最小颗粒度是分钟,最近使用crontab的时候发现服务器负载居然到达了七八十

    [root@test01 ~]# uptime
     16:16:05 up 149 days,  5:17,  1 user,  load average: 75.00, 79.01, 87.05
    

    高的吓人,通过top命令看了一下,发现我添加进crontab的脚本居然执行了无数个

    怎么回事?

    crontab格式

    m h dom mon dow command

    • m: 分钟,0-59
    • h: 小时,0-23
    • dom: 日期,1-31
    • mon: 月份,1-12
    • dow: 星期,0-6,0为星期天
    • command: 命令

    ...

    READ ALL

  • HTML5的input color系统颜色选择器

    前两天,我写了一篇《推荐两款jQuery色盘选择器》介绍,那是使用JavaScript实现的色盘,今天我给大家介绍HTML5的色盘选择器。HTML5有一个input类型为color,即颜色选择器。

    认识html5中的color

    <input type="color" />
    

    Chrome效果

    full

    ...

    READ ALL

  • 推荐两款jQuery色盘选择器

    一半jQueryUI都集成了不少常用功能插件,可惜色盘就是没有,只好从网上找。

    其中发现有两个色盘选择器不错。

    第一个是eyecon.ro

    full

    文档也比较全,但好像插件作者2009年以后不再维护更新了,并且不支持透明效果。

    第二个spectrum的Colorpicker

    full

    光从文档来可以说是非常专业了,还支持透明效果,包括IE的滤镜方式都兼容。

    ...

    READ ALL

  • Python中unescape JavaScript中escape的字符

    遇到一个问题需要用Python把JavaScript中escape的中文给还原,但找了大半天,也没有找到答案,只好自己深入研究解决方案。

    我们先来看在JavaScript中escape一段文字的编码

    a = escape('这是一串文字');
    console.log(a); // Output: %u8FD9%u662F%u4E00%u4E32%u6587%u5B57
    

    Output:

    %u8FD9%u662F%u4E00%u4E32%u6587%u5B57

    一看就感觉有点类似json格式,我们来看看标准的json格式编码同样的汉字这是一串文字

    ...

    READ ALL

  • Tornado绑定域名或者子域名泛域名的处理

    Tornado默认是监听IP加端口形式,由于Tornado在国内用的人极少,资料更是鳞毛凤角。下面说说Tornado如何绑定域名。

    默认Tornado的hello World是这么来的

    import tornado.ioloop
    import tornado.web
     
    class MainHandler(tornado.web.RequestHandler):
      def get(self):
        self.write("Hello, World")
     
    application = tornado.web.Application([
      (r"/", MainHandler),
    ])
     
    if __name__ == "__main__":
      application.listen(8888)
      tornado.ioloop.IOLoop.instance().start()
    

    ...

    READ ALL

  • Tornado运行socket.error [Errno 97] Address family not supported by protocol

    昨天把用Python重写站点程序打包到服务器上,在运行python main.py的时候,总提示socket.error: [Errno 97] Address family not supported by protocol。这在我本地是没有这个错误提示的,一开始找了半天也不知道是怎么回事?后来在看到有人也遇到我这个问题,原来是服务器双网卡问题导致。他跟我一样用阿里云,而阿里云VPS分别有两块网卡,所以需要在启动的时候指定外网IP。

    问题解决了,可是不太爽的事也跟着来,如果指定外网IP,那么Nginx配置的反向代理也要把127.0.0.1:1111修改成外网IP:1111,并且要在iptables下开放这个端口,等于Nginx走外网流量。。

    ...

    READ ALL

  • Python安装Imaging提示The _imaging C module is not installed

    今天写Python程序上传图片需要用到PIL库,于是到http://www.pythonware.com/products/pil/#pil117下载了一个1.1.7版本的,我用的是CentOS64并且自行升级后的Python版本安装PIL库

    首先下载解压

    [root@lee ~]# wget http://www.pythonware.com/products/pil/#pil117
    [root@lee ~]# tar -xf Imaging-1.1.7.tar.gz
    

    然后准备安装

    [root@lee ~]# cd Imaging-1.1.7
    [root@lee Imaging-1.1.7]# python python setup.py build_ext -i
    

    ...

    READ ALL

  • IE下iframe覆盖object标签并且要透明

    一个基于IE的3D场景操作界面,如图

    full

    div浮层是盖不住3D区域的,3D的内容就放在一个object里。通过查资料可以通过iframe实现覆盖object标签的做法,于是试验了以下,如下结构

    <div class="dialog">
      <div>这里是内容</div>
      <iframe src="target.html"></iframe> 
    </div>
    

    这样,弹层就能覆盖object标签了,背景不透明,根据大牛指点在iframe上加ALLOWTRANSPARENCY="true"属性,并且target.html网页中的body设置样式background-color:transparent

    ...

    READ ALL

  • Linux grep命令

    grep的意思是(global search regular expression(RE) and print out the line, 全面搜索正则表达式并把行打印出来),简单来说就是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

    格式:

    grep [-acinv] [--color=auto] 'search string' filename

    参数

    • -a 将binary文件以text文件的方式搜寻数据
    • -c 计算找到search string的次数
    • -i 忽略大小写的不同,所以大小写视为相同
    • -n 顺便输出行号
    • -v 反向选择,亦即显示出没有search string内容的那一行!
    • --color=auto 可以将找到的关键词部分加上颜色的显示喔!

    ...

    READ ALL

  • sendmail启动发送太慢的原因

    这两天sendmail发送速度巨慢无比,于是重启了一下sendmail居然在启动的时候也同样很慢。经过查找资料原来是主机名惹的祸!

    解决方法:

    首先看看主机名是啥?

    • 登陆后[root@localhost ~]#这个命令提示@后面的localhost就是主机名
    • 可以hostname命令查看
    [root@localhost ~]# hostname
    localhost.localdomain
    

    ping主机名

    [root@localhost ~]# ping `hostname`
    PING localhost.localdomain.localdomain (202.106.199.37) 56(84) bytes of data.
    

    ...

    READ ALL