- 浏览: 136391 次
- 性别:
- 来自: 深圳
最新评论
-
ryan.liu:
Postfix 2.11 Under CentOS 6yum ...
Postfix安装脚本 -
xfzhu2003:
# date -d '-2 day 2012-07-11' + ...
Linux下的date命令究竟可以干什么 -
ryan.liu:
在Firefox下面OK,在IE下面有问题
Jquery联动下拉菜单 -
ryan.liu:
在最新的JQuery 1.7 中,var idx = $(ma ...
Jquery联动下拉菜单 -
mirguest:
身份证最后一位应该是x,不是*吧?
验证18位身份证号码
文章列表
首先安装 Flask-SqlAlchem? v0.15 和 SqlAutoCode? v0.7
在配置文件settings中设置
SQLALCHEMY_DATABASE_URI = 'mysql://kw3:123456@localhost/kw3_article'
SQLALCHEMY_BINDS = {
'game': 'mysql://kw3:123456@localhost/kw_game',
}
TABLE_PREFIX = 't_'
将最后面的代码放到scripts下,并运行它。 如存为generate_models.py文件
(转自 http://medic.iteye.com/blog/1056515)
2007年我面试了一个被阿里面试后刷掉的电话销售人员,她本来在广州有一份好好的工作,之所以来杭州就是想进阿里。我问她为什么想去阿里工作,她说她被电视上马云的讲话(《赢在中国》)给深深的迷住了,她其实是去拜马云教的。
sqlalchemy
- 博客分类:
- 开发经验
通常我们在数据库中设计好了多张表,在SQLAlchemy中有个autoload可以自动加载.
让我们的Model都继承自某个虚类,这个虚类在需要时会自动加载一次表结构
生成我们需要的基类,并绑定数据库连接
定义我们的Model,设置表名和外键关联
可以使用session执行SQL了,scoped_session让maker生成的多个session实际上是重用同一个,
autocommit=True容易导致Bugs,我们使用默认设置不开启它。
在使用过程中发现几个小时后,数据库连接会断掉而没有重新连接,后来在连接时加入pool_recycle=3600, ...
flask的MethodView封装
- 博客分类:
- 开发经验
# -*- coding: utf-8 -*-
from flask import request, render_template, Blueprint
from flask.views import MethodView
from flaskext.principal import RoleNeed, Permission
from models import User
from utils.pagination import Pagination
admin = Permission(RoleNeed('admin'))
auth = Permission ...
PHP下的cURL库主要有两个Requests和Guzzle,两个都很复杂。
Requests优先使用cURL,没有cURL时会自动启用fsockets,除非你手工指定了Transport。
Guzzle有丰富的日志库支持和日志格式,用插件订阅的方式订阅,从代码上看采用事件机制,质量更高。
它只支持cURL(至少只v3版本是),并依赖于Symfony的EventEmitter,但它被ReactPHP所依赖。
最近(2014-03-28)发现它从v3.8.1升级到v4.0.0rc,居然把Namespace改了,将前两段缩减为一段,源码目录也去掉了顶层的Guzzle,毫无意义 ...
问题:
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://www.lijingquan.net/php-mtidown.html|网上扒了个多线程PHP下载类]]
如果只是获得接口数据,看看 [[http://blog.longwin.com.tw/2009/ ...
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_field` varchar(40) NOT NULL DEFAULT '' COMMENT '密码';
部分修改字段
ALTER TABLE `x_table` CHANGE `a_field` ...
# -*- coding: utf-8 -*-
from urlparse import urlsplit
from httplib import HTTPConnection
class HttpChecker:
""" 检测网址是否存在 """
def __init__(self, domain):
if "//" in domain: #网址,不止是域名
self.netloc = urlsplit(domain).ne ...
一个简单的分页
# -*- 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 if page_size > 0 else 0
self.edge_size = edge_size if edge_size > 0 else 0
...
Python多进程记录日志
- 博客分类:
- 开发经验
用gevent(或封装了gevent的gunicore)启动python进程,会出现多个独立进程同时写一个日志文件,
可以观察到有日志部分丢失:一个进程日志没写完,另一个进程把日志覆盖在同一行的后面;有些日志甚至完全丢失。
用mlogging包可以解决多进程写日志的问题,没有发现不完整的日志,是否丢失日志有待进一步检测。
下面是一个在python程序中记录重要信息,以便以后解析统计的函数
# -*- coding: utf-8 -*-
import os.path
import logging
from mlogging import FileHandler_ ...
Python设置编码和PYTHONPATH
- 博客分类:
- 开发经验
Python中的编码是个恼人的问题,第一个是文件编码,在第一行设置了#-*- coding: utf-8 -*-就可以解决。
第二个是环境编码,就是你有个中文unicode的encode或decode操作,它给你报错。
我们最不喜欢看见这段出错信息了:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
加入这段代码在项目入口文件开头,可以解决这个问题。
import sys
try:
reload(sys)
s ...
Python计算MD5
- 博客分类:
- 开发经验
# -*- coding: utf-8 -*-
import hashlib
def md5hex(word):
""" MD5加密算法,返回32位小写16进制符号 """
if isinstance(word, unicode):
word = word.encode("utf-8")
elif not isinstance(word, str):
word = str(word)
m = hashlib.md5()
...
正确使用git避免提交冲突
- 博客分类:
- 系统管理
前几年自己用过一段时间的git(原来是使用bzr,后来换成git),都是当作个人代码备份工具,没有涉及多人提交代码到中央版本库。
两个月前,我们把原来的svn版本管理换成了git,这两天提交版本时遇到许多问题,上网找些资 ...
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-to.wikia.com/wiki/How_to_change_svn_server_name_without_making_a_new_co