善于也爱使用面向对象,即使在python领域,问题是当我遇到引用循环问题导致的内存泄漏,我感觉自己SB了一阵子,也许以下几篇文章能够解决我的问题.或者给你我一些提示.

 

http://eli.thegreenplace.net/2009/06/12/safely-using-destructors-in-python/

posted @ 2011-10-19 15:04 Hex 阅读(67) 评论(0) 编辑
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
posted @ 2011-03-10 14:00 Hex 阅读(134) 评论(0) 编辑

1,python是门好语言,尤其是在经历过了带领技术团队之后,我再也不想费那么大力气规范大家的注释风格了...
2,热酷是做social game的,而且热酷是盈利的,既然狠狠的经历了一次创业,那么对于没有盈利计划这种计划我已经肝痛了.没有盈利计划的公司一定得有资源,连资源都没有,起码得有钱,连钱都没有,投资人你这就是学习雷锋加练兵,能练到我和养到一帮废物懒蛋,如果兵练出来(比如我)而又不想再玩的话,你的损失就是除了钱还有人以及下次再次给某些人练兵的机会.
3,除了actionscript我还能接触到iphone上的object-c和android和windows phone 7 和html5,妈呀,全是未来10年内铁定流行的技术.

4,我倒想试试带带那些不是由我自己亲自挑选的技术人员,从代码风格到架构到人生观.

posted @ 2011-02-21 01:05 Hex 阅读(170) 评论(3) 编辑

在项目或者网站开发中,我们很多人很多时候喜欢使用微软的FormsAuthentication类的GetAuthCookie函数生成需要在访客客户端放置的帐号校验Cookie,这个本身没问题,但是很多人会被GetAuthCookie的userName参数误导,以为传递UserID或者UserName就很安全了.而实际上,Cookie本身并不安全,如果完整复制了校验Cookie,在Cookie的允许时间范围内,黑客完全可以使用该Cookie代表的帐号做各种危害网站和应用的事情,即使设定了Cookie的过期时间,但是如果完整复制该Cookie信息,由于站点的machineKey基本不会变化,每次基于特定用户的UserID和UserName生成的Cookie实际上一直不变,那么黑客只要保留了该全部Cookie的信息,就可以一直为所欲为,不受用户登录帐号和密码变更限制,比如校内曾经发生过xss脚本注入事件,导致很多用户丢失了日记照片.所以保护帐号校验Cookie很重要.

 

解决方案是避免使用UserID和UserName这种不会变化的字段做为验证Cookie的基础,我建议使用一种我称之为AuthToken的机制,意即验证Token,(token:标志,象征),AuthToken可以随每次用户通过登录页面登录变化,保证用户的顺畅使用,同时又避免无限期使用不变的验证Cookie导致的帐号被盗现象的发生.

 

下面来解释下AuthToken的运作模式,先上数据库设计图,大家看图理解.

 

 

这张表的字段分别是

UserID:用户标识

AuthToken:验证Token

SessionID:客户端SessionID

ExpireTime:绝对过期时间

 

请注意UserID和AuthToken为合并主键,这并不是错误,而是有意的设计,大家听我解释

首先每个客户端的浏览器我们都会获得一个SessionID,这个是肯定有的,而且同一台机器不同浏览器生成的sessionID也是不同的,sessionID的解释大家看维基百科http://en.wikipedia.org/wiki/Session_ID

然后服务器首先基于回话的SessionID检查用户的客户端是否有AuthToken,如果没有,那很好,用户还没有登录;如果有,那么检查ExpireDate是否过期,如果过期,那么用户需要再次登陆.因为是基于SessionID的判断,所以不同客户端和不同的浏览器生成的sessionID都是不同的,同时因为UserID和AuthToken都为主键,所以可以针对同一个帐号分别设置登录过期时间,比如你在网吧上网,使用的是网站默认设置的20分钟过期时间,在家里设置的是2个星期不用登陆,在单位设置的是3天内不用登陆,虽然Cookie是按照你的设置到期自动清除处理的,但是如果黑客保留住了你全部的Cookie信息,在以往的架构里,设置多长时间对黑客都是没用的,但是在AuthToken架构里,Cookie和数据库的记录对应,所以安全性大大增加,即使黑客保留了你全部的Cookie信息,但是因为数据库中记录了特定的AuthToken的过期时间,而且和SessionID对应,就算挠破了头,黑客也是没有办法使用你的帐号的,这个要安全多了.

另外,如果担心对数据库的压力,可考虑memcached等等的缓存逻辑降低请求量.

posted @ 2011-02-21 00:29 Hex 阅读(1617) 评论(2) 编辑
从此切入python和Object-C,ActionScript的世界,感谢热酷给我远望未来的机会,感谢现在的公司让我在这两年半的时间里总结技术架构,提高个人情商和管理能力.感谢公司让我认识了一帮技术水平不错的同事和学习到对待公司政治的正确做法.
posted @ 2011-02-07 13:17 Hex 阅读(49) 评论(0) 编辑
即将推出新工社网站架构介绍和放开部分源代码,快了,我马上就有足够的精力做这件事了。感谢投资人给我的两年奋斗机会,公司事业虽然不太理想,但是这两年我学到了很多东西,感谢曾给予过我支持的领导们。
posted @ 2011-01-03 13:37 Hex 阅读(39) 评论(0) 编辑
摘要: 我倾向于使用语义非常明确的方式命名一个函数,即使这样写下来函数的名字非常长,例如ClearExpiredFriendLatestNotes之类的.今天调整一个函数,就是定期清理好友最新日记的一个函数,本质上来说,清理用户好友的最新日记加个过期天数就够了,但是我还要清理影响到的用户的好友最新日记缓存,所以考虑到这点,我需要这个函数返回影响到的好友的用户标识集合,但问题是我今天非常非常有精神头,所以我...阅读全文
posted @ 2010-11-19 11:12 Hex 阅读(103) 评论(0) 编辑
摘要: 特意记下来,免得以后忘掉.在ActionScript中,MouseEvent有两个常量,一个是MouseOut,另一个是RollOut,和MouseOver和RollOver对应,性质是一样的.MouseOut和RollOut都是针对鼠标移到Container上时响应,但是他们有一个非常小的差别.当发生鼠标移出的行为,这个行为不管是发生在Container自身还是包含在Container中的Chi...阅读全文
posted @ 2010-06-12 15:33 Hex 阅读(146) 评论(0) 编辑
摘要: 问题:终于尝试在项目中应用单元测试,一开始一切都按部就班的进行,一切良好,点[运行].显示出错结果,仔细看了下,异常信息为Test method XinGongShe.Membership.Test.AccountManagerTest.UpdateUserRankPointsTest threw exception: System.TypeInitializationException: The...阅读全文
posted @ 2009-07-28 19:55 Hex 阅读(903) 评论(0) 编辑
摘要: 在开发中,竟然遇到取FormAuthentication的值取不出来的情况,忘了以前是怎么理解这个问题的了,为了避免问题,先放上来,容后再描述。出现问题的原因是当在自定义的HttpModule类中取用户的信息时,竟然什么都取不出来,以前好像解决过这个问题,但是这次竟然花了3个小时才搞懂,看来确实是老了!!解决方法是由于FormAuthentication实际上是由FormsAuthenticati...阅读全文
posted @ 2009-01-11 12:16 Hex 阅读(170) 评论(0) 编辑