只有注册用户登录后才能阅读该文。 阅读全文
摘要:
本人的博客已经迁移到了github pages,通过 http://liming.codoon.com 可以访问,以后的新内容都在独立博客更新,潜水2年多没更新过,还有朋友关注,谢谢大家关心了----------------------------------------新入了域名 http://liming.me 换新域名 阅读全文
摘要:
在PyCon上有童鞋提供了一个类似概念的分享,不过不大适合一般类型的互联网项目,感觉有点过于另类。不过我实现这个方案是在看到PyCon的分享之前。算是同样的诉求不同的实现方式吧。且我这里只是实现了一个数据访问的组件而不是Server。
首先本文的方法来自FriendFeed分享的如何使用MySQL数据库的分享。简而言之就是把Python对象直接dumps后zip压缩存储在MySQL一个字段里。这样不就Schemaless了么? 阅读全文
摘要:
书接上回
上回我们说到:《在生产系统使用Tornado WebServer来代替FastCGI加速你的Django应用》
那么现在很流行用一些高性能的nonblock的app server来host Django的应用,这些Server可以看做是一个单进程单线程的程序,然后用nginx在前端反向代理并且负载均衡到N多个后端工作进城来充分利用多CPU的性能,当然这部分的配置工作在上回已经说得很清楚了。但是对于Django来说有一个问题。因为Django的数据库连接是在查询的时候实时创建的,用完就会关 阅读全文
摘要:
tornado的文档非常的匮乏,不过这是表面现象,其实个中乾坤都在源文件里,源文件的注释里有非常的文档资料,值得仔细研究。今日将模板系统的内容翻译之,以供日后使用。此处意译为主,并未逐字翻译 阅读全文
摘要:
Tornado是一个异步web框架和服务器,所以在开发longpulling的chat之类应用非常的合适,但是其实本身也是一个高性能的http服务器,也可以作为一个WSGIServer。所以即使你的网站没有使用Tornado的框架,而是用了web.py或者是Django来开发(傻瓜万岁),这个时候Tornado依然可以用来加速你的网站。使用Tornado来代替fastCGI可以大幅提高性能,且可以承载的并发能力也有了成倍的提高 阅读全文
摘要:
书接上回高性能MMORPG通用服务端引擎设计之-基本概念篇上回说道我们将服务器组的职责划分为了,前端服务器,场景服务器,登录服务器,数据服务器...etc.如图:Logic-Service Logic-Service DB-Service | | | ----------------------------------- | Scene Manager | ------------------------------------- | | | Front Server Front Server Login Server | | Client Client 不过经过思考后发现这个结构 阅读全文
摘要:
鉴于公司保密协议,本系列文章将不涉及具体的游戏细节以及实现。由于本人也是第一次参与此类引擎的设计,所以难免有所失误,如有异见欢迎业内人士讨论,发表本系列文章的目的不在于说教,重在分享以及讨论。 阅读全文
摘要:
昨天在QQ上转发了3次 网民告腾讯书,两秒后我的QQ就被踢下线,然后再次登录后被告知QQ号因为安全问题被冻结,因为正在跟朋友侃这件事情所以用手机激活的方式打算解冻,那知道根据QQ网站的提示发一次,短信告知命令不存在,发两次还是告知命令不存在,最后在几分钟后突然又回复出一条验证码短信这才算激活了QQ号码。这还是昨天的情况,今天的新黄历是蛋痛的腾讯把自己的WebQQ也自杀掉了,见下图不知道这个情况是腾... 阅读全文
摘要:
偶然在国外一个网站瞅到的,非常的酷,发出来共享一下。一般来说,Python和Java,C#一样是没有尾递归自动优化的能力的,递归调用受到调用栈长度的限制被广泛的诟病,但是这个狂人用一个匪夷所思的方法解决了这个问题并在Python上实现了,从此Python的递归调用再也不用受到调用栈长度的制约,太酷了。首先我们还是从递归说起,之前我发过一篇 《浅谈递归过程以及递归的优化》其中用到了斐波那契数来作为例... 阅读全文
摘要:
其实我自己也就能简单用用js而已,但是呢,相对很多初学者来说多懂了点Know How所以斗
胆孟浪一下,将一些所得记录下来,以供更多的初学者能够知道一个东西的实现过程,省去
在源码里摸索的过程。
在表单程序中,在页面上需要很多的Js代码来验证表单,每一个field是否必须填写,是否
只能是数字,是否需要ajax到远程验证,blablabla。 阅读全文
摘要:
起因:今年春节后发现有个tornado web的东西,app server+web framework的集合体,正好工作中有个项目需要其中的异步远程调用的特性,遂研究之,用到现在感触良多,其性能尚可,但是作为Web Framework看来其封装方式我并不喜欢,窃以为不够紧凑,需要设置的地方不够清晰,很多功能的使用稍显繁琐。并且在新创建一个app的时候如果不参看已有的app做为参考,重头写起来很困难... 阅读全文
摘要:
Decorator这个特性,顾名思义,这是一个内置的装饰器模式的实现,利用这个特征在Python里实现AOP易如反掌,这里我分3个部分来说明Decorator是什么,怎么写,怎么用首先我们要知道Decorator是什么。Decoratorr是装饰器模式的实现,那么 简单的来说就是用一个新的对象来替换掉原有的对象,新的对象包含原有的对象,我们可以像调用原有对象一样的来调用新对象,且新对象的创建我们可... 阅读全文
摘要:
如果抽象数据本身存在阻抗不匹配的问题,那么如果我们抽象对数据的访问呢?无论如何ORM,对关系数据库的访问仍然是通过SQL语句作为访问的界面,那么如果我们抽象SQL语句是否就能摆脱阻抗失调,能够流畅的访问操作数据了呢?我在上一篇文章发布的一个Python的DAL里做了一个小小的尝试,当然我并不是第一个这么做的人,不过我想把这种方法总结出来,也许能够在ORM以外提供一个更新的视角,能够产生出更加轻量化的数据访问组件,也是不错的 阅读全文
摘要:
tornado内部化包含了一个很简陋的database.py,最近在这个简单封装了MysqlDb的模块基础上增加增强的功能。对于Python这种动态语言来说我觉得ORM有点过度封装了,很多时候简单的数据操作不好用,太复杂的操作又不如直接写Sql,所以我放弃了Orm的方式,而是直接抽象了Sql的构建,现在的版本支持单表的sql查询,支持子查询,当然还有一些操作有所遗漏,我会继续向项目里追加。下载地址... 阅读全文
摘要:
最近这个话题很热,不吐不快,标题叫程序员的目标不够醒目,不得以用了下吉日风格的标题,莫怪莫怪。不知是不是因为最近灾难频发,大家都比较困惑。很多程序员的困惑是,费了比别人多的努力,每天加着班,没有女朋友,没有生活,我的目标就是当个经理,赚大钱,确很难实现。是的,就这个目标来说我可以肯定的说,90%以上的程序员都会失望,大公司就那么多个,工资高的职位就这么多,经理职位就这么多,任何行业都是这样,之所以... 阅读全文
摘要:
初学一门语言,一般来说第一道门槛是开发工具的选择,以及配置,用记事本写代码写写helloworld尚堪一用,但是一旦需要进行稍微规模大一点的开发立马就捉襟见肘了,所以本文的目的在于给打算学习Python的Tx一个快速入手的指南。方法零,用EditPlus或者UtralEdit等加强版记事本,语法高亮,ok,但是自动补全,智能感知等就不要想了,杯具,据说某些对IDE有强烈怨念的大牛喜欢这种完全反ID... 阅读全文
摘要:
在我们的代码里经常会和列表,元组,字典等数据结构打交道,可以这么说,在很大程度上我们的代码就是对这些数据结构进行处理的过程,在Python中对列表,元组,字典等内置的数据结构的处理是很方便的事情,python借鉴了Lisp中的很多函数式计算的方法来处理列表,可以极大的简化我们的代码。 阅读全文
摘要:
虽然我本人并不喜欢腾讯,换到了ubuntu下工作能不开QQ就不开,但是这几天看到这么多人非常热情的群起拍砖,所以不得不“吐槽”一下。这么多人对腾讯充满了怨念究竟是为何?首先,什么腾讯是中国互联网创新的扼杀者这个概念纯属扯淡,中国互联网有创新吗?那些团购网站那些敢站出来说自己是创新?开心网敢说自己是创新?校内敢说自己没抄袭国外的概念?那些信誓旦旦攻击腾讯抄袭自己的那个不是抄袭... 阅读全文
摘要:
近日翻看SICP,看到递归的部分,深有感触,遂记下所想所悟,如果有批评直言,望不吝赐教。递归是实现程序计算过程中的描述过程的基本模式之一,在讨论递归的问题前我们必须十分小心,因为递归包含两个方面的内容,一个是递归的计算过程,一个是递归过程,后者是语法上的事实而前者是概念上的计算过程,事实上在程序上我们也许是使用循环来实现的。一般在讨论递归的时候都喜欢用斐波那契数来作为例子,我们也不要免俗。我们将斐... 阅读全文
摘要:
此本购于一年前,系神舟出品,型号为U20Y,具体配置大家各自拜神,才买的时候装了XP,装上WOW,居然能跑,20帧的样子,后来不打游戏了就换成了UBUNTU的系统2000元不到的玩具本,加上Linux,能干些什么呢,见下图,另,ubuntu系统中所有软件均在图形界面下安装,都是网上直接通过apt包管理器安装或者下载deb包双击自动安装,没有自行编译的行为,窃以为能够让我老婆看一遍也能学会同样过程的... 阅读全文
摘要:
这是我很长时间以来的疑惑,在C,C#,Java上工作过不少的时间,前前后后加起来五年多吧,一直交叉着使用,研究设计模式也是每一个Javaer,Csharper的家常便饭,但是在Python下工作了5个多月以来突然发现曾经让无数人神魂颠倒的设计模式,渐渐的远离了我的生活,当然也有人试图在Python下模式一把的,不过用起来不是一般的别扭,后来看到某牛的前卫论调:"Patterns" that are... 阅读全文
摘要:
人们学习PHP是因为要得到一份工作;
人们学习Java是因为他们选修了计算机科学这门课;
人们学习Python是因为他们爱这门语言,因为他们追寻美,
如果我雇佣了一个Python程序员,他很有可能是优秀的程序员。 阅读全文
摘要:
做网站难免要面对安全性的问题,诸如sql注入拉,cookie冒名拉,等等,sql注入算是老生常谈,翻翻旧账有不少优秀的帖子在说明这个问题,所以我们来说说Session冒名顶替的风险以及应对的办法。首先... 阅读全文
摘要:
firelong我真得希望你来看一看,可惜上一篇你错过了。c#会这么慢的话题却是始终充满着火药味,也许说真话真的很不动听, 可能上次的帖子firelong没看到,讨论C#哪能错过微软,.NET战略是微... 阅读全文
摘要:
昨夜月黑风高,小风搜搜地吹着,引得浪涛阵阵,园子里一番鸡飞狗跳,好不热闹。这是为什么捏?起因就是因为一篇炮贴,起初是linus大牛炮轰c++,后来某大牛引入园子里 剑指c#。于是乎好是一番热闹阿。某冷... 阅读全文
摘要:
由于机器难找,所以暂时在虚拟机下进行对比,好处是系统的切换比较快,省了不少时间,其二是由于硬件差异趋近于无,所以相对结果还是比较客观的,除此之外还可以看看在有限的硬件条件下系统的响应能力。此次测试的内... 阅读全文
摘要:
此乃战帖,必火!之前某次讨论中老赵坚称IIS的性能不比nginx来得差,但是很多linuxer坚信强悍的Nginx乃IIS杀手,所以今天我想和大家共同探讨的是如何公平公正的对比web服务器的性能。希望... 阅读全文
摘要:
这两天的战帖不少,包括dudu的 满园尽是503,记曾经的一次IIS 7性能考验和 压榨机器,Hack,设计极限强度的网络应用以及 对话网友 - TCP一万连接系统设计这些文章,引发不少园友的争论... 阅读全文
摘要:
WARNING! 阅读本文需要具有使用python编程的能力以及Web编程的经验,起码应该知道python是什么,Session是什么。初学者慎入,某些描述语焉不详,小心误入歧途,欢迎高手踊跃拍砖。... 阅读全文
摘要:
WARNING! 阅读本文需要具有使用python编程的能力以及Web编程的经验,起码应该知道python是什么,Session是什么。初学者慎入,某些描述语焉不详,小心误入歧途,欢迎高手踊跃拍砖。... 阅读全文