Hot For Coding
  • 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

  • CentOS开机eth0网络设备不启动

    新装一个CentOS系统,开机发现没有网络,于是ifconfig一下发现eth0设备网络没有启动

    [root@lee ~]# ifconfig
    lo  Link encap:Local Loopback  
        inet addr:127.0.0.1  Mask:255.0.0.0
        inet6 addr: ::1/128 Scope:Host
        UP LOOPBACK RUNNING  MTU:16436  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0 
        RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
    

    ...

    READ ALL

  • Tornado模板转义处理

    Tornado默认是转义所有字符,比较安全,但有时候我们的确需要把字符当做html来解析处理,因此我们需要做些处理。

    main.py

    import tornado.ioloop
    import tornado.web
     
    class MainHandler(tornado.web.RequestHandler):
      def get(self):
        self.render('main.html',title = '<h1>Title</h1>')
     
    application = tornado.web.Application([
      (r"/", MainHandler),
    ])
     
    if __name__ == "__main__":
      application.listen(8888)
      tornado.ioloop.IOLoop.instance().start()
    

    ...

    READ ALL

  • Python设定MySQL结果集返回字典格式

    Python的MySQLdb模块是Python连接MySQL的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据

    默认连接数据库:

    MySQLdb.connect(
      host=host,
      user=user,
      passwd=passwd,
      db=db,
      port=port,
      charset='utf8'
    )
    

    查询数据

    cur = conn.cursor()
    cur.execute('select b_id from blog limit 1')
    data = cur.fetchall()  
    cur.close()
    conn.close()
    

    ...

    READ ALL

  • Tornado import tornado.database时出错

    准备用用Tornado重写本站,但发现import tornado.database时出错

    [root@lee ~]# python
    Python 2.7.4 (default, Apr 11 2013, 17:08:33) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import tornado.web
    >>> import tornado.database
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: No module named database
    >>>
    

    ...

    READ ALL

  • 利用谷歌做站内搜索,免费的!

    站内搜索是必备的功能了,但搜索这玩意水很深,研究无底洞,而且更要命的是非常损耗服务器资源。在MySQL数据库中使用like关键字在数据比较多的时候那种蜗牛的速度更是让人蛋疼,专业一点的站点都会使用全文搜索,比like这种傻瓜匹配相对好点,但频繁的搜索请求也会扛不住。

    偶然看到有些站点利用谷歌做站内搜索,感觉不错,所以推荐那些为搜索而苦恼的童鞋们

    看看例子:

    full

    非常方便吧!格式:

    site:domain keyword

    就搞定了,前提是谷歌必须收录你站点,也会有这样的问题,比如你有些文章已经删除了但谷歌收录没有删除,于是你删除的文章很有可能被谷歌搜索出来然后用户点击访问不到。

    ...

    READ ALL

  • CSS3实现背景颜色线性渐变gradient

    CSS3新加特性gradient可以实现背景颜色,鉴于各浏览器之间还有兼容性因此这里只说线性渐变,其它渐变就算是有也不敢贸然使用

    Mozilla

    仅针对FireFox

    background: -moz-linear-gradient(top, #eee, #aaa);
    
    • linear 表示线性
    • 参数top表示从顶部开始
    • 参数#eee表示开始颜色
    • #aaa表示结束颜色

    full

    Webkit

    background: -webkit-gradient(linear, 0 0, 0 100%, from(#eee), to(#aaa));
    

    ...

    READ ALL

  • Python数组list操作

    Python list相当于JavaScript的Array数组,可以随意添加删除元素,元素类型也不限定

    声明一个list

    arr = []
    

    往里边添加元素

    arr.append('New item')
    print arr # Output: ['New item']
    

    添加元素到第一个位置

    arr.insert(0, 'First item')
    print arr # Output: ['First item', 'New item']
    

    添加元素到第二个位置

    arr.insert(1, 'Second item')
    print arr # Output: ['First item', 'Second item', 'New item']
    

    ...

    READ ALL

  • Python字符串MD5加密

    Python加密模块有好几个,但无论是哪种加密方式都需要先导入相应的加密模块然后再使用模块对字符串加密。

    先导入md5加密所需模块

    import hashlib
    

    创建md5对象

    m = hashlib.md5()
    

    生成加密串,其中 password 是要加密的字符串

    m.update('password')
    

    获取加密串

    psw = m.hexdigest()
    

    输出

    print psw
    

    Output:

    5f4dcc3b5aa765d61d8327deb882cf99

    ...

    READ ALL