http://blog.sina.com.cn/nimitzlin[订阅]
个人资料
评论
读取中...
分类
    内容读取中…
图片幻灯
通往未知的路
和路雪

雪糕和文章都很美味哦

柚子

兄弟,帅就一个字

sans souci

puppy,还是偶像阿

小白

小白猪,工作是围城

药渣

药渣,还是药渣

小婶

永远没有雨天的小婶 炮兵连毒害的人

熊猫

其实不一定是叫熊猫的。。。

PinKer

飞天神猪大象腿 我是世界上仅存的猛犸?

tanyear

还惦记着周mm的js木棉

林子

are Daemons nearby?

appletears

悠悠的风

亦然飞飞

你太有才了...

宜人

淡妆浓抹总 相宜

小艾

人似人非

lene

寻石者这家

katherine

心有玲犀一点通

Tonis

high level 叫他:铁人!!

miaom

囧国王后莔

qm

学好外语多牛。。。

bb

kendra的BLOG

for girl

for girl

蛋子

小蛋子的BLOG

音乐播放器
访客
读取中...
好友
读取中...
博文
mysql两张表格的合并(2009-05-31 15:58)

由于要处理合服数据,有两张表,都是autoinc id的,需要合并一起

所以需要自己做一些处理

首先dump出两张表格

A db

mysqldump -u root database table1 > table1.sql

B db

alter table table1 rename table2

mysqldump -u root database table2 > table2.sql

 

new db

mysql -u root newdb < table1.sql

mysql -u root newdb < table2.sql

 

insert into table1 (
xx,yy,zz)
select xx,yy,zz from table2;

简化了decorator的写法。

先看看正常的一个decorator的写法

(1)

先看一个简单的decorator
def wrapper(func):
    def new_func(*args, **argkw):
         #do sth
       return func(*args, **argkw)
   return new_func

@wrapper
def f(args):pass

实际相当于执行了f = wrapper(f)

实现了__get__(self, obj, objtype)的class都可以做descriptor,FunctionType就是一个descriptor
class A(object):
    def f(self):
        pass
a = A()
a.f() ==> FunctionType.__get__(f, a, A)

(2)

结合两者,可以这样实现decorator
def wrapper(func, *args, **argkw):
     #do sth   
    return func(*args, **argkw)
@wrapper.__get__
def f(args):pass

记住,调整好心态(2009-03-03 23:58)

作为一个开发者,你做什么都有人骂

记住,你不是策划,你不应该去想策划考虑的事

 

还有,调整好心态, 有bug的时候一定要镇定

找出源头,而不是只会求助

主要目的是为了hotfix 发布后python的代码

 

看看这个特性如果我们有个模块,叫onetest

class testObj():
    def aaa(self):
        print 'aa'

def bbb():
    print 'bbb'

 

发现打印的代码错误了,要动态更新import了这个模块的代码aaa.py

如下:

import onetest

#使用了这个模块的

onetest.bbb() #更改前
exec('def newbbb():\n      print 'newbbb()'')
onetest.bbb=newbbb
onetest.bbb() #更改后

 

onetest.testObj().aaa()#类方法也一样 更改前

exec('def newaaa(self):\n      print 'newaaa()'')
onetest.testObj.aaa=newaaa
onetest.testObj().aaa()#更改后

@decorators python(2008-12-11 12:17)

如果要调用 一个方法,但是要限制调用的 时间  ,不让方法给调用的过于频密

一个对于方法的注释是一个简单的实现,就好象 java的 inspector

 

下面的例子 ,通过 @accepts的参数 ,控制 func的调用频率

 

import time

def accepts(*timelimit):

    def check_accepts(f):
        print f
        def new_f(*args, **kwds):
            print 'class obj create time',args[0].time
            print 'method called time2',time.time()
           
            if time.time()- args[0].time > timelimit[0]:
                print 'bigge

开始干活拉(2008-11-15 16:35)

炫舞哦

不知道什么时候能够开发完成

 

还是喜欢叫香格拉拉工作室比较好听

好久没有游泳了(2008-09-20 12:12)

上周4去游了2个小时,结果双脚抽痉

 

看来还是要多运动,答应过不能体重超过160。。。

 

大家如果周四晚会去天河体育中心游泳的话,不妨认认我在不。。。

 

不过自己不戴眼镜游泳,基本和瞎子一样,认不出人

这个中国太疯狂了(2008-09-17 16:04)

只要说,牛奶,大家估计都知道什么回事了

我们抱怨厂家

另一方面,自求多福把

 

只是突然很想,朋友(2008-09-09 10:14)

早上在听102.7的歌的时候,突然听回最佳损友

 

里面有一句:

 

给生活催着走,来年陌生的,是昨日最亲的某某

 

想想工作后,多久没有和朋友联系了?

 

昨天进了香格里拉,原来那个很像学校的新人组,各自有路走

 

原来,什么都会散掉的,包括感觉。不过他们的dota技术的确不错:)

vc 支撑背后的繁荣(2008-09-02 09:59)

我不知道用什么词语来形容我对在北京一个的公司的感情

但是,如果回头看起一个工作的的地方走向没落,你会觉得有时候

vc就是毒药,赌博的是公司的生命。

但是,赢,还是很重要的。

 

发出这样子的感概是因为看到了tonis写的总结

 

The most important thing I learnt is that the success of IT startup needs not only effort but also luck. It is really high return with high risk. Here the future is mostly talked about rather than reality. Though many smart people are playing here, but few can succeed, and fewer can continue their success. Reality is cruel.