自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ios上libevent在dns解析时崩溃的解决

  在window和mac,甚至模拟器里都一切正常,就是在iPad机器上崩溃了。   libevent版本:2.0.11-stable     1.       在DNS解析时需要使用ARC4RANDOM算法生成transaction id,而ios自带的算法库有问题,会导致...

2011-06-10 17:51:16

阅读数 99

评论数 0

如何让网页上的Flash视频在弹出窗口中播放

很多浏览器都有这个功能,当你把鼠标移动到网页视频上,就可以看到顶部有一个按钮出现,弹出独立播放器。当你点击按钮,视频就弹出在新窗口播放了,这时候视频窗口的大小可以自由调整不再受页面的限制。 这是如何做到的呢? 首先想到的是,浏览器缩放缩放了页面的大小,正好可以显示视频窗口的大小。好像...

2010-06-29 10:47:00

阅读数 146

评论数 0

原创 IE Security Zone与Proxy的关系

有很多软件是通过修改IE的代理设置来实现下载加速,或者翻墙的,比如土豆视频加速器和Chrome的翻墙插件Proxy Switchy。但是,这个简单的修改会带来一些意想不到的问题。比如,如果网页中有IFrame,涉及到一些跨域的访问,就可能会有问题。       IE会根据Proxy的设置来...

2010-02-21 15:09:26

阅读数 65

评论数 0

原创 对象的强引用和弱引用

 如何保证一个对象在释放后不会再被访问? 最简单的是使用带引用计数的智能指针,但是强引用会导致对象不会被释放。那么弱引用如何?弱引用允许对象被释放,弱引用必须先转成强引用才能对对象进行操作,如果转换失败,则表示对象已经被删除。正好看到一篇文章“当析构函数遇到多线程──C++ 中线程安全的对象回调”...

2010-01-29 11:27:00

阅读数 5272

评论数 0

原创 对象的强引用和弱引用

如何保证一个对象在释放后不会再被访问? 最简单的是使用带引用计数的智能指针,但是强引用会导致对象不会被释放。那么弱引用如何?弱引用允许对象被释放,弱引用必须先转成强引用才能对对象进行操作,如果转换失败,则表示对象已经被删除。 正好看到一篇文章“当析构函数遇到多线程──C++ 中线...

2010-01-29 11:23:25

阅读数 51

评论数 0

原创 Chromium的Sandbox机制

Chromium允许渲染进程运行在Sandbox里,这样即便代码存在漏洞被网页利用了,也不会对系统造成威胁。Chromium的Sandbox机制主要依赖于操作系统的安全机制,包括Restricted Token,Job Object,Windows Desktop,还有Integrity Leve...

2010-01-22 14:49:00

阅读数 3343

评论数 0

原创 Chromium的Sandbox机制

Chromium允许渲染进程运行在Sandbox里,这样即便代码存在漏洞被网页利用了,也不会对系统造成威胁。 Chromium的Sandbox机制主要依赖于操作系统的安全机制,包括Restricted Token,Job Object,Windows Desktop,还有Integr...

2010-01-22 14:43:33

阅读数 118

评论数 0

Chrome CancelableRequest类分析

