自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

PHP下的cURL库

PHP下的cURL库主要有两个Requests和Guzzle,两个都很复杂。 Requests优先使用cURL,没有cURL时会自动启用fsockets,除非你手工指定了Transport。 Guzzle有丰富的日志库支持和日志格式,用插件订阅的方式订阅,从代码上看采用事件机制,质量更高。它只支持cURL(至少只v3版本是),并依赖于Symfony的EventEmitter...

2014-03-29 11:49:09 128

原创 PHP的curl造成性能瓶颈,如何优化?

问题:http://segmentfault.com/question/3032/php%E7%9A%84curl%E9%80%A0%E6%88%90%E6%80%A7%E8%83%BD%E7%93%B6%E9%A2%88-%E5%A6%82%E4%BD%95%E4%BC%98%E5%8C%96  如果是下载文件,搜索一下”php curl 多线程“ 或者看 [[http://ww...

2012-08-21 10:49:53 1427

原创 MySQL修改表结构

在MySQL v5.1和v5.5下测试部分方法不起作用。 数据表改名 ALTER TABLE `x_table` RENAME TO `y_table`;字段改名ALTER TABLE `x_table` RENAME `a_field` TO `b_field`;修改字段 ALTER TABLE `x_table` CHANGE `a_field` `a_fi...

2012-05-16 10:52:52 115

原创 检查网址是否存在

 # -*- coding: utf-8 -*-from urlparse import urlsplitfrom httplib import HTTPConnectionclass HttpChecker: """ 检测网址是否存在 """ def __init__(self, domain): if "//" in dom...

2012-05-16 10:51:01 147

原创 python分页

一个简单的分页 # -*- coding: utf-8 -*-class PageResult(list): def __init__(self, total=0, page_no=1, page_size=0, edge_size=0): self.total = total self.page_size = page_size ...

2012-05-16 10:49:57 148

原创 Python多进程记录日志

 用gevent(或封装了gevent的gunicore)启动python进程,会出现多个独立进程同时写一个日志文件,可以观察到有日志部分丢失:一个进程日志没写完,另一个进程把日志覆盖在同一行的后面;有些日志甚至完全丢失。用mlogging包可以解决多进程写日志的问题,没有发现不完整的日志,是否丢失日志有待进一步检测。下面是一个在python程序中记录重要信息,以便以后解析统计的函...

2012-05-15 22:51:49 544

原创 Python设置编码和PYTHONPATH

 Python中的编码是个恼人的问题,第一个是文件编码,在第一行设置了#-*- coding: utf-8 -*-就可以解决。第二个是环境编码,就是你有个中文unicode的encode或decode操作,它给你报错。我们最不喜欢看见这段出错信息了:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in positio...

2012-05-15 22:51:20 151

原创 Python计算MD5

 # -*- coding: utf-8 -*-import hashlibdef md5hex(word): """ MD5加密算法,返回32位小写16进制符号 """ if isinstance(word, unicode): word = word.encode("utf-8") elif not isinstance(...

2012-05-15 22:50:49 114

原创 Flask中使用SqlAlchemy的较好方法

首先安装 Flask-SqlAlchem? v0.15 和 SqlAutoCode? v0.7在配置文件settings中设置 SQLALCHEMY_DATABASE_URI = 'mysql://kw3:123456@localhost/kw3_article'SQLALCHEMY_BINDS = { 'game': 'mysql://kw3:123456@localh...

2012-05-15 18:51:34 363

原创 正确使用git避免提交冲突

前几年自己用过一段时间的git(原来是使用bzr,后来换成git),都是当作个人代码备份工具,没有涉及多人提交代码到中央版本库。两个月前,我们把原来的svn版本管理换成了git,这两天提交版本时遇到许多问题,上网找些资料看,才发现用法不对,集体使用时,不能简单地再延续原来个人使用时的习惯。 背景啰嗦完了,现在进入正题:如何提交避免版本冲突。 首先在本地按方法1 clone 回...

2012-05-15 15:12:24 255

原创 SVN切换服务器IP

How to change svn server name without making a new cosvn server You must specify the old and new like this:svn sw --relocate svn://example1.com:22/name http://example2.com:24/edc From  http://how-t...

2012-04-14 16:42:58 110

原创 GB2312中文转拼音

#-*- coding: utf-8 -*-from bisect import bisectFIRST_LETTERS = ["a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m",

2012-03-31 12:17:41 199

原创 Python2.6字典的键为unicode,解包时报错

 把代码放到局域网服务器,原本在本地运行正常的代码在局域网服务器上却报错,Google一下相关错误,原来是Python2.6的一个Bug。Python2.6下,如果有dict的key是unicode,当把它解包传给函数作为参数时,会报错  from datetime import *date(1,2,**{u'day':10,u'x':20})TypeError: ...

2012-03-30 13:54:53 551

原创 通过POP3协议读取指定邮件

先要安装maillib库 假设我要获得一周来,豆瓣发送的每个邮件中的第一个网址 import poplibimport maillibfrom datetime import datetime, timedeltadef email_filter(sender, body): target = "http://" sender, body =...

2012-03-04 22:50:56 927

原创 将当前目录加入到系统路径

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "path" /d "%path%;%cd%" /t REG_SZ /f 如果当前路径已经存在于系统路径,不会重复添加。 附件是Unix下的常用命令的windows版本,并含有最新的gawk 4.0,与wi...

2012-02-01 18:36:39 244

原创 GAWK代码在Linux和Windows的区别

如果你的awk代码可以在Linux可以跑,在Windows下却不行,请检查代码中是否有百分号%,将所有%转义为%%。例如我的这段处理Nginx日志时间的代码: date = substr($2,2,11)time = substr($2,14,8)gsub("/"," ",date)command = "gdate -d \"" date " " time "\" +%%s.

2012-01-31 11:46:36 143

原创 Python列表去重复

def unique_list(seq, excludes=[]): """ 返回包含原列表中所有元素的新列表,将重复元素去掉,并保持元素原有次序 excludes: 不希望出现在新列表中的元素们 """ seen = set(excludes) # seen是曾经出现的元素集合 return [x for x in seq if x...

2011-12-01 11:57:07 242

Jquery联动下拉菜单

用Jquery 1.4.4 实现的联动下拉菜单,估计在Jquery 1.2版本以上都可用。联动下拉菜单是一主一从两个select,切换主select时,从select的内容跟着改变。这里是把从select的项目按组optgroup全部加载进来,然后切换主select时更新从select组的显示或者隐藏。注意从select的组次序和主select项次序要一致。    HTML代码 ...

2011-11-08 10:45:52 129

原创 Python在URL中加入新参数

import urllibimport urlparsedef url_add_params(url, **params): """ 在网址中加入新参数 """ pr = urlparse.urlparse(url) query = dict(urlparse.parse_qsl(pr.query)) query.update(params)...

2011-07-04 14:28:56 2008

原创 PyCURL访问外网

用途当然是模拟浏览器# -*- coding: utf-8 -*-"""使用pycurl发起HTTP访问"""import pycurl, urllibimport StringIOdef curl(url, method="GET", proxy=(), verbose=0, cookie_file="", **kwargs): #proxy...

2011-07-04 14:26:45 111

原创 MySQL数据库的常用操作

添加一个用户dba,密码sql,可以管理db_开头的数据库GRANT ALL PRIVILEGES ON `db\_`.* TO 'dba'@'localhost' IDENTIFIED BY 'sql' WITH GRANT OPTION;FLUSH PRIVILEGES; 从其他机器访问如果要允许从其他机器访问,要修改 etc/mysql/my.cnf将 bin...

2011-03-02 11:46:03 61

原创 Couchdb装好,却无法使用Futon,或者无法生成View

昨天装好了Couchdb-1.0.2,用couchdb -b启动正常,用curl http://127.0.0.1:5984/也能收到欢迎信息,却打不开网页客户端Futon。想起之前也碰到这样的问题,第二天自己好了,就把Linux重启了一下,解决了!应该是某个依赖的进程需要重启,猜测是js spidemokey。第二个问题又来了,很小的一个数据库,半天生成不了一个View,而且CPU马上飙...

2011-02-16 10:43:02 211

原创 (转) CURL的用法

转自 http://my.oschina.net/captaintheron/blog/8898下面,本文就将结合具体的例子来说明怎样利用curl进行下载。  1、获得一张页面  使用命令:curl http://curl.haxx.se  这是最简单的使用方法。用这个命令获得了http://curl.haxx.se指向的页面,同样,如果这里的URL指向的是一个文件或者一幅图都...

2011-01-19 14:27:53 124

原创 验证18位身份证号码

[code="python"]#! /usr/bin/python# -*- coding: utf-8 -*-def check_id_num(id_num): assert len(id_num) == 18 and id_num[:17].isdigit() factors = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 1...

2011-01-15 17:57:57 171

原创 从生日得到星座

[code="python"]#! /usr/bin/python# -*- coding: utf-8 -*-def get_constellation(ymd="2000-01-01"): stellates = [ {'date':120, 'name':u'水瓶座'}, {'date':219, 'name':u'双鱼座'},...

2011-01-15 17:55:59 138

原创 Python中的编码错误问题

设置python运行环境的编码参考这里 http://diveintopython.org/xml_processing/unicode.html《Dive Into Python》 的 Example 9.15. sitecustomize.py[code="python"]# sitecustomize.py # this file can be anywher...

2011-01-15 17:54:01 203

原创 Python中遇到奇怪的错误ValueError: bad marshal data

不是代码出的问题,是*.pyc文件被改动了。解决方法,删除所有*.pyc文件再运行

2011-01-11 14:53:59 4802 4

原创 Postfix安装脚本

以下脚本在CentOS 5 上通过 #!/bin/bash# 切换到root开始安装su -mkdir /data/Downloads/chmod -R 777 /data/Downloads/cd /data/Downloads/wget http://postfix.it-austria.net/releases/official/postfix-2...

2010-12-16 19:03:29 121

原创 Python中的时间日期转换

Python关于时间日期有两个库datetime和time,于是我们要在四种格式之间转换:datetime.datetime对象 datetime.datetime.now()time.struct_time对象  time.localtime()字符串 "2010-12-04T10:30:53"时间戳 1291433453  (一般我们不关心微秒)列一下它们的转换方法:d...

2010-12-06 18:37:05 390

原创 Linux下的date命令究竟可以干什么

因为有个Bash脚本,想根据用户给的日期参数(yyyymmdd格式),得到这个日期的前一天的表示。首先想到的就是date命令,网上搜了一大把,其实多数都是互相抄的,date基本用法原本就会,不能用来解决我的问题。先说不用date命令的方法:不嫌麻烦就多用几个判断,解决每月开头、每年开头减去一天的问题,最麻烦的是倒推到上个月最后一天,这一天究竟是28、29还是30、31,还得写个函数。再...

2010-12-06 16:18:28 170

原创 安装python - memcached

0.目标安装 pylibmc http://pypi.python.org/packages/source/p/pylibmc/pylibmc-1.1.1.tar.gz#md5=e43c54e285f8d937a3f1a916256ecc851.环境Ubuntu Server 10.04 已经安装了 gcc, python2.6.5和dev包[code="bash"]su...

2010-06-17 11:49:28 102

用Python解答 ProjectEuler问题(5)

[b]E005[/b][i]2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.What is the smallest number that is evenly divisible by all of the numbers...

2010-04-22 17:19:15 110

用Python解答 ProjectEuler问题(4)

[b]E004[/b][i]A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 99.Find the largest palindrome made from the produc...

2010-04-22 17:05:53 113

用Python解答 ProjectEuler问题(3)

[b]E003[/b][i]The prime factors of 13195 are 5, 7, 13 and 29.What is the largest prime factor of the number 600851475143 ?求600851475143的最大质因子。[/i]今天重写了求素数的方法[code="python"]# -*- codi...

2010-04-22 16:20:48 109

用Python解答 ProjectEuler问题(2)

[b]E002[/b][i]Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ....

2010-04-22 15:32:08 149

用Python解答 ProjectEuler问题(1)

有个很有意思的网站 ProjectEuler.net ,提出了200多道数学问题,要求读者用计算机求解,不限制所用的计算机语言。(2008年11月)试着用Python做了几道,挺有意思的。[list][*] Add all the natural numbers below one thousand that are multiples of 3 or 5.[*] Find t...

2010-04-22 15:30:27 105

地铁上想到的一个关于日期的问题(2009-09-22)

昨天在地铁上,突然想到当天是21号,星期一。打开手机看了一下,2001年1月1号正好是星期一。于是就有一个有趣的问题:那么21世纪中(2001-2100),每个月的1号,同时又是星期一的日子大约有多少天:A. 50 B. 150 C. 350 D. 550当然,答案是后来设计的。当时我考虑这个问题,每个月1号是星期一,具有随机性。按概率算,整个世纪共有100*12个1号,1/7是星...

2010-04-17 17:40:29 101

最近在JS和Jquery遇到的一些问题的解决方法(2009-03-31)

1. JS中数值字符串相加var a='2.1'; var b='13';var c=a+b; 则c的值为 2.113,因为+在字符串间是连接符。如果要求a与b的和,则先要把a、b用parseFloat()或parseInt()转化为浮点数、整数黑客方法 [color=#DC143C]var c=a-0+b;[/color] 因为[color=#DC143C] – [/color]...

2010-04-17 17:30:01 95

最有用的找回硬盘分区表软件-TestDisk

当你的硬盘分区不小心被覆盖了,你首先想到的是什么软件?国产软件DiskGen?在你毁掉分区表之前,你又备份分区表就有用,可惜大多数人都没有这个习惯。如果靠它扫描找回分区表,基本没戏。俄罗斯的R-Studio,这是很好的扫描并记录每个扇区的软件,可以立即把硬盘信息想、记录下来,防止后面的不当操作导致最终无法恢复。但对几T的硬盘不适用,差不多要原来大小的空间做备份。WinHex、磁盘武士、...

2010-04-17 17:22:04 349

百家姓拼音表

今天做一个活儿,需要用到百家姓的拼音,从网上弄了一份百家姓注音,整理了一下,上传共享。可以从用拼音注册的账号名中推测他(她)姓什么。话说最复杂的是ji姓和yu姓,都有11个之多。ji 计/纪/季/吉/嵇/汲/蓟/籍/姬/冀/暨yu 喻/俞/于/余/禹/虞/郁/於/鬱/鱼/庾...

2010-04-15 14:42:13 428

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除