Category Archives: 计算机技术

神奇的图片

能看出这个图片里的裸女是往哪个方向旋转的吗?
Posted in 计算机技术 | Leave a comment

Python处理中文的编码问题

对于Python的初学者来说,处理汉字估计是最头疼的一件事了,我也算是个初学者,断断续续接触Python也有一年多了,最近才终于搞明白了Python里对多字节字符的处理是怎么回事。 其实Python里对编码的处理能力还是很强大的,只是需要理解它处理字符的方式。Python里有两种字符串,str和unicode,他们都是字符的序列(相当于字符数组),区别在于字符的不同,str里一个字符就是一个字节,unicode中的一个字符是一个unicode里的字,长度可能是2字节,也可能是4字节。 Unicode是Python对多字节字符使用的一种内部编码,也就是说在Python内部处理多字节字符的官方编码,但它并不是我们常见的utf-8,具体是什么编码我也不清楚。在Python里处理字符串时,都需要先将来自文件、网络、或者str的字符串转换成Unicode格式,这一步是通过unicode工厂函数或者str的decode方法(decode可以理解为是从一种被编码的二进制字节流解码为Python内部通用的格式),但这是Python并不知道这个外部格式到底是什么格式,decode方法可以传入一个参数,表示这个数据是什么编码。 得到Unicode对象后,就可以对字符串进行各种操作了。在完成操作,要把字符串输出到文件、网络、或者数据库的时候,就要根据需要再把Unicode转换成需要的目标编码了,这是就要用到encode方法了,将字符串编码成需要的格式。 http://effbot.org/zone/unicode-objects.htm
Posted in 计算机技术 | Leave a comment

向宁为玉碎的Google致敬!

今晚,在清华科技园Google楼前,人们献给Google的花束,和烛光
Posted in 计算机技术 | Leave a comment

PostgreSQL性能测试(转)

http://www.randombugs.com/linux/mysql-postgresql-benchmarks.html 很迷惑为什么PostgreSQL这样优秀的一个项目总是不被接受,网上搜出的和MySQL的对比都在说PostgreSQL比MySQL慢得多,而证据都是三四年前的某个测试数据。昨晚找到了一个09年6月的帖子,测试方式还算比较严谨,数据在上面的链接里可以看到,作者得出了以下结论: MySQL 5.0.51a-24+lenny1 – Debian stable version is the worst performer (also the MySQL version is a little bit old). MySQL 5.1.30/InnoDB 1.0.3 with Google SMP patch – Compiled by SUN and InnoDB compiled by ORACLE outperform PostgreSQL in some cases. PostgreSQL 8.3.7-0lenny1 – Debian Stable version – It’s a top performer from the Debian standard [...]
Posted in 计算机技术 | Tagged , , , , | Leave a comment

论btchina的倒掉

半年以来,海盗湾的沦陷并没有让我们有太多的感觉,毕竟距离我们太远,而且天朝对盗版的态度还没有欧盟那么变态,下载几个音乐就能被抓起来判刑,有时候都忘了自己是活在墙里面。但今天突然在Google飙升热榜里看到的“btchina关闭”,“btchina被封”,“btchina 关闭”,俨然今天最大的热门,现在的btchina.net只剩下一句话: 网上传言太多,有必要出来说明一下,但又不能连累国内的idc背个非法接入的罪名,所以借个国外ip来说下,请大家广而告之,本页面稍后也会关闭。 BTCHINA 接广电通知 因无视听许可证 所以工信部删除备案号 关站 关于本人安全问题 再次证明网上传言不可信 特别是新闻最不可信 自从奥运以来,国家对版权的管理确实严格了很多,奥运的主题歌想播放都要买,国产大片过上仨月半年也难找到清晰的下载,还好需要下载的资源大多是国外的,不侵犯国内的利益,日子也还算安稳。如今btchina突然倒了,咱们的ZF办事确实爽快,不像欧盟那样还要磨磨唧唧的跟海盗湾打上半年官司,工信部一句话就全解决了。 这个事情让我们习惯了免费资源的人颇感担心,不知道这个行动时针对盗版,还是btchina上某个资源不小心越过了ZF的底线。世界各地的反盗版行动确实让盗版有点四面楚歌了,现在似乎很有必要出现一个完全去中心化的分享工具,构筑一个完全共享的Internet,道高一尺,魔就得高一丈嘛。
Posted in 计算机技术 | Leave a comment

在ASP.net中使用State Machine Workflow

在ASP.net里应用Workflow和客户端程序中差别还是很大的,但这本Pro WF书里对这部分一笔带过,给了个顺序工作流的例子,但看完了还是没什么头绪,后天来找到了一个例子,才弄明白了怎么做。 首先,在ASP.net的Web应用里,因为和用户交互是单线程的,异步的执行是没法把结果反馈给用户的,所以需要以同步(Synchronized)的方式执行工作流,这就需要创建一个ManualWorkflowSchedulerService得实例schedule,注册到WorkflowRuntime上,来覆盖了默认的DefaultWorkflowSchedulerService。在创建了Workfow Instance并调用了instance.Start()的时候,工作流还并没有开始运行,但已经On schedule了,这时候再调用schedule.RunWorkflow(instance.InstanceId),这时工作流就开始执行了,RunWorkflow会在工作流进入等待,或者结束的时候返回。 另外就剩下工作流运行环境初始化的问题了。这部分工作可以在Global.asax文件里完成,一个ASP.net应用里,WorkflowRuntime的实例只需要又一个,所以在各个页面里去初始化就太浪费了,在Application_Start和Application_End里完成WorkflowRuntime的初始化和清理工作: void Application_Start(object sender, EventArgs e) { System.Workflow.Runtime.WorkflowRuntime workflowRuntime = new System.Workflow.Runtime.WorkflowRuntime("WorkflowRuntime"); System.Workflow.ComponentModel.Compiler.TypeProvider typeProvider = new System.Workflow.ComponentModel.Compiler.TypeProvider(workflowRuntime); typeProvider.AddAssembly(typeof(Ganji.OA.Workflow.ExpensesClaim).Assembly); workflowRuntime.AddService(typeProvider); workflowRuntime.StartRuntime(); Application["WorkflowRuntime"] = workflowRuntime; } void Application_End(object sender, EventArgs e) { System.Workflow.Runtime.WorkflowRuntime workflowRuntime = Application["WorkflowRuntime"] as System.Workflow.Runtime.WorkflowRuntime; workflowRuntime.StopRuntime(); } That’s all
Posted in 计算机技术 | Tagged , , , , | Leave a comment