重写的IOCP网络库已经应用到服务器程序上,几大服务器开始联调,网络库和应用层的BUG也随之浮现出来。这会仍在查BUG,发现其中有些BUG很巧妙,像是被精心设计出来。在GC服务器程序中就发现这么一个BUG,GC服务器在退出时做清理工作,包括关闭connection,但不幸中道崩殂,发生crash,抛出0xC0000005: Access violation异常。来看其中的几段代码。 继续阅读 »
2012.04四月思(月总结)
五一小假过了三分之二,趁还没有结束,对四月份的工作生活做一个分段式的回顾。且倒数往回看。 继续阅读 »
Windows编程小问题汇总(持续更新)
今天再开一篇问题汇总文章,用来记录在Windows上开发碰到的各种乱七八糟奇怪的小问题,这样的小问题从编程以来有很多,奈何记忆常会丢三落四,那就写下来了,从今天开始。 继续阅读 »
理解TCP的写操作
这周开始在写基于IOCP的网络库,很关心系统内核层的一些运作以及socket api相关的语意,主要也就是写操作和读操作(send/recv)。现在对TCP的写操作相关的semantics做些分析整理。
写操作调用和TCP/IP发送的段之间不存在一一对应的关系,它们之间的交互是系统相关的。我们从两个层面来看写操作。 继续阅读 »
IOCP网络库的几点思考
目前在用的IOCP网络库作为一个核心基础库已经有很长一段历史了,几乎覆盖了当前全部产品的开发。我接触它的时间算起来也有些日子,用它进行了多个产品的开发,从中受益颇多。 继续阅读 »
memcpy的性能
在高性能服务器开发当中,与内存相关的操作(alloc/free/copy)是代价昂贵的,是影响服务器性能的关键因素之一,于是引入了memory pool/pre-allocation等优化方法。今天在检查粘包问题时在IOCP库中看到投递I/O操作的几个关键时刻多次使用memcpy,于是测试了一下memcpy的性能。 继续阅读 »
TCP还是UDP?
在读《ETIP》(Effective TCP/IP Programming)Tip7时收获的一些心得,记录下来。
在开发网络程序时,我们经常需要面对的一个问题是:选择TCP还是UDP?我们的一般印象是TCP是面向连接的、可靠有序的、基于字节流的协议,而UDP是无连接的、不可靠的、面向消息的协议。通常粗略的认为在需要可靠性时,选择TCP,需要高效率时选择UDP。然而,在做出选择时,我们需要考虑的更多些。 继续阅读 »
Multithreading Applications in Win32 Faqs
在《Multithreading Applications in Win32》书中旁栏附有关于主题的Faqs,这些Faqs涉及到Multithreading Programming应该引起注意的大部分,于是写下来作为笔记,希望在进行Win32 Multithreading Programming中能起到一些Effective的作用。(Effective是一类书系的名称,这类书是(C++)程序员必读书,最近在读《Effective TCP/IP Programming》) 继续阅读 »
两年工作掠影(总结)
年终流行写总结,也看了不少程序员的总结,多是一年到三年工作经验的年轻程序员写的多,这样的习惯很好,不断总结,反思,规划,执行,不断进步。回首想来工作也及近两年,趁着在回家过年的旅途中,把2010年3月到现在这两年的工作总结补回来。(一直都有记录总结的习惯,但却没来得及把这两年的工作经历做个总结) 继续阅读 »
nafxcwd.lib、MSVCRTD.lib、LIBCMTD.lib默认库链接冲突问题
MFC程序在将MFC的使用方式从<在共享 DLL 中使用 MFC>切换到<在静态库中使用 MFC>,构建时,经常出现如下所示的lib库冲突问题。 继续阅读 »
本站主题和插件
主题
博主喜欢简约的主题,于是找到了zbench,然后在其上做了些修改,并打算一直用下去,考虑到zbench本身可能会升级,升级之后会覆盖已修改的文件,于是采用了子主题的方式进行修改。
这是本站修改的子主题:brucesky_zbench_child
继续阅读 »
我的随行书库
对程序员来说,几乎除了看屏幕,看的最多的应该就是书了。现在各种终端智能设备提供了电子阅读的方便性,改变了人们读书的习惯,将读书的行为从书桌搬向了任何地方。但是,我还是热衷于阅读纸质书,尤其是对于喜欢的书籍类型,适合读电子版的是那些“快餐消费类”的书(用来打发时间的)。
工作两年以来,买了不少书,有些是技能提高需要,有些是项目开发学习需要。虽然部门可以购书,还是喜欢自己买。那么多书唯一带来的麻烦就是在搬家的时候,书的负担不是一般重。但不管怎样,每次搬家(来杭工作不到两年搬家4次)都要带着它们,而且一本都不能少(除了那些送人的),因为,书带来的乐趣和价值是无穷的。 继续阅读 »
调试法:UPDATE_COMMAND_UI消息的来龙去脉
晚上大部门吃年饭,期间喝了点酒,回来后想起新建的BLOG比较空白,觉得应该写点什么。那写什么呢?想起几天前Jack问的动态状态栏的问题,虽然不是一个需要大书特写的问题,但还是写下吧。(如果您是经验丰富的程序员,可以跳过此文) 继续阅读 »
brucesky.com诞生小记
brucesky.com终于上线了!
brucesky.com的由来
bruce是我现在的英文名,在读大学时请师范英语系一位可爱的姑娘给起的,起初想用姓名的每个头字母作为域名,简单易记,奈何这样的域名早已被注册,那就换个英文名,于是有了brucesky.com。目前绝大部分你能想到的域名都被注册了,所以打算建立个人BLOG又想拥有一个自己喜欢的域名的同学要尽早注册。(我这里还会定期收到godaddy的优惠码)
brucesky.com建立的历程
brucesky.com从买域名到上线经历了很长一段时间,由于各种原因总是被搁置,加上难得有闲情逸致,总是在零散的时间里准备需要的“硬件”,在年末给自己定了个deadline,必须赶在2012龙年到来时让BLOG上线,这才有了与大家见面的机会。
1. 2011.6.25 购买域名;
2. 2011.11.11 购买vps;
3. 2011.11.11 开始搭建配置lnmp环境,安装wordpress,定制主题;
4. 2012.01.01上线。
继续阅读 »
日喻说(博文发布测试)
古文观止·日喻说 苏轼
【原文】
生而眇①者不识日,问之有目者。或告之曰:“日之状如铜盘。”扣②盘而得其声。他日闻钟,以为日也。或告之曰:“日之光如烛。”扪③烛而得其形。他日揣籥 ,以为日也。日之为钟、龠亦远矣,而眇者不知其异,以其未尝见而求之人也。
道之难见也甚于日,而人之未达也无异于眇。达者告之,虽有巧譬善导,亦无以过于盘与烛也。自盘而之钟,自钟而之龠④,转而相之,岂有既乎?故世之言道者,或即其所见而名之,或莫之见意之,皆求道之过也。
然则道卒不可求欤?苏子曰:“道可致而不可求。”何谓致?孙武曰:“善战者致人,不致于人。”子夏曰:“百工居肆,以成其事;君子学,以致其道。”莫之求而自至,斯以为致也欤!
南方多没人,日与水居也。七岁而能涉,十岁而能浮,十五而能没矣。夫没者岂苟然哉?必将有得于水之道者。日与水居,则十五而得其道;生不识水,则虽壮,见舟而畏之。故北方之勇者,问于没人而求其所以没,以其言试之河,未有不溺者也。故凡不学而务求道,皆北方之学没者也。
昔者以声律取士,士杂学而不志于道;今世以经术取士,士知求道而不务学。渤海吴君彦有志于学者也,方求举于礼部,作《日喻》以告之。
【注释】:
继续阅读 »

近期评论