向阿北哥请教?
2005-12-31 21:54:09 来自: zh00yi (南京)
douban是用quixote和twisted做的,但好象都是python的web framework,为什么要用两个呢?能告诉我这两个分别用来做什么吗??我很想知道这方面的事,当然如果这属于商业秘密的话,可以不说的。。
2005-12-31 22:58:48 阿北 (北京)
quixote是豆瓣用的web framework. 豆瓣可见的网站建在此之上。
豆瓣的搜索引擎使用twisted. 这个是豆瓣的后台,看不见。但是书的价格比较信息是在此之上搜索各大购物网站而来的。
------------------------------------------------------------------------------------------
豆瓣用的是MySQL数据库么?
2006-07-06 17:10:53 来自: aBBISh (北京)
在高负载的情况下不会出现数据出错的问题么?
对于同时更新时的锁表处理时如何做的?
能否提示一二~
2007-06-28 08:05:15 tianyou
是
2007-06-28 10:52:54 德洪
多个数据库。
不要让Mysql数据库承受太大的压力负荷。
2007-06-28 11:02:06 阿北 (北京)
是。
用innodb可以避免多数锁表的情况。
2007-07-05 13:42:26 blueflame (上海)
难得看到大管家来回帖,顶个~~~
2007-07-05 14:04:46 彬
MySQL似乎是有行级锁的,并不需要锁定整张表。
2007-07-05 14:05:54 阿北 (北京)
MyISAM: table level locking
InnoDB: row level locking
------------------------------------------------------------------------------------------
想知道豆瓣的后端用了某种数据库吗
2005-10-18 11:42:55 来自: closer2sky (南京)
Quixote让大家自便,直接Pickle就可以。
如果让我选的话,我更喜欢ZODB。
不过我觉得豆瓣似乎还是用了某种数据库吧,不然像tags的统计分析不是有很多的工作量……
2005-10-18 11:47:43 leal (杭州)
不用数据库用文件吗?那不是很夸张
2005-10-20 00:50:54 阿北 (北京)
mysql.
豆瓣有几十个G的数据,必须用真正的RDBMS. zodb应该是不够的。
2005-10-22 10:42:21 RainX (北京)
阿北,
几十个G,有那么多么?是为了提高读取效率而产成大量冗余么? 数据表采用的是什么类型?myisam, innodb ,bdb, 有用到heap表么?索引建立的时候有什么技巧么?可不可以那个小例子来说明一下?有用到replication么?或者其他的cluster方案(单独针对数据库)?页面是直接和数据库交互么,有没有什么中间层进行cache,cache的方案大概是怎样的?
呵呵,问得有点多了,如果不方便完全回答的话选择几个来回答哦,谢啦,或者给我“豆油”
2005-10-22 11:50:41 阿北 (北京)
加上所有的封面照片,是有几十个G。不过这些不在数据库里。数据库现在有5G, 最多的是书的信息(40多万条)和用户收藏和评价(50多万条)。这个不包括冗余。
mysql用了innodb和myiam. 读/写频繁的用innodb, 读多写少、写多读少(比如log)或者需要full text index的用myiam. replication/cluster还没有,不过很快会有。现在每晚用mysqldump做backup.
有关索引,其实就是”需要就建“,没有什么特别的技巧,多数myql的书会应该都有。
rainx, 你对这些好像很感兴趣?是工作需要吗?
2005-10-22 12:38:26 RainX (北京)
作为对技术的研究吧,因为我本身就是搞技术的。今天偶尔看到这个主题,由于对数据库相关的问题比较敏感,所以提出了这些问题。其实我对douban的感觉不错,尤其是知道它在如此高的访问量/数据量的情况下还能有这么好的performance,所以就对它的架构比较关心,说实话我对python的了解不多,尤其是对它的web framework没什么了解,所以主要就想从数据库的方面多了解一些,其实你回复的这些有一些和我猜想得很接近,有些又不同。
我的一个朋友近期想做一个和douban模式类似的网站,但不是针对书,音乐和电影的,而是另外的东西,规模可能会比较小(因为是针对一个特定类型的小众圈子的),我可能会给他帮些忙,写些代码。对我本人来说,我是不太喜欢做别人做过的东西的,但是从技术角度来讲,提高数据库的性能这种方法和方式是可以互通的。
我还有一些疑问,就是mysql 的full text的性能如何,我记得它对中文的分词好像没有太好的解决方案。lunece不知道你有没有用过?
mysql 的replication有一个缺陷是它只会读性能上有所提高,但是对于写的负载还是没有降低。我听说你以前是在ibm的,又听说ibm以前有一种针对 mysql的技术是可以提供一个db groups的概念,一个master/slave组为一个group, 一个数据库被分为不同的group,每个group里面的表结构类似,但是数据是分散到不同的group里的,request到达数据库的时候,会有一个中间层(通过hash或其它类似算法)来判断数据应该属于哪一个group,然后到那个group进行相应的读/写操作。是这样么?
------------------------------------------------------------------------------------------
为什么选择了 Quixote?
2005-04-01 16:50:18 来自: 仨儿 (北京)
Python 的web 应用平台如此多?!
为什么选择了 Quixote?
可以给个理由先?!?
我也放在苦恼应用平台的选择中,
Zope 肯定不行,维护的代价太高,
CherryPy 太简单,什么都要自个儿来,没有什么可以借力的,就是实在自然!完全是Python 脚本的编写,但是没有什么模板的支持,
………………
2005-04-01 17:39:29 阿北 (北京)
简单地说来:
1. pythonic. 就连模版(ptl)都是python. 用
"""<h3>%s</h3>""" % mytitle
之类的。zope不行, webware太像jsp.
2. restful. 看看这页的url就知道了。这点quoxite简单灵活地帮你实现了。
3. robust. quixote是经过大规模实际应用检验的,不是漂亮的玩具。这点CherryPy不行。
用quixote的时候你的注意力大部分在要实现的内容上,framework不会拦在中间跳来跳去。
不过如果你需要模版设计和后台分家, 由非程序人员进行复杂的模版调试的话,quixote可能不太适合。
2005-04-09 13:32:52 刘老虎 (南京)
不过这里的效果可真不错。
2005-05-18 17:54:41 big student
阿北说的太笼统,如果偶是boss肯定不会被说服
2005-05-30 11:31:30 alang (武汉)
我觉得Quixtoe不能把页面与程序分离,还是很遗憾的。在企业中用,就不太合适,我是指开发这一块,好程序员会美工的太少了。
MVC模式证明是很成功的,也是必不可少的。
------------------------------------------------------------------------------------------
豆瓣在python和ruby之间为何选择前者?
2005-06-15 23:09:20 来自: 骑士 (上海)
问阿北兄一个问题,知道你在做豆瓣之前曾对python和ruby做过对比,最后选择了python和quixote。为何当初没有选择ruby和rails呢?
我不知道ruby有没有象twisted这样的产品,是不是用ruby做crawler没有python和twisted的优势呢?
2005-06-15 23:27:09 阿北 (北京)
最主要的原因是ruby用的人太少了。至少python在中国有真正的使用者,有仨儿这些人吆喝着,还算有些气候。没有使用者,豆瓣以后的开发团队会是一个问题。从技术管理的角度来看,没有用java已经有些不切实际了,用ruby就太过理想主义了。
还有一个问题是库。python有大量现成的库,而且很多库都经过大型商业应用。这点ruby还需要时间。比如rails在大访问量下的性能怎样,还不是太清楚。
从个人喜好来说,python更简洁,和我口味。python用缩位不知省去了我多少时间。我以前 { } ; 敲了十几年了,现在想起来真是不堪回首。
2005-06-16 11:26:11 仨儿 (北京)
哈哈哈!!深得我心!!
还有一个更加重要的原因!
Ruby 是小日本创建的!不能保证其技术支持性!!
Python 是世界的!
2005-06-16 11:27:52 仨儿 (北京)
ps.
哈哈哈!!原来还有我的功劳?!?!
如果需要开发团队的话!算我一个!!!嗯嗯!!
Python,Pythonic 的开发体验是我的最爱!!!
2005-06-16 22:06:15 骑士 (上海)
阿北兄在最初就能考虑到将来的开发团队让小弟深感敬佩。
现在想来,豆瓣使用python而没有用java是非常正确的选择,技术上激进一点儿,只要风险在可控的范围内,也许能给系统带来全新的开发和使用体验。
豆瓣现在实际上已经成为国内使用python开发商业系统的典范。只要一提python做的站点,大家首先想到的是豆瓣,而不是用zope/plone架构的网站。提到有创新精神的站点,大家首先会想到豆瓣和土豆,而不是其他N多制造流量的网站。
我也一直关注学习拥戴python,当初北哥把豆瓣上线的消息发到python.cn邮件列表后,也参合测试过一下豆瓣。最近试用了一下 rails,给我印象最深的是两点:一是ruby使用gem管理package的科学和方便,小弟以为这是python做的不好的地方,同样根植于 *nix,python却没有吸收这样优秀的思想,程序安多了path和package容易造成混乱,也很难把握程序之间的依赖关系,而在安装rails 的时候所依赖的Rake,ActiveRecord等等都会提示给你询问是否安装,真诚的希望将来python也可以学习这种包管理的方式;二是 rails的体贴干练,把ORM,MVC等等都已经准备好了,甚至需要和apache集成的FastCGI只要安装一下就可以了,而python很多事情都要自己来做,有时还需要慢慢调试寻找依赖,python.org上罗列了很多应用,至少我目前还不知道有象rubyforge.org这样的站点。我觉得python象gentoo和debian,想要很好的使用必须要深入底层;而ruby象mandrake和radhat,深入底层会做的更好但是不下去也可以让你聚焦在应用上把系统run起来。希望python象ruby学习是真的,不过说实话,有了zope/plone,twisted, gmail,豆瓣这些成功的例子,如果做大型的皮实的系统的话,还是python更让人心里塌实些。ZQ兄在北京moc.anis不是发展的不错嘛,最近还看到发到邮件列表里的招聘消息呢,难道还要再回上海来?^_^
2005-06-18 15:21:39 chenge (上海)
看了豆瓣后,我尝试了一下Quixote, 后来又看了Rails,我倾向于Ruby和Rails, 后者可能因为时间短还不成熟,但也有后发优势。
感觉Ruby比Python的语言一致性好,纯面向对象。
2005-06-28 08:40:46 仨儿 (北京)
Python 可能因为发展的太快,有些混乱,但是有一个本质可以令Python 永远的可爱下去,那就是Python 使用代码的缩进格式来进行层次判定,这样一来保证了所有的Python 脚本是格式统一的,并隐含的迫使你不能尝试太多的嵌套堆砌…………
这比任何一种使用 {} 或是 begian end 来划分逻辑层次的语言要人性的多,我们在学习他人的代码时不用捏着鼻子来习惯别人古怪的代码习俗………………
------------------------------------------------------------------------------------------
豆瓣在python和ruby之间为何选择前者?
2007-01-30 11:23:16 来自: 一个好孩子 (北京)
我使用了一年前同样的题目..
http://www.douban.com/group/topic/1000883/
05年的时候阿北说了,选择Python主要是使用的人相对多一些
那么,过去这么久了
我希望得到大家比较中肯的答复,说说你们的看法?
本人还未下定决定学习哪门语言,实在惭愧。
2007-01-30 11:32:10 小豆包-积劳成疾 (广州)
在那个时候,如果想在国内搞Web开发,Python好像是唯一一个可以做到轻量级、增量开发、通用技术支持的语言,当时Ruby在国内还没几个人关注。而且据说阿北是从UNIX上转过来的技术专家,Python在UNIX上的地位比Ruby重要的多,可能环境的影响也很重要。相比之下,Ruby的技术力量主要来自Java圈子。
2007-01-30 13:15:20 沈崴 (深圳)
Python 2.5 (r25:51908, Jan 28 2007, 14:20:16)
[GCC 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 'Ruby' > 'Python'
True
>>> 'Ruby' > 'Java'
True
>>> 'Ruby' > 'C/C++'
True
Python 说了, Ruby 是最拽滴。
2007-01-30 13:17:17 小豆包-积劳成疾 (广州)
哈哈,我看见end if啦,end for啦这些东西就怕,所以……Ruby基本与我无缘了
2007-01-30 14:01:32 limodou
一旦学了python,别的我基本上不想了。
其实ruby与python相比还有许多差异,比如执行效率,第三方库。而且ruby本身比python要复杂。以前有人搞过c,python, ruby, java的语法图,从图中看c,python比较简单。而ruby和java比较复杂。
再看语法清楚上,ruby是从perl学了许多东西,所以还是有许多奇怪的符号,而python基本上是从简单,优美中重新的设计产生,在可读性,优美上要强于ruby。
2007-01-31 11:23:38 仨儿 (北京)
http://wiki.woodpecker.org.cn/moin/BPUG/2006-03-26
有阿北自个儿说的想法,大家可以回顾一下,就俺的理解:
1. 豆瓣开发时,Ruby 还没有成熟
2. 就算是成熟了,小日本的东西也不推广使用
3. 就算不管日本,Ruby 的支持库和社区活跃程度和Python 的也没有可比性
4. 以上3点再重复..
2007-01-31 15:52:41 苜蓿 (北京)
那相对于java、PHP呢?
2007-01-31 15:56:54 小豆包-积劳成疾 (广州)
Java太笨拙,PHP太专注于Web。
2007-01-31 16:34:33 一个好孩子 (北京)
非常感谢楼上诸位的讲解!思路已经逐渐清晰。
我只有在实践中才更能体会到这些,谢谢。
2007-02-01 21:54:10 henry.3
轻量级的开发非常重要。
2007-02-02 12:51:46 爱咖啡 (北京)
在python的小组里问这个问题你又能期待什么样与众不同的答案?
2007-02-02 15:10:41 一个好孩子 (北京)
同样,如果去了Ruby,你或许听到的是向Ruby方倒的声音。
来这里问Python,要的就是最专业的回复,他们的理论/看法来自实践。
2007-02-20 17:34:43 openweb (深圳)
At Google, python is one of the 3 "official languages" alongside with C++ and Java.
我想对于 Python, 你可以更加坚定啦 :)
2007-02-20 19:42:34 氷の鋭 (南京)
其实Ruby真的是没创意的东西——包括Perl的字符串处理机制、Smalltalk的面向对象机制、ML-like的语法、Lisp中关于DSL的想法,还有shell里面的一些东西。然而,在Ruby中你所得到的这些思想的整合后的力量大约只是上述语言各自的“一半”。
Python也有一些“看上去”不怎么样的东西,但是他新颖,有一个工作的中心(使用主义),有创意,尤其是看上去很像C的面向对象机制设计,还有貌似JavaScript的'.'操作符;面熟,但有自己的想法,这是我所推崇的。
2007-04-30 18:05:34 氷の鋭 (南京)
回复 "2007-01-30 13:15:20 沈崴 (广州)
Python 2.5 (r25:51908, Jan 28 2007, 14:20:16)
[GCC 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 'Ruby' > 'Python'
True
>>> 'Ruby' > 'Java'
True
>>> 'Ruby' > 'C/C++'
True
Python 说了, Ruby 是最拽滴。"
那smalltalk岂不更强? Zuse 岂不无敌?
------------------------------------------------------------------------------------------
阿北能比较一下Quixote和PHP的开发效率和优...
2005-05-28 16:45:08 来自: chenge (上海)
标题:阿北能比较一下Quixote和PHP的开发效率和优缺点吗?
如题!
2005-05-30 22:54:10 阿北 (北京)
我没用过php, 所以没有发言权。
不过看php代码的感觉是,php更多是围绕网页组织的,而quixote是以url的路径来组织python模块。所以php更适合复杂的html代码动态化,而quixote适合豆瓣这样页面简单,但逻辑复杂的网站。
2005-06-10 10:09:40 Josh.Yin (合肥)
quixote 是框架;
PHP 是脚本语言,有可比之处?
PHP 该拿去和 python 比较才是;
同样,你可以用 quixote 和 Mojavi 等做比较;
------------------------------------------------------------------------------------------
豆瓣一年
2006-03-06 15:57:13 来自: 阿北 (北京)
[ 正式的blog地址是 http://blog.douban.com/douban/2006/03/06/61/ ]
2005年3月6日下午,我弱弱地给中国Python用户组的邮件列表发了一封email。题目是”用python开发的网站开始公测”:
欢迎到http://douban.com使用豆瓣的读书者网络和书价比较。
豆瓣全部使用python开发。网站后台的搜索引擎基于Twisted, GUI基于Quixote. 还用到了cElementTree, MySQLdb和 PIL. 除了这些豆瓣基本是从头开发(一个人四、五个月)完成。
如果你有爱读书或爱写书评的朋友,也欢迎推荐豆瓣给他们。最好的方式是通过豆瓣的邀请功能。
谢谢!
当时我已经抓着几个朋友内部测试了几天。总算,世界上的人知道了有豆瓣这么个网站。虽然是“公测”,但按照“永远beta”的2.0原则,这就算是面世了。回想起来,这个程序员的邮件列表其实不是最好的PR渠道。但我有些私心。当时bugs还很多,做程序的应该比较理解,不会扭头就走, 报告起来也说的清楚。
我觉得所有网站第一次上线的时候,开发者都会满头大汗盯着屏幕不断刷屏。我呢,一直刷到天亮。不过算上我别的几个朋友,当天也就来了五六个人。但晚上无聊的头和anuxs就写了书评。然后就有了回应。我也第一次知道,世界上有杜尚访谈录和辛丰年音乐笔记这些个书,因为这两个人看过。豆瓣,这个在脑子里憋了半年的东西,竟然有人用了,而且能对人有用! 我猜想初为人父者听到自己的孩子第一声嚎哭的时候,感受应该有相似的地方吧。
今天,一年之后,十一万形形色色的人在豆瓣上有了自己的空间和自己的圈子。他们共通的地方是对书、电影、音乐的热爱。每个月还有百多万潜水的访问者, 通过豆瓣发现他们以前不知道的东西。更重要的是,今天的豆瓣有了自己的生命,循着自己的轨迹生长。我能够做的,是寻找更多的看护人和建设者, 给这个生命更大的空间和养分。
感谢一年多来无数热爱豆瓣的人给豆瓣团队的支持。现在是热身后的稍息,我们才刚开始。
------------------------------------------------------------------------------------------
关于豆瓣的链接
2006-06-04 17:24:56 来自: Jim (保定)
为什么很多连接后面都要一个 “/”呢,必须这样吗?
跟quixote有关系???
2006-06-08 09:25:48 enjoy (成都)
便于写正则?
猜的。
反正我是。
2006-06-09 00:31:18 nilaozi
传说中的广告人又出现了
http://www.douban.com/group/single/?action=join
2006-06-09 09:05:05 小力 (深圳)
的确是Quixote的url解析机制造成的。
2006-06-11 15:39:22 Jim (保定)
to 小力:
你的nsnq.com是用quixote吗?
我也正在利用业余时间,用quixote写一个东西
2006-06-17 09:23:03 小力 (深圳)
不好意思,这里很深,今天才看见。
是用Django写的,初始原型很快就搞定了,大概10天左右,毕竟nsnq.com的逻辑结构很简单,不过从那以后,每天都会修改,添加新东西。
之前,我用quixote技术储备了很久,开发的时候,不得不自己做一些翻页处理/缓存页面/数据库连接重用等等事情,虽然django一出世就带这些功能,但我感觉当时django0.90很不好用,用它写出来的代码很混乱。
现在的django 0.95 m-r版本非常好用了,自动生成代码很清晰。
应该说,我自己开发的话,除了django,quixote是首选。
quixote代码结构很清晰,但好多东西都得自己组装。
django提供了一站式的解决方案。
如果想深入研究web技术或者开发时间不紧,可以玩quixote,代码量很小,适合阅读,研究。但要快速开发,django非常合适。
2006-06-17 12:11:51 Jim (保定)
谢谢小力
我不曾接触django,这一阵子好像研究它的人不少
我正在用quixote,不过进展有点慢
不过,我倒是挺喜欢quixote的,感觉很好
等有了新的进展,我们再交流,呵呵
------------------------------------------------------------------------------------------
1. 爬虫和用户自己提交的都有。爬虫建在twisted上。不紧张,你要我也没办法给,除非你来我们这工作 :)
2.
豆瓣的原则是采用从图书扉页直接拷贝下来的那种图书简介,不用别的网站自己写的介绍和编辑推介。图书扉页简介(包括编号作者目录等等)属于公共信息,至
少是出版商愿意分享的。另外,因为提供了购买链接,豆瓣和网上书店之间是合作伙伴关系。
3. 见我这篇blog: http://blog.douban.com/douban/2005/06/06/24/
4. mysql
顺便提一下,豆瓣跑在gentoo linux 上,而且很早就自做主张把python的东西全部升到2.4. :)
我从内核0.97版的时候就开始用linux,gentoo是我最喜欢的linux dist。
还有针对豆瓣的问题的话请单独给我email, 或者欢迎在豆瓣的python小组讨论,不要在这里打搅大家了。
- 阿北
(http://blog.douban.com)
Begin forwarded message:
> From: 清风 <paradise.qingfeng at gmail.com>
> Date: June 9, 2005 4:55:37 PM CTT
> To: python-chinese at lists.python.cn
> Subject: [python-chinese] 问豆瓣几个问题:)
> Reply-To: 清风 <paradise.qingfeng at gmail.com>,
> python-chinese at lists.python.cn
>
> 1.你们的数据来源?自己写了爬虫程序去其他网站爬?别紧张,不要代码,只是问一下:)
> 2.图书的简介的爬取是否有版权问题?最近要帮别人做一爬虫,不知是否有版权问题
> 3.tag的处理完全是平级而没有纵深是吗?那对于分类是否完全用关键字分析来做?
> 4.数据库用的是什么?纯属好奇:)
------------------------------------------------------------------------------------------
Quixote 开发求助!
2005-06-11 20:53:05 来自: 仨儿 (北京)
北哥!刚好公司有个机会要快速开发一套适合现有情况的项目管理系统,我想使用 Quixote 快捷设计完成雏形,
可以有你的即时通信地址? 我的都在 http://wiki.woodpecker.org.cn/moin/ZoomQuiet/ContactMe
期望可以得到你的实时开发支持是也乎?!
嗯嗯!也想将学习,应用过程总结出来,让大家快速可以使用 堂吉诃德系统!
http://wiki.woodpecker.org.cn/moin/QuixoteQuickIn
现在主要的问题在于:
1. 为了加速开发,可以令Quixote 应用象PHP 那样每次请求时重构所有模块,以便随时修改随时看到效果? Karrigell
通过设定是可以的,不知道 Quixote 如何?
2. 公司内部应用,有很强的管理层次概念, Session 的身份判别是一定要有的,原先的 CherryPy 开发经历,发现 Session
是非常难受的,不知道 Quixote 这方面如何?
3. robust 性能的支撑是自动的,不用特别设置,安装什么的嘛?
4. 数据库的连接操作,Quixote 有什么方便的内含包?
另外,我的平台是FreeBSD 直接含有 quixote-2.0_1!
简单的安装成功后,想安装 demo 来学习,但是!
http://quixote.ca/files/qxdemo/qxdemo-0.1.tar.gz
demo 安装时:
# python setup.py install
Traceback (most recent call last):
File "setup.py", line 5, in ?
from quixote.qx_distutils import qx_build_py
ImportError: No module named qx_distutils
运行时::
# ./run.sh
Traceback (most recent call last):
File "scripts/make_links", line 5, in ?
from qxdemo.links import Category, Link, save
ImportError: No module named qxdemo.links
No matching processes belonging to you were found
[zoomq@wiki] ~/zzz/qxdemo-0.1>
==================================================
medusa/ package not found; fetch it from
http://www.amk.ca/files/python/
and install it.
==================================================
Traceback (most recent call last):
File "scripts/links-server.py", line 4, in ?
from medusa import http_server, xmlrpc_handler
ImportError: No module named medusa
??
怎么回事儿??你当初是怎么学习 堂吉诃德的?!
谢谢,先!
2005-06-12 11:27:08 阿北 (北京)
仨儿,豆瓣的开发和维护工作很大,实在没有时间提供别的实时支持。我尽量通过email和论坛来做,好吧?
1. 应该是可以的,现在我没有花时间去找怎么做。另外这样也会有问题,很多时候你是需要先改,然后统一更新的。
quoxite如果是通过scgi, 只是一个服务,和apache和数据库都是独立的,重起只是一个命令,一秒种的事,很方便。
2. quoxite有SessionPublisher, 非常方便, cookie什么的都帮你做了,用的时候置取request.user就可以了。可以看文档里"Session"的部分。
3. 对。我说robust只是说它皮实。这个不是特别的功能。
4. quixote自己没有什么,你可以用第三方的。
5. 看起来这是个大的demo, 除了quixote, 还需要quixote作者的别的软件(medusa数据库等). 你可以从quixote自带的demo开始。
我当初就是看文档摸索学会的。除了quoxite自己的文档(挺清楚的), 还有一个wiki站点:
http://quixote.ca/
里面有些例子和小教程。
2005-06-12 12:00:29 仨儿 (北京)
谢谢!我看还是就在你的地盘讨论吧!
看到豆瓣每天都在成长,就知道你的工作之繁忙了!
先建议一下子,应该利用blog 将你每日的主要修改成果记录在案,虽然对别人可能会有些摸不到头脑,但是,对于自个儿的开发,就有一个反省和积累的效果了…………
比如说:
http://wiki.woodpecker.org.cn/moin/CvsWeeklyStat
就是在下随手开发的一个实用分析工具,记录了主要思路,也为日后进一步的改进,或是技巧的再次利用留下了积累…………
有什么成果,我汇集到Wiki 中,再向大家通告吧!
re 1.开发时的琐碎测试是非常频繁的,特别是刚刚开始学习的在下, CherryPy 也是与Apache 分离的,只是每次修改了代码后要重启服务,那未,在调整某一深层页面的效果时,就不是重启服务所等待的时间了,要反复点击进入那个页面才可以…………呜乎哀哉!象php 你可以即时的看到修改的效果,对比下开发的调试时间就要小,也不会反复打断思路…………
一定要找出这个方式哪!
re 5. 嗯嗯!看到有个自带的 demo 目录,但是怎么运行起来哪?……嗯嗯有文档,但是要自个儿乱摸,阿北 没有什么中文的学习笔记之类的保留下来??
plus 1. PTL ?? 豆瓣在开发中使用了PTL模板?还是完全使用简单的HTML模板?
类似:
http://wiki.woodpecker.org.cn/moin/EasyPaper?action=show#head-81b16228db8b0d534fd1d5ee29ba64bfdcc3b0c6
2005-06-12 14:11:00 阿北 (北京)
豆瓣有一个blog:
blog.douban.com
不过不是针对开发的。
当初没留笔记。:( 不过总的来说不复杂。
真的做起来,必须用ptl, 或者别的模板。豆瓣多数网页是ptl.
2005-06-12 15:51:20 alang (武汉)
demo的运行,在win下我写了一个简单的bat文件,一点就可以了
python c:/Python24/Lib/site-packages/quixote/server/simple_server.py --factory quixote.demo.create_publisher
相应的路径你自己改一下。
2005-06-12 16:10:38 alang (武汉)
demo的运行,在win下我写了一个简单的bat文件,一点就可以了
python c:/Python24/Lib/site-packages/quixote/server/simple_server.py --factory quixote.demo.create_publisher
相应的路径你自己改一下。
2005-06-12 16:13:54 alang (武汉)
不知为什么重复了,请把上面删除一个。(包括本条)
2005-06-12 18:11:03 仨儿 (北京)
谢谢提示!!
ps.
豆瓣的评论,自个儿写的不能进一步编辑也算是个小bug??
嗬嗬!
2005-06-13 09:36:47 阿北 (北京)
能修改但不能删除。可以用修改把内容清空。
2005-06-27 08:55:57 dryice
第一条,我想开发时可以用 plain CGI 的方式
这样每一次点击都会重新load所有模块。
另外请教大家quixote能不能单步调试?
目前我只知道看log和把DISPLAY_EXCEPTIONS打开看 back trace
2005-12-31 21:54:09 来自: zh00yi (南京)
douban是用quixote和twisted做的,但好象都是python的web framework,为什么要用两个呢?能告诉我这两个分别用来做什么吗??我很想知道这方面的事,当然如果这属于商业秘密的话,可以不说的。。
2005-12-31 22:58:48 阿北 (北京)
quixote是豆瓣用的web framework. 豆瓣可见的网站建在此之上。
豆瓣的搜索引擎使用twisted. 这个是豆瓣的后台,看不见。但是书的价格比较信息是在此之上搜索各大购物网站而来的。
------------------------------------------------------------------------------------------
豆瓣用的是MySQL数据库么?
2006-07-06 17:10:53 来自: aBBISh (北京)
在高负载的情况下不会出现数据出错的问题么?
对于同时更新时的锁表处理时如何做的?
能否提示一二~
2007-06-28 08:05:15 tianyou
是
2007-06-28 10:52:54 德洪
多个数据库。
不要让Mysql数据库承受太大的压力负荷。
2007-06-28 11:02:06 阿北 (北京)
是。
用innodb可以避免多数锁表的情况。
2007-07-05 13:42:26 blueflame (上海)
难得看到大管家来回帖,顶个~~~
2007-07-05 14:04:46 彬
MySQL似乎是有行级锁的,并不需要锁定整张表。
2007-07-05 14:05:54 阿北 (北京)
MyISAM: table level locking
InnoDB: row level locking
------------------------------------------------------------------------------------------
想知道豆瓣的后端用了某种数据库吗
2005-10-18 11:42:55 来自: closer2sky (南京)
Quixote让大家自便,直接Pickle就可以。
如果让我选的话,我更喜欢ZODB。
不过我觉得豆瓣似乎还是用了某种数据库吧,不然像tags的统计分析不是有很多的工作量……
2005-10-18 11:47:43 leal (杭州)
不用数据库用文件吗?那不是很夸张
2005-10-20 00:50:54 阿北 (北京)
mysql.
豆瓣有几十个G的数据,必须用真正的RDBMS. zodb应该是不够的。
2005-10-22 10:42:21 RainX (北京)
阿北,
几十个G,有那么多么?是为了提高读取效率而产成大量冗余么? 数据表采用的是什么类型?myisam, innodb ,bdb, 有用到heap表么?索引建立的时候有什么技巧么?可不可以那个小例子来说明一下?有用到replication么?或者其他的cluster方案(单独针对数据库)?页面是直接和数据库交互么,有没有什么中间层进行cache,cache的方案大概是怎样的?
呵呵,问得有点多了,如果不方便完全回答的话选择几个来回答哦,谢啦,或者给我“豆油”
2005-10-22 11:50:41 阿北 (北京)
加上所有的封面照片,是有几十个G。不过这些不在数据库里。数据库现在有5G, 最多的是书的信息(40多万条)和用户收藏和评价(50多万条)。这个不包括冗余。
mysql用了innodb和myiam. 读/写频繁的用innodb, 读多写少、写多读少(比如log)或者需要full text index的用myiam. replication/cluster还没有,不过很快会有。现在每晚用mysqldump做backup.
有关索引,其实就是”需要就建“,没有什么特别的技巧,多数myql的书会应该都有。
rainx, 你对这些好像很感兴趣?是工作需要吗?
2005-10-22 12:38:26 RainX (北京)
作为对技术的研究吧,因为我本身就是搞技术的。今天偶尔看到这个主题,由于对数据库相关的问题比较敏感,所以提出了这些问题。其实我对douban的感觉不错,尤其是知道它在如此高的访问量/数据量的情况下还能有这么好的performance,所以就对它的架构比较关心,说实话我对python的了解不多,尤其是对它的web framework没什么了解,所以主要就想从数据库的方面多了解一些,其实你回复的这些有一些和我猜想得很接近,有些又不同。
我的一个朋友近期想做一个和douban模式类似的网站,但不是针对书,音乐和电影的,而是另外的东西,规模可能会比较小(因为是针对一个特定类型的小众圈子的),我可能会给他帮些忙,写些代码。对我本人来说,我是不太喜欢做别人做过的东西的,但是从技术角度来讲,提高数据库的性能这种方法和方式是可以互通的。
我还有一些疑问,就是mysql 的full text的性能如何,我记得它对中文的分词好像没有太好的解决方案。lunece不知道你有没有用过?
mysql 的replication有一个缺陷是它只会读性能上有所提高,但是对于写的负载还是没有降低。我听说你以前是在ibm的,又听说ibm以前有一种针对 mysql的技术是可以提供一个db groups的概念,一个master/slave组为一个group, 一个数据库被分为不同的group,每个group里面的表结构类似,但是数据是分散到不同的group里的,request到达数据库的时候,会有一个中间层(通过hash或其它类似算法)来判断数据应该属于哪一个group,然后到那个group进行相应的读/写操作。是这样么?
------------------------------------------------------------------------------------------
为什么选择了 Quixote?
2005-04-01 16:50:18 来自: 仨儿 (北京)
Python 的web 应用平台如此多?!
为什么选择了 Quixote?
可以给个理由先?!?
我也放在苦恼应用平台的选择中,
Zope 肯定不行,维护的代价太高,
CherryPy 太简单,什么都要自个儿来,没有什么可以借力的,就是实在自然!完全是Python 脚本的编写,但是没有什么模板的支持,
………………
2005-04-01 17:39:29 阿北 (北京)
简单地说来:
1. pythonic. 就连模版(ptl)都是python. 用
"""<h3>%s</h3>""" % mytitle
之类的。zope不行, webware太像jsp.
2. restful. 看看这页的url就知道了。这点quoxite简单灵活地帮你实现了。
3. robust. quixote是经过大规模实际应用检验的,不是漂亮的玩具。这点CherryPy不行。
用quixote的时候你的注意力大部分在要实现的内容上,framework不会拦在中间跳来跳去。
不过如果你需要模版设计和后台分家, 由非程序人员进行复杂的模版调试的话,quixote可能不太适合。
2005-04-09 13:32:52 刘老虎 (南京)
不过这里的效果可真不错。
2005-05-18 17:54:41 big student
阿北说的太笼统,如果偶是boss肯定不会被说服
2005-05-30 11:31:30 alang (武汉)
我觉得Quixtoe不能把页面与程序分离,还是很遗憾的。在企业中用,就不太合适,我是指开发这一块,好程序员会美工的太少了。
MVC模式证明是很成功的,也是必不可少的。
------------------------------------------------------------------------------------------
豆瓣在python和ruby之间为何选择前者?
2005-06-15 23:09:20 来自: 骑士 (上海)
问阿北兄一个问题,知道你在做豆瓣之前曾对python和ruby做过对比,最后选择了python和quixote。为何当初没有选择ruby和rails呢?
我不知道ruby有没有象twisted这样的产品,是不是用ruby做crawler没有python和twisted的优势呢?
2005-06-15 23:27:09 阿北 (北京)
最主要的原因是ruby用的人太少了。至少python在中国有真正的使用者,有仨儿这些人吆喝着,还算有些气候。没有使用者,豆瓣以后的开发团队会是一个问题。从技术管理的角度来看,没有用java已经有些不切实际了,用ruby就太过理想主义了。
还有一个问题是库。python有大量现成的库,而且很多库都经过大型商业应用。这点ruby还需要时间。比如rails在大访问量下的性能怎样,还不是太清楚。
从个人喜好来说,python更简洁,和我口味。python用缩位不知省去了我多少时间。我以前 { } ; 敲了十几年了,现在想起来真是不堪回首。
2005-06-16 11:26:11 仨儿 (北京)
哈哈哈!!深得我心!!
还有一个更加重要的原因!
Ruby 是小日本创建的!不能保证其技术支持性!!
Python 是世界的!
2005-06-16 11:27:52 仨儿 (北京)
ps.
哈哈哈!!原来还有我的功劳?!?!
如果需要开发团队的话!算我一个!!!嗯嗯!!
Python,Pythonic 的开发体验是我的最爱!!!
2005-06-16 22:06:15 骑士 (上海)
阿北兄在最初就能考虑到将来的开发团队让小弟深感敬佩。
现在想来,豆瓣使用python而没有用java是非常正确的选择,技术上激进一点儿,只要风险在可控的范围内,也许能给系统带来全新的开发和使用体验。
豆瓣现在实际上已经成为国内使用python开发商业系统的典范。只要一提python做的站点,大家首先想到的是豆瓣,而不是用zope/plone架构的网站。提到有创新精神的站点,大家首先会想到豆瓣和土豆,而不是其他N多制造流量的网站。
我也一直关注学习拥戴python,当初北哥把豆瓣上线的消息发到python.cn邮件列表后,也参合测试过一下豆瓣。最近试用了一下 rails,给我印象最深的是两点:一是ruby使用gem管理package的科学和方便,小弟以为这是python做的不好的地方,同样根植于 *nix,python却没有吸收这样优秀的思想,程序安多了path和package容易造成混乱,也很难把握程序之间的依赖关系,而在安装rails 的时候所依赖的Rake,ActiveRecord等等都会提示给你询问是否安装,真诚的希望将来python也可以学习这种包管理的方式;二是 rails的体贴干练,把ORM,MVC等等都已经准备好了,甚至需要和apache集成的FastCGI只要安装一下就可以了,而python很多事情都要自己来做,有时还需要慢慢调试寻找依赖,python.org上罗列了很多应用,至少我目前还不知道有象rubyforge.org这样的站点。我觉得python象gentoo和debian,想要很好的使用必须要深入底层;而ruby象mandrake和radhat,深入底层会做的更好但是不下去也可以让你聚焦在应用上把系统run起来。希望python象ruby学习是真的,不过说实话,有了zope/plone,twisted, gmail,豆瓣这些成功的例子,如果做大型的皮实的系统的话,还是python更让人心里塌实些。ZQ兄在北京moc.anis不是发展的不错嘛,最近还看到发到邮件列表里的招聘消息呢,难道还要再回上海来?^_^
2005-06-18 15:21:39 chenge (上海)
看了豆瓣后,我尝试了一下Quixote, 后来又看了Rails,我倾向于Ruby和Rails, 后者可能因为时间短还不成熟,但也有后发优势。
感觉Ruby比Python的语言一致性好,纯面向对象。
2005-06-28 08:40:46 仨儿 (北京)
Python 可能因为发展的太快,有些混乱,但是有一个本质可以令Python 永远的可爱下去,那就是Python 使用代码的缩进格式来进行层次判定,这样一来保证了所有的Python 脚本是格式统一的,并隐含的迫使你不能尝试太多的嵌套堆砌…………
这比任何一种使用 {} 或是 begian end 来划分逻辑层次的语言要人性的多,我们在学习他人的代码时不用捏着鼻子来习惯别人古怪的代码习俗………………
------------------------------------------------------------------------------------------
豆瓣在python和ruby之间为何选择前者?
2007-01-30 11:23:16 来自: 一个好孩子 (北京)
我使用了一年前同样的题目..
http://www.douban.com/group/topic/1000883/
05年的时候阿北说了,选择Python主要是使用的人相对多一些
那么,过去这么久了
我希望得到大家比较中肯的答复,说说你们的看法?
本人还未下定决定学习哪门语言,实在惭愧。
2007-01-30 11:32:10 小豆包-积劳成疾 (广州)
在那个时候,如果想在国内搞Web开发,Python好像是唯一一个可以做到轻量级、增量开发、通用技术支持的语言,当时Ruby在国内还没几个人关注。而且据说阿北是从UNIX上转过来的技术专家,Python在UNIX上的地位比Ruby重要的多,可能环境的影响也很重要。相比之下,Ruby的技术力量主要来自Java圈子。
2007-01-30 13:15:20 沈崴 (深圳)
Python 2.5 (r25:51908, Jan 28 2007, 14:20:16)
[GCC 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 'Ruby' > 'Python'
True
>>> 'Ruby' > 'Java'
True
>>> 'Ruby' > 'C/C++'
True
Python 说了, Ruby 是最拽滴。
2007-01-30 13:17:17 小豆包-积劳成疾 (广州)
哈哈,我看见end if啦,end for啦这些东西就怕,所以……Ruby基本与我无缘了
2007-01-30 14:01:32 limodou
一旦学了python,别的我基本上不想了。
其实ruby与python相比还有许多差异,比如执行效率,第三方库。而且ruby本身比python要复杂。以前有人搞过c,python, ruby, java的语法图,从图中看c,python比较简单。而ruby和java比较复杂。
再看语法清楚上,ruby是从perl学了许多东西,所以还是有许多奇怪的符号,而python基本上是从简单,优美中重新的设计产生,在可读性,优美上要强于ruby。
2007-01-31 11:23:38 仨儿 (北京)
http://wiki.woodpecker.org.cn/moin/BPUG/2006-03-26
有阿北自个儿说的想法,大家可以回顾一下,就俺的理解:
1. 豆瓣开发时,Ruby 还没有成熟
2. 就算是成熟了,小日本的东西也不推广使用
3. 就算不管日本,Ruby 的支持库和社区活跃程度和Python 的也没有可比性
4. 以上3点再重复..
2007-01-31 15:52:41 苜蓿 (北京)
那相对于java、PHP呢?
2007-01-31 15:56:54 小豆包-积劳成疾 (广州)
Java太笨拙,PHP太专注于Web。
2007-01-31 16:34:33 一个好孩子 (北京)
非常感谢楼上诸位的讲解!思路已经逐渐清晰。
我只有在实践中才更能体会到这些,谢谢。
2007-02-01 21:54:10 henry.3
轻量级的开发非常重要。
2007-02-02 12:51:46 爱咖啡 (北京)
在python的小组里问这个问题你又能期待什么样与众不同的答案?
2007-02-02 15:10:41 一个好孩子 (北京)
同样,如果去了Ruby,你或许听到的是向Ruby方倒的声音。
来这里问Python,要的就是最专业的回复,他们的理论/看法来自实践。
2007-02-20 17:34:43 openweb (深圳)
At Google, python is one of the 3 "official languages" alongside with C++ and Java.
我想对于 Python, 你可以更加坚定啦 :)
2007-02-20 19:42:34 氷の鋭 (南京)
其实Ruby真的是没创意的东西——包括Perl的字符串处理机制、Smalltalk的面向对象机制、ML-like的语法、Lisp中关于DSL的想法,还有shell里面的一些东西。然而,在Ruby中你所得到的这些思想的整合后的力量大约只是上述语言各自的“一半”。
Python也有一些“看上去”不怎么样的东西,但是他新颖,有一个工作的中心(使用主义),有创意,尤其是看上去很像C的面向对象机制设计,还有貌似JavaScript的'.'操作符;面熟,但有自己的想法,这是我所推崇的。
2007-04-30 18:05:34 氷の鋭 (南京)
回复 "2007-01-30 13:15:20 沈崴 (广州)
Python 2.5 (r25:51908, Jan 28 2007, 14:20:16)
[GCC 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 'Ruby' > 'Python'
True
>>> 'Ruby' > 'Java'
True
>>> 'Ruby' > 'C/C++'
True
Python 说了, Ruby 是最拽滴。"
那smalltalk岂不更强? Zuse 岂不无敌?
------------------------------------------------------------------------------------------
阿北能比较一下Quixote和PHP的开发效率和优...
2005-05-28 16:45:08 来自: chenge (上海)
标题:阿北能比较一下Quixote和PHP的开发效率和优缺点吗?
如题!
2005-05-30 22:54:10 阿北 (北京)
我没用过php, 所以没有发言权。
不过看php代码的感觉是,php更多是围绕网页组织的,而quixote是以url的路径来组织python模块。所以php更适合复杂的html代码动态化,而quixote适合豆瓣这样页面简单,但逻辑复杂的网站。
2005-06-10 10:09:40 Josh.Yin (合肥)
quixote 是框架;
PHP 是脚本语言,有可比之处?
PHP 该拿去和 python 比较才是;
同样,你可以用 quixote 和 Mojavi 等做比较;
------------------------------------------------------------------------------------------
豆瓣一年
2006-03-06 15:57:13 来自: 阿北 (北京)
[ 正式的blog地址是 http://blog.douban.com/douban/2006/03/06/61/ ]
2005年3月6日下午,我弱弱地给中国Python用户组的邮件列表发了一封email。题目是”用python开发的网站开始公测”:
欢迎到http://douban.com使用豆瓣的读书者网络和书价比较。
豆瓣全部使用python开发。网站后台的搜索引擎基于Twisted, GUI基于Quixote. 还用到了cElementTree, MySQLdb和 PIL. 除了这些豆瓣基本是从头开发(一个人四、五个月)完成。
如果你有爱读书或爱写书评的朋友,也欢迎推荐豆瓣给他们。最好的方式是通过豆瓣的邀请功能。
谢谢!
当时我已经抓着几个朋友内部测试了几天。总算,世界上的人知道了有豆瓣这么个网站。虽然是“公测”,但按照“永远beta”的2.0原则,这就算是面世了。回想起来,这个程序员的邮件列表其实不是最好的PR渠道。但我有些私心。当时bugs还很多,做程序的应该比较理解,不会扭头就走, 报告起来也说的清楚。
我觉得所有网站第一次上线的时候,开发者都会满头大汗盯着屏幕不断刷屏。我呢,一直刷到天亮。不过算上我别的几个朋友,当天也就来了五六个人。但晚上无聊的头和anuxs就写了书评。然后就有了回应。我也第一次知道,世界上有杜尚访谈录和辛丰年音乐笔记这些个书,因为这两个人看过。豆瓣,这个在脑子里憋了半年的东西,竟然有人用了,而且能对人有用! 我猜想初为人父者听到自己的孩子第一声嚎哭的时候,感受应该有相似的地方吧。
今天,一年之后,十一万形形色色的人在豆瓣上有了自己的空间和自己的圈子。他们共通的地方是对书、电影、音乐的热爱。每个月还有百多万潜水的访问者, 通过豆瓣发现他们以前不知道的东西。更重要的是,今天的豆瓣有了自己的生命,循着自己的轨迹生长。我能够做的,是寻找更多的看护人和建设者, 给这个生命更大的空间和养分。
感谢一年多来无数热爱豆瓣的人给豆瓣团队的支持。现在是热身后的稍息,我们才刚开始。
------------------------------------------------------------------------------------------
关于豆瓣的链接
2006-06-04 17:24:56 来自: Jim (保定)
为什么很多连接后面都要一个 “/”呢,必须这样吗?
跟quixote有关系???
2006-06-08 09:25:48 enjoy (成都)
便于写正则?
猜的。
反正我是。
2006-06-09 00:31:18 nilaozi
传说中的广告人又出现了
http://www.douban.com/group/single/?action=join
2006-06-09 09:05:05 小力 (深圳)
的确是Quixote的url解析机制造成的。
2006-06-11 15:39:22 Jim (保定)
to 小力:
你的nsnq.com是用quixote吗?
我也正在利用业余时间,用quixote写一个东西
2006-06-17 09:23:03 小力 (深圳)
不好意思,这里很深,今天才看见。
是用Django写的,初始原型很快就搞定了,大概10天左右,毕竟nsnq.com的逻辑结构很简单,不过从那以后,每天都会修改,添加新东西。
之前,我用quixote技术储备了很久,开发的时候,不得不自己做一些翻页处理/缓存页面/数据库连接重用等等事情,虽然django一出世就带这些功能,但我感觉当时django0.90很不好用,用它写出来的代码很混乱。
现在的django 0.95 m-r版本非常好用了,自动生成代码很清晰。
应该说,我自己开发的话,除了django,quixote是首选。
quixote代码结构很清晰,但好多东西都得自己组装。
django提供了一站式的解决方案。
如果想深入研究web技术或者开发时间不紧,可以玩quixote,代码量很小,适合阅读,研究。但要快速开发,django非常合适。
2006-06-17 12:11:51 Jim (保定)
谢谢小力
我不曾接触django,这一阵子好像研究它的人不少
我正在用quixote,不过进展有点慢
不过,我倒是挺喜欢quixote的,感觉很好
等有了新的进展,我们再交流,呵呵
------------------------------------------------------------------------------------------
1. 爬虫和用户自己提交的都有。爬虫建在twisted上。不紧张,你要我也没办法给,除非你来我们这工作 :)
2.
豆瓣的原则是采用从图书扉页直接拷贝下来的那种图书简介,不用别的网站自己写的介绍和编辑推介。图书扉页简介(包括编号作者目录等等)属于公共信息,至
少是出版商愿意分享的。另外,因为提供了购买链接,豆瓣和网上书店之间是合作伙伴关系。
3. 见我这篇blog: http://blog.douban.com/douban/2005/06/06/24/
4. mysql
顺便提一下,豆瓣跑在gentoo linux 上,而且很早就自做主张把python的东西全部升到2.4. :)
我从内核0.97版的时候就开始用linux,gentoo是我最喜欢的linux dist。
还有针对豆瓣的问题的话请单独给我email, 或者欢迎在豆瓣的python小组讨论,不要在这里打搅大家了。
- 阿北
(http://blog.douban.com)
Begin forwarded message:
> From: 清风 <paradise.qingfeng at gmail.com>
> Date: June 9, 2005 4:55:37 PM CTT
> To: python-chinese at lists.python.cn
> Subject: [python-chinese] 问豆瓣几个问题:)
> Reply-To: 清风 <paradise.qingfeng at gmail.com>,
> python-chinese at lists.python.cn
>
> 1.你们的数据来源?自己写了爬虫程序去其他网站爬?别紧张,不要代码,只是问一下:)
> 2.图书的简介的爬取是否有版权问题?最近要帮别人做一爬虫,不知是否有版权问题
> 3.tag的处理完全是平级而没有纵深是吗?那对于分类是否完全用关键字分析来做?
> 4.数据库用的是什么?纯属好奇:)
------------------------------------------------------------------------------------------
Quixote 开发求助!
2005-06-11 20:53:05 来自: 仨儿 (北京)
北哥!刚好公司有个机会要快速开发一套适合现有情况的项目管理系统,我想使用 Quixote 快捷设计完成雏形,
可以有你的即时通信地址? 我的都在 http://wiki.woodpecker.org.cn/moin/ZoomQuiet/ContactMe
期望可以得到你的实时开发支持是也乎?!
嗯嗯!也想将学习,应用过程总结出来,让大家快速可以使用 堂吉诃德系统!
http://wiki.woodpecker.org.cn/moin/QuixoteQuickIn
现在主要的问题在于:
1. 为了加速开发,可以令Quixote 应用象PHP 那样每次请求时重构所有模块,以便随时修改随时看到效果? Karrigell
通过设定是可以的,不知道 Quixote 如何?
2. 公司内部应用,有很强的管理层次概念, Session 的身份判别是一定要有的,原先的 CherryPy 开发经历,发现 Session
是非常难受的,不知道 Quixote 这方面如何?
3. robust 性能的支撑是自动的,不用特别设置,安装什么的嘛?
4. 数据库的连接操作,Quixote 有什么方便的内含包?
另外,我的平台是FreeBSD 直接含有 quixote-2.0_1!
简单的安装成功后,想安装 demo 来学习,但是!
http://quixote.ca/files/qxdemo/qxdemo-0.1.tar.gz
demo 安装时:
# python setup.py install
Traceback (most recent call last):
File "setup.py", line 5, in ?
from quixote.qx_distutils import qx_build_py
ImportError: No module named qx_distutils
运行时::
# ./run.sh
Traceback (most recent call last):
File "scripts/make_links", line 5, in ?
from qxdemo.links import Category, Link, save
ImportError: No module named qxdemo.links
No matching processes belonging to you were found
[zoomq@wiki] ~/zzz/qxdemo-0.1>
==================================================
medusa/ package not found; fetch it from
http://www.amk.ca/files/python/
and install it.
==================================================
Traceback (most recent call last):
File "scripts/links-server.py", line 4, in ?
from medusa import http_server, xmlrpc_handler
ImportError: No module named medusa
??
怎么回事儿??你当初是怎么学习 堂吉诃德的?!
谢谢,先!
2005-06-12 11:27:08 阿北 (北京)
仨儿,豆瓣的开发和维护工作很大,实在没有时间提供别的实时支持。我尽量通过email和论坛来做,好吧?
1. 应该是可以的,现在我没有花时间去找怎么做。另外这样也会有问题,很多时候你是需要先改,然后统一更新的。
quoxite如果是通过scgi, 只是一个服务,和apache和数据库都是独立的,重起只是一个命令,一秒种的事,很方便。
2. quoxite有SessionPublisher, 非常方便, cookie什么的都帮你做了,用的时候置取request.user就可以了。可以看文档里"Session"的部分。
3. 对。我说robust只是说它皮实。这个不是特别的功能。
4. quixote自己没有什么,你可以用第三方的。
5. 看起来这是个大的demo, 除了quixote, 还需要quixote作者的别的软件(medusa数据库等). 你可以从quixote自带的demo开始。
我当初就是看文档摸索学会的。除了quoxite自己的文档(挺清楚的), 还有一个wiki站点:
http://quixote.ca/
里面有些例子和小教程。
2005-06-12 12:00:29 仨儿 (北京)
谢谢!我看还是就在你的地盘讨论吧!
看到豆瓣每天都在成长,就知道你的工作之繁忙了!
先建议一下子,应该利用blog 将你每日的主要修改成果记录在案,虽然对别人可能会有些摸不到头脑,但是,对于自个儿的开发,就有一个反省和积累的效果了…………
比如说:
http://wiki.woodpecker.org.cn/moin/CvsWeeklyStat
就是在下随手开发的一个实用分析工具,记录了主要思路,也为日后进一步的改进,或是技巧的再次利用留下了积累…………
有什么成果,我汇集到Wiki 中,再向大家通告吧!
re 1.开发时的琐碎测试是非常频繁的,特别是刚刚开始学习的在下, CherryPy 也是与Apache 分离的,只是每次修改了代码后要重启服务,那未,在调整某一深层页面的效果时,就不是重启服务所等待的时间了,要反复点击进入那个页面才可以…………呜乎哀哉!象php 你可以即时的看到修改的效果,对比下开发的调试时间就要小,也不会反复打断思路…………
一定要找出这个方式哪!
re 5. 嗯嗯!看到有个自带的 demo 目录,但是怎么运行起来哪?……嗯嗯有文档,但是要自个儿乱摸,阿北 没有什么中文的学习笔记之类的保留下来??
plus 1. PTL ?? 豆瓣在开发中使用了PTL模板?还是完全使用简单的HTML模板?
类似:
http://wiki.woodpecker.org.cn/moin/EasyPaper?action=show#head-81b16228db8b0d534fd1d5ee29ba64bfdcc3b0c6
2005-06-12 14:11:00 阿北 (北京)
豆瓣有一个blog:
blog.douban.com
不过不是针对开发的。
当初没留笔记。:( 不过总的来说不复杂。
真的做起来,必须用ptl, 或者别的模板。豆瓣多数网页是ptl.
2005-06-12 15:51:20 alang (武汉)
demo的运行,在win下我写了一个简单的bat文件,一点就可以了
python c:/Python24/Lib/site-packages/quixote/server/simple_server.py --factory quixote.demo.create_publisher
相应的路径你自己改一下。
2005-06-12 16:10:38 alang (武汉)
demo的运行,在win下我写了一个简单的bat文件,一点就可以了
python c:/Python24/Lib/site-packages/quixote/server/simple_server.py --factory quixote.demo.create_publisher
相应的路径你自己改一下。
2005-06-12 16:13:54 alang (武汉)
不知为什么重复了,请把上面删除一个。(包括本条)
2005-06-12 18:11:03 仨儿 (北京)
谢谢提示!!
ps.
豆瓣的评论,自个儿写的不能进一步编辑也算是个小bug??
嗬嗬!
2005-06-13 09:36:47 阿北 (北京)
能修改但不能删除。可以用修改把内容清空。
2005-06-27 08:55:57 dryice
第一条,我想开发时可以用 plain CGI 的方式
这样每一次点击都会重新load所有模块。
另外请教大家quixote能不能单步调试?
目前我只知道看log和把DISPLAY_EXCEPTIONS打开看 back trace