【Celery】Windows 下 backend='amqp' 配置无效的解决方法

最近在Windows下用Celery的时候,碰到个问题:

1
app = Celery('tasks', backend = 'amqp', broker='amqp://guest@localhost//')

Read More

Python 多线程模块Threading和Thread

Python 中的多线程有两种模块实现:ThreadThreading。区别是,Thread 是更老的实现模块,同步原语很少(只有锁),而Threading模块则较多;Thread 实现的线程,主线程结束,所有的线程都会强制结束,没有警告也不会有正常的清理,Threading因为有守护线程的概念,可以确保非守护线程结束后进程才退出。简单来说,就是Threading的同步机制更加完善,下面是两个模块各自的函数对比:
表1 Thread模块函数和Lock类型锁对象方法

Read More

极简

工作后,总有种“时间都去哪了”的感觉,想好好学点东西玩点啥都难——没时间。上班是比上学的时候自由时间少一些,但是换个角度,或许是因为事情太多,时间不知不觉就被各种无关紧要的事消磨了?
在各种新闻和博客里面看到关于产品或设计的简化,谓之扁平化,扁平化的产品不止没有因功能简化而不好用,反而因为减轻了使用的负担,用起来很轻松,很爽,同理我的生活是否可以做个简化呢?所以我特此捋了一捋,才发现真的有很多无益的时间开销,这些开销多了会使人感觉忙忙碌碌,身心疲惫了,实际上可以适当避免,下面列出了部分实例,以作抛砖引玉。
手机是我平时用的最多的东西了,有时候面临要在多个应用间做选择,比如看书应用,kindle、多看阅读、ibook,还有杂牌的moon reader、iread等,到底用哪个应用呢?事实上,每个应用都有各自的优点,有的能很方便的下载书,有的可以同时支持epub和mobi格式,一般每一个用一遍,很快就能选出两个相对好用的,比如多看和kindle吧。然后就纠结了:两个都不错,kindle字体和翻页更好,但是是mobi格式,不好找书,且必须把书放入kindle的目录才能看,多看同步功能好用,epub书多,但是界面没有kinde舒服。要选出一个更好的,需要花费点时间,特别是在睡觉前,会影响休息(已经导致多次晚睡),那干脆两个都装上,用一段时间就知道哪个更好了。如果一定只能容忍装一个,也没必要在睡前决定,挑个更合适的时间比如等车的时候,所以这件事情在睡前是无关紧要的,选好了也不会马上用,还不如先睡觉。(附录贴出了几种常用的应用,是我试用了多个应用后选出的,欢迎一起讨论)
关于导致晚睡的原因,还有一个:夜里11点了,有个电影很好看,是强撑看完,第二天多睡一个小时,还是先睡觉,第二天正常起床接着看?事实上,两种情况都把电影看完了,且第二种方法没有影响到睡眠,这个时候强撑看完电影就可以算无关紧要,不过我貌似还是经常撑着看完,得治。。
在开发的时候也会碰到一些无关紧要的事,例如在开发过程中解决一个问题的同时,往往会引出几个新问题。
系统需要添加一个用户,查添加用户的命令,连带的就会有好多的选项,这个时候把所有选项看一遍,肯定是可以增加对系统命令的把握程度(开始我也这么干),但是同时肯定会影响开发的效率,可能当天晚上就只能停留在添加了几个用户,并且回过头来,更令人沮丧的是基本上看过的这些隔天就忘了90%,只有真正用到的选项还记得,进一步,如果不是常用命令(添加用户应该不算常用,ls、cp等算常用),到下次再见面,又是陌生人了。
上个月,我在尝试ctype绕过GIL锁时的例子。我的目的是在python下试一下用ctype绕过全局锁,但是中间碰到两个别的问题:我是在公司电脑(我司电脑不让装虚拟机,只能在windows下测试),而我看的文章介绍的是linux下的操作,所以生成dll的方法有点小差别,windows下面要在函数前加_declspec(dllexport),表示一个导出的函数,但是如果要深入去查这个函数,搞清楚为啥要这么设计,如果不熟悉VS,感觉就比较难搞清了,所以干脆就一知半解的用吧,总而言之很快的达到了最初的目的。
生活里也有一些可以简化的事,去菜市场买菜,想买萝卜,学着大妈的样子挑来挑去,仔细对比,谓之专业,殊不知仔仔细细的对比半天,花费了精力和时间,挑到的不见得好,感觉大致上扫一眼就可以了,再者萝卜黄瓜这类消费品,比较便宜,买到难吃的,可以扔了下次再买。
除了无关紧要的事情,还有一些情绪也是无关紧要的。
日子那么长,总会碰到挫败,压抑的久了连别人的玩笑听着也像嘲笑,一个失败的事情可能会影响整天的心情。人人都有后悔的时候,会反复的想那几个烦人的场景,要是没有这么做是不是就不会失误了,可是事情已经发生,想第一遍可以是教训,剩下再想多少遍都只是浪费时间,还不如好好把握住眼前的事情,让未来的结果使你满意。其实路漫漫,最终的结果真的不在于那么一两次的失误和一两天的状态,人生不是一蹴而就,而是一种持续的坚持,所以再不要因为某天过得不满意而气馁了。在失误后及时记录原因,然后就可以找点事情做,好转移注意力,控制自己远离失败的情绪。
最后,评论一下一篇和本文相关的文章,题目叫《请放弃你的无效社交》,看到题目,觉得不应该吧,现代社会人越过越孤单,还要鼓励大家拒绝社交吗?个人觉得城市的人群都缺乏社交,社交的时间太少了,每个人都是健步如飞、忙忙碌碌,且像很多技术人员情商低到没朋友,几乎没有社交,所以有机会,每次社交都是在学习沟通,沟通在工作中也是很重要的,良好的沟通说不定能让你的程序少修改几次也能满足需求,省下时间和精力。所以有人愿意和咱社交,赶紧跪舔,也算是提升必须技能。
说了那么多,简单来说,就是有些事情可以选择合适的时间再做,有些事情可以不做。
可以再下面分享你的观点哦。

Read More

Django环境搭建常见问题

Read More

zz:python 线程,GIL 和 ctypes

GIL 是什么东西?它对我们的 python 程序会产生什么样的影响?我们先来看一个问题。运行下面这段 python 程序,CPU 占用率是多少?

1
2
3
4
5
# 请勿在工作中模仿,危险:)
def dead_loop():
while True:
pass
dead_loop()

Read More

zz:十年学会程序设计

Peter Norvig (Copyright 2001) 原文网址
为何大家如此匆忙?
走进任何一家书店,你会看到书架上一排不见尽头的放着如 <7天自学java语言> 以及几天或者几小时学会Windows, 因特网或者Visual Basic 这类书。我在Amazon 网上书店用一下的方式进行高级搜索:
出版年份: 1992以后 书名包括:“天” 和 “学习” 或 “自学”
得到了268条搜索结果,其中前78条都是计算机书(第79条是 30天学会孟加拉语)。 我用 “小时” 代替“天” 作为关键字,得到了神奇般类似的结果:这次有253本书,前77本是计算机书, 第78本是 24小时自学语法和写作风格。排名前200的书中有96%是计算机书。
由此可见,人们要不就是急着想学会计算机,要不就是计算机相比于其他事情太容易学会了。比如说把,没有书是写在几天弹奏贝多芬或几天学会量子物理,甚至也没有几天学会帮小狗打扮这样的书。
让我们分析一下 三天学会Pascal语言 [英文网页] 这样的标题表达了什么意思:

Read More