
我们俩的联系方式![]()
友情链接导航 |
技术技术 IronPython 里某些类型的显式转换由 qyb 于 星期五, 2010-03-05 12:40 发表import clr, System
x = clr.Reference[System.UInt64](0) #创建一个到System.UInt64对象的引用,C的行话是指针 x.Value = 1 * 1 上述代码在最后 x.Value = 1*1 的时候抛了一个类型异常出来.. 我就直接在 ipy console 里执行 x.Value = 1 测试 我靠,没有任何错误啊。为啥后面赋值把整数替换成表达式就错呢?我想当然的以为这个是 IronPython 的 bug,差点就去开 Issue 了。后来转念一想,这个 2.0.3 的 ipy 出错,或许 2.6 就 fix 了... 然后发现在 2.6 里更悲剧,x.Value = 1 也直接抛异常..我这才意识到这种赋值操作是有问题的,改成 x.Value = System.UInt64(1*1) 搞定 关于动态gif的帧速由 qyb 于 星期五, 2010-02-26 18:58 发表做了一个小实验,结果预期的目的失败了,倒是额外发现了关于动态gif帧速的一个链接:http://humpy77.deviantart.com/journal/12374968/ 如果没耐心读英文,我中文介绍一下: 动态GIF的定义,是弄一组GIF图片,然后指定渲染图片序列的时候,处理下一帧之前 delay 多长时间。这个时间是一个整数n,表示延时 n * 1/100 秒。 理论上我们可以得到非常棒的动画图像,要知道电影也不过每秒24帧而已,但我们从来没有看到过效果很好的动态gif,不是么? 原因在浏览器对这个规范的实现上。所有的浏览器,都不支持 n=0,1的延迟,而且如果把值设成0或1,会得到更糟糕的动画效果!
等下周有时间了生成n=1,2,3,4,5,6,10, 再全面测试看看 结论,千万不要用 0/1 来指定 n,这就彻底茶几了;用2/3/4/5?在Firefox和Opera下效果会如你预期;但为了兼容所有浏览器,还是用6吧 IronPython 的 .NET 线程由 qyb 于 星期三, 2010-02-24 00:11 发表IronPython 除了实现 Python 的 threading 接口,也包括了 .NET 线程接口。如果不考虑跨平台移植的话,.NET 的接口应该是更为好用,也更强大些. IronPython 线程开发最权威同时也是最简洁的介绍,就是 Michael Foord 大神的 http://www.voidspace.org.uk/ironpython/threading.shtml。剩下的就去研究 MSDN 上的 System.Threading 吧 我模拟了一个 start_new_thread 实现如下: from System.Threading import Thread, ParameterizedThreadStart
def start_new_thread(func, args, kwargs=None): 搜狐邮箱最近几个后台更新由 qyb 于 星期二, 2010-02-09 23:42 发表1. 个人邮箱的 lookup db 全部升级完毕...基本上也意味着这个平台完成度达到90%.. 接下来就是升级企业邮箱了 2. 不怕大家笑我们老土,邮件应用服务器——或者说桶服务器,开始进行64位OS测试。前两年纠结的是向 kernel 2.6/epoll,以及应用程序,存储格式的转换;今年主要是头疼计算环境了,除了32->64外,还包括虚拟化技术的应用。 3. imap.sohu.com 貌似可以连接了,但据说除了内部测试帐号外,也就只能认证玩玩,呵呵 Ironpython 生成 exe 文件的时候加入 ico 资源由 qyb 于 星期三, 2010-02-03 21:45 发表分发 windows 下的 python 程序的时候,免不了要生成 .EXE 文件提供给最终用户。在 Ironpython 里,微软的例子里是有一个 pyc.py,利用 .Net Runtime 提供的 API 将脚本转成 DLL/EXE;Ironpython 2.6 发行的时候,干脆直接把这个 pyc.py 放进了安装包。 但是我在使用 pyc.py 的时候,觉得很不爽的一点就是不能像 py2exe 那样,指定一个 ico 文件作为 .EXE 在桌面环境下的显示图标。俺觉得 .Net 怎么也应该对 win32 desktop 有点特别的支持啊,于是就是好好研究了一下是否简单修改修改 pyc.py 就能搞定这事。 最后找到如下信息:
结论就是,用2.0/2.6的话就别想一次性编译搞定了,用 1.1 的话也许能实现目标——不过近期内实在是没有闲心去弄这个了 话说 codedom 可以搞出一些很牛逼的应用,比如把 c# 代码转换成 ironpython 代码。当初 SharpDevelop 刚刚集成 Ironpython 1.1 开发的时候就搞了几个相关特性,后来集成 IP 2.0 的时候被迫去掉了。现在 SharpDevelop 换了个思路,利用抽象语法树又重新一一实现。 GMail 最近的邮件会话整理有 bug 啊由 qyb 于 星期三, 2010-01-27 10:10 发表无图无真相:
分别是一个15封信的会话,和一个7封信的会话;但在 GMail 里是 4 个会话
Update: IronPython 里实现进程单例由 qyb 于 星期三, 2010-01-27 08:29 发表前言:在寒冷的互联网冬季,偶决定写一个小小的 IronPython 程序,充分发挥一下鄙人的无赖精神,以娱乐自己. ========== 我是分割线 ========== 有时候,希望自己的程序只能启动一次,而不会运行多个实例。在 .Net 下可以通过 System.Threading.Mutex 做到这一点,直接上代码: MUTEX_STRING = "sohumailcenterblarblar"
if __name__ == "__main__": 有关全文搜索由 qyb 于 星期六, 2010-01-23 22:47 发表本周,sohu.com 的邮件全文搜索功能上线 作为免费邮箱提供商,得具备两个核心技术,一个是海量信息的处理能力,一个是用户产品的开发能力。全文搜索这个功能,就属于上述的第一个能力。不得不承认网易在这方面还是很强,把附件内容,压缩文件的搜索也做了进去;俺们的搜索,纯粹从开发角度看好像差一点就能达到,不过行百里半九十,这方面技术积累上的差距不是一两个季度可以弥补的。再过一年,或许我们也能玩玩压缩文件/附件搜索了。 其实用户执行搜索的可能极低,但一旦其开始搜索,对速度和准确度的要求又非常高。有时候会纠结花这么大的功夫提供性价比(用车东的话说"读写比")这么低的服务是否值当,后来想明白了两件事:所谓服务器,就是干冗余的活,但是让用户生活简单舒服的;其次如果不能合理成本的提供这样的服务,其实是IT能力有问题,应该想法改进技术(或者转换商业思路),而不是就此不做。 和海量信息处理能力相关的还有很多其他的事情 ,比如反垃圾邮件,比如保持多长时间未登录用户信件...2010还有很多东西等待去改进。 Postfix 2.7 将引入动态选择源IP的功能由 qyb 于 星期一, 2010-01-18 21:15 发表Major changes with snapshot 20100117 The FILTER action in access maps or header/body_checks now supports sender reputation schemes that dynamically choose the SMTP source IP address. This is implemented by specifying FILTER actions with empty next-hop destinations in access maps or header/body_checks, and by configuring in master.cf one Postfix SMTP client for each SMTP source IP address, where each client has its own "-o myhostname" and "-o smtp_bind_address" settings. 这样,可以让信用更好的用户通过一个可信度高的 IP 发送出去,而其它的用户,则走另外的 IP |
最新评论
2 天 5 小时之前
2 天 7 小时之前
2 天 8 小时之前
2 天 12 小时之前
3 天 4 小时之前
6 天 16 小时之前
1 周 4 小时之前
2 周 4 天之前
2 周 4 天之前
2 周 5 天之前