在前面介绍的Chrome Task类,可以让代码在指定线程上运行。 另一种常见的场景就是发出一个异步请求,并想知道请求处理的结果。这时请求的处理过程虽然是在另一个线程上的,但是请求的结果却从(调用者)请求发起的线程上回来,并且请求是可以取消的。 这是很有用的,比如我们经常从界面上(UI线程...

2009-12-14 18:34:45

阅读数 23

评论数 0

Chrome MessageLoop类分析

Windows程序是基于消息的,不管其封装形式如何,最后都要包含如下代码MSG msg; while(GetMesssage(&msg)) { TranslateMessage(&msg); DispatchMessage(&msg); ...

2009-12-14 18:30:35

阅读数 55

评论数 0

原创 Chrome CancelableRequest类分析

在前面介绍的Chrome Task类,可以让代码在指定线程上运行。 另一种常见的场景就是发出一个异步请求,并想知道请求处理的结果。这时请求的处理过程虽然是在另一个线程上的,但是请求的结果却从(调用者)请求发起的线程上回来,并且请求是可以取消的。 这是很有用的,比如我们经常从界面上(UI线程)发起一...

2009-12-14 18:14:00

阅读数 1987

评论数 1

Chrome Task类分析

在上一篇《Chrome线程模型》之后,我们来实际看一看代码。   多线程编程完全基于消息传递会比较麻烦,因为消息的封装和解析是比较麻烦的。不仅如此,被多个线程调用的其实是同一个对象的不同方法。比如 class Work { publi...

2009-12-09 20:42:33

阅读数 33

评论数 0

原创 Chrome Task类分析

在上一篇《Chrome线程模型》之后,我们来实际看一看代码。多线程编程完全基于消息传递会比较麻烦,因为消息的封装和解析是比较麻烦的。不仅如此,被多个线程调用的其实是同一个对象的不同方法。比如class Work{ public:    void Start()    {  

2009-12-09 20:30:00

阅读数 3918

评论数 3

Chrome线程模型(编译)

多线程编程是非常复杂的,Chrome的多线程处理有很多值得借鉴的地方。这篇文章是Chromium项目中Threading的设计和说明文档,简单翻译和注释了一下,以帮助理解。    简单总结就是,不要启动太多线程而应该使用专用的公共线程,代码一定要搞清楚运行在哪个线程上,要有一个简单的方式在线...

2009-12-08 23:28:48

阅读数 25

评论数 0

翻译 Chrome线程模型(编译)

多线程编程是非常复杂的,Chrome的多线程处理有很多值得借鉴的地方。这篇文章是Chromium项目中Threading的设计和说明文档,简单翻译和注释了一下,以帮助理解。  简单总结就是,不要启动太多线程而应该使用专用的公共线程,代码一定要搞清楚运行在哪个线程上,要有一个简单的方式在线程之间进行...

2009-12-08 23:04:00

阅读数 2131

评论数 0

原创 开通JavaEye闲聊

只谈技术,不谈其它 http://optman.javaeye.com/blog/chat

2009-10-15 21:50:00

阅读数 744

评论数 0

原创 像绘画那样写代码

很久不写代码,发现写代码的习惯有点变化了。以前基本都是把一个类(或者功能)写好了,并测试通过了,再去写另一个类。至于两者如何交互的,事先要考虑清楚,也就是要做设计,画UML图等。至少是先写的功能,要充分考虑未来调用者的各种使用场景。就像在一张白纸上作画,第一笔总是很难的,所以往往也是最苦闷的时候,...

2009-05-09 00:10:00

阅读数 1204

评论数 2

原创 使用XmlLite+WinHttp下载RSS

我在CSDN的第一篇Blog是关于XML,介绍使用MSXML的DOM API来处理XML。当时曾经说后续介绍另一种处理模式SAX,结果一晃过了很多年也没有写。实在是因为SAX模型太过麻烦,也没实际用过。SAX是够麻烦的,连.NET Framework都没有提供类似的API,而改为提供XmlRead...

2009-03-24 12:09:00

阅读数 1884

评论数 0

原创 Flex,Flash和AIR的关系?

一开始我也被这几个概念给搞糊涂了,特别是在前面写了两篇文章《Silverlight与Flash的一点不同》之后,收到了一些人的疑问。其中就有一条,Silverlight应该跟Flex比较,而不是Flash。 直到我看了Adobe的官方介绍之后,这才明白过来。 原来Flex只是一个开源的类库,简单...

2009-03-16 15:21:00

阅读数 3945

评论数 0

原创 Silverlight与Flash的一点不同 续

前些日子随手写的《Silverlight与Flash的一点不同》一文,有读者提出了赞同和反对意见,意料之中的事情,呵呵,继续讨论如下。WPF是以XAML为基础的,而XAML并不是为Streaming而设计的,至少我没有看到对此的说明。理论上,XAML也是可以像XML Stream的方式来处理,但是...

2009-02-26 20:07:00

阅读数 1276

评论数 0

原创 也谈IOCP

在这个言必称支持百万级用户的时代,似乎只要掌握IOCP就拿到了Windows平台下开发高性能服务端程序的入场券。网上的相关文章很多,写得都很经典。这里,我只想谈谈我的理解。 我是很早以前在研究Microsoft  Soap Toolkit 1.0源码的时候第一次见识IOCP的,里面是把它当做一个任...

2009-02-24 17:33:00

阅读数 1425

评论数 1

原创 Silverlight与Flash的一点不同

Silverlight与Flash的最大不同之一就是,Flash天生就是流媒体,Silverlight则是后天补充支持的。因为,Silverlight必须是整个xap应用包下载完成后才能显示(运行),而Flash是第一帧下载后就可以显示的。虽然Silverlight 也支持影片播放,但视频流是作为...

2009-02-21 11:30:00

阅读数 1472

评论数 2

原创 Getting Real

在过去的项目经验中,有一开始就把产品想得太大,太远和太复杂的。特别是,当公司有了一笔钱,想要做一件大事的时候,更加容易犯这种错误。这时候,你不可能只做一件小小的产品,你需要把事情搞得够大,每个人都不闲着。你还想,好不容易有这么一个机会,一定要好好做,一定要做得完美,每个细节都要考虑清楚,以后不能再...

2009-02-20 08:37:00

阅读数 964

评论数 0

原创 -1的二进制表示

虽然一直用C/C++,但很少涉及到Bit序列的问题。比如,-1的二进制表示到底是怎样的?从没有深究过,一直都是模棱两可的,说出来实在让人笑话。 对于有符号整型数的简单认识就是,最高位为符号位,0为正,1为负,那么剩下几位应该如何表示呢?理所当然的认为,既然是1表示为0000 0001(假设为8位...

2009-02-12 17:13:00

阅读数 19133

评论数 0

原创 规模效应

建筑可以通过巨大形状和质量造成视觉和心理震撼,而成为伟大的艺术。比如长城,如果单单是一段,不管多么雄壮,都无法使之成为世界奇迹。而简单的城墙一旦重复达到一定规模,比如几千公里,于是就世人瞩目了。同样,单个的电阻,电容和三极管看起来并没有什么用处。但是,当千千万万个三极管组合起来,那就是集成电路芯片...

2008-12-12 16:53:00

阅读数 1013

评论数 0

原创 从GWT说起

一直把GWT和GData混淆,大概也知道GWT可以把Java代码转变成Javascript代码,但却一直认为这只限于对服务器的远程调用。现在看了一下正式文档,原来更多的还是UI Toolkit。为什么这么多基于浏览器的UIToolkit呢?我想主要原因就是,大家太想把桌面应用程序的UI带到浏览器...

2008-12-05 00:53:00

阅读数 1030

评论数 0

转载 Thoughts on being a Solution Architect

SolutionArchitect都要做些什么呢?作者的想法跟我前面的经验比较吻合。比如,提出一个方案之前应该先确保可行,可以是先做一些原型或者技术贮备。在需求还没有确定之前,尽量避免让开发人员加入讨论,以减少干扰。架构师应该先想好,如何把新需求纳入现有系统中。设计文档虽然也有重要,但是更好的是跟...

2008-10-24 11:01:00

阅读数 777

评论数 0

原创 软件开发需要常识

为什么软件开发这么困难?设想的和开发出来的不一致,工作量估算不准,还有很多隐藏的质量问题等等......是因为需求定义不够明确?是因为设计文档不够精确么?的确,从需求到产品,有太多的细节需要考虑,有太多的变数,而需求和设计文档并不能面面俱到。但是,你并不能要求建筑设计师把每一块砖都考虑到了。因为,...

2008-10-16 21:19:00

阅读数 842

评论数 0

原创 WPF的几个关键点

强大的组合能力WPF的UI元素可以很灵活的相互嵌套,从而可以实现很复杂的效果。比如,一个Button内部,可以嵌入Image,这样实现常见的位图按钮就很简单。    还可以使用Layout元素,对内部的对象进一步进行排列                      用户也可以通过Template来定...

2008-10-15 23:52:00

阅读数 2114

评论数 0

原创 XAML的几个关键概念

Property Elements使用单独的XML节点来表示WPF对象的属性值,这样就可以表示比较复杂的对象。比如使用Property Elements就可以这样表示      Yellow对简单对象似乎更复杂了,但是如果要表示更复杂一点的对象,比如                        ...

2008-10-14 17:54:00

阅读数 619

评论数 0

原创 《Windows Presentation Foundation Unleashed》(书评)

因为之前有做过类似用XML来定义界面的相关工作,所以是带着疑问来看这本书的--我曾经遇到的那些问题,究竟微软是如何解决的呢?WPF最重要的,就是XAML语言,全书也是以此为中心(这一点很重要)。开篇不久,首先就对XAML中一些关键的疑团进行了解释,比如Property Elements,Type ...

2008-10-12 00:09:00

阅读数 604

评论数 0

翻译 Project Management Truisms

原文链接:http://www.mariosalexandrou.com/blog/?p=67挺有意思的,于是加了一些自己的点评。Nothing is impossible for the person who doesnt have to do it.不记得有多少次,我总是对很多事情想当然,前...

2008-10-05 17:32:00

阅读数 698

评论数 0

原创 《Release It! Design and Deploy Production-Ready Software》

所有功能开发完成,并通过QA测试,就一切大功告成了--我们一直存在这样的认识误区。其实,从软件产品正式发布交付给用户使用的那一天起,挑战才刚刚开始,路还很长。你会遇到各种各样的问题,让你半夜都无法安睡。因为,真实的运营环境跟开发测试环境是不同的,你会遇到各种各样的新问题和挑战。测试环境里,可能只有...

2008-06-06 16:29:00

阅读数 1599

评论数 0

原创 try/catch的实现原理

明白了几个道理, 1. VC++的try/catch是基于Win32的SEH实现的。 2. try/catch只能捕捉当前线程的异常,每个线程都有自己的异常处理入口。 3. 异常处理入口是由OS负责调用的,在异常发生时。 4. 为了使用SEH,VC++编译器自动生成了很多的代码。   MSDN上关...

2008-06-03 17:39:00

阅读数 4705

评论数 1

原创 危险的线程

示例代码class WorkClass{public:void Start(){        CreateThread(...,ThreadFunc,this,...)}void Stop(){}static LRESULT WINAPI ThreadFunc(void* pThis){    ...

2008-05-29 14:45:00

阅读数 1181

评论数 0

原创 std::set的insert会把新元素放在什么位置?

我其实是希望放在第一个,这样我就可以用begin来访问到该新元素--正在在做一个连接池,希望把刚用完的连接放到最前面,这样就可以经常用到,而不常用的就逐渐废弃断掉了。从代码的实际运行情况来看,就是我所希望的模式,但是否偶然现象?   于是找到了这篇帖子,原来std::set内部并不是以数组来保存元...

2008-05-28 17:41:00

阅读数 4911

评论数 0

原创 时空穿梭和系统重启

《时间旅行者的妻子》前些日子在豆瓣上很受关注,其实关于时空穿梭的故事已经很老套了,该书的文采也平淡无奇,但为什么还那么受关注呢?或许是一种感觉吧,想想看,你可以看着自己的妻子慢慢长大,那是怎样奇妙的感觉啊。要不怎么说青梅竹马呢,呵呵。 看《时间》一书的时候,一点都不轻松,因为我总是会不自觉的去进...

2008-05-24 16:00:00

阅读数 783

评论数 0

原创 COM套间模型的相关文章

关于COM套间模型,一开始你可以不关心,但是总有一天你会碰上......   COM和套间(Apartments) 1 - 基本知识 简洁明了的中文介绍   OLE 线程模型的说明和工作方式 微软的技术文章,太详尽了。   Understanding and Using COM Threading...

2008-05-20 16:48:00

阅读数 1193

评论数 0

原创 《设计规则 模块化的力量》书评

         作为一个程序员,对于模块化自然是不陌生的,因为我们一直在说模块化。以前我们说OOP,现在说SOA,其实不都是模块化嘛。但是,对于模块化,我们的认识有多深呢?      《设计规则》一书从比较抽象的概念,向我们说明了什么是设计,什么是模块化,以及模块化所带来的好处,最后是如何实现模...

2008-04-24 00:10:00

阅读数 2236

评论数 2

原创 微软产品内部协议大公开

前些时候听说微软公开了很多产品的内部协议以推进与其它产品的互操作性,今天看了一下果然公开了很多文档。根据微软的互操作性原则(Interoperability Principles),分为几个部分:1. 与微软产品的开放互联包括: 开放的协议 开放的API 开放的访问 专利条...

2008-04-15 23:34:00

阅读数 801

评论数 0

原创 诡异的TLB文件

COM组件IDL文件里大写的属性名称在生成的TLB文件里,竟然变成了小写!问题还不止这么简单,因为有时候变成小写,有时候又变成了大写!调用程序因此反复要修改,这不是折磨人嘛!   在Google Groups里搜索了一下,原来这是因为TLB里,所有的字符串存贮在一张表里,不管大小写,而且也不管是属...

2008-04-10 19:45:00

阅读数 1100

评论数 0

提示
确定要删除当前文章?
取消 删除