最不像干货的33条干货(转载)
成功的唯一秘诀就是钻空子。钻职场人际关系的空子、钻市场监管的空子、钻信息不对称的空子,钻你发现的一切空子的空子。当然,坚持、努力、选择这些因素,对于成功也很重要,但算不上秘诀。只有钻空子才是唯一的秘诀。
不要做永远正确的穷人。少跟人争辩,你觉得对就去做,做成了自然别人就闭嘴了。说服别人并没有实际的意义,浪费口舌和时间。当然,利益相关的事情,有人冤枉你的情况除外。
程序员如何提升自身价值(转载)
程序员薪水有高有低,有的人一个月可能拿30K、50K,有的人可能只有2K、3K。同样有五年工作经验的程序员,可能一个人每月拿20K,一个拿5K。是什么因素导致了这种差异?我特意总结了容易导致薪水低的九大行为表现,避开这些大坑,你就离高薪不远了。
使用WinDbg调试关键区死锁
使用WinDbg调试互斥体死锁
本文通过一个实例来讲解如何使用 WinDbg 来调试 Windows Mutex 死锁的问题。
一个MySQL存储过程模板
在进行数据库开发时,我们可能需要写很多存储过程,本文提供一个存储过程的模板,通过该模板可以简化存储过程的开发。
Windows套接字I/O模型(5)-完成端口模型
前面的文章已经介绍了套接字 I/O 的同步模型、WSAAsyncSelect模型、WSAEventSelect模型,到目前为止套接字I/O还剩下2个模型没有介绍:重叠模型,完成端口模型。
如果程序对性能和并发要求不高,可以使用前面介绍的WSAEventSelect模型;如果对性能和并发有要求,可以使用本文介绍的完成端口模型。
因为完成端口模型是基于重叠模型的,且在易用性、可伸缩性等方面都高于重叠模型,在一般选择重叠模型的场合,都可以用完成端口模型来替代,强烈建议使用完成端口模型。
“完成端口模型”是 Windows 系统上面套接字 I/O 的终极模型,可以用它代替前面的所有模型。如果对完成端口模型有一个好的封装,基本上可以“一招鲜,吃遍天”,免去重复造轮子的麻烦。所以这里对完成端口的模型的介绍和比前面的几篇篇幅更长,示例代码也更加复杂和全面。
由字符串格式化函数引起的崩溃
本文记录一个由于错误使用 StringCchVPrintf 等格式化函数所导致的崩溃问题。
Windows套接字I/O模型(4)-WSAEventSelect模型
WSAEventSelect模型和WSAAsyncSelect模型类似,但WSAEventSelect模型允许应用程序在一个或多个套接字上面接收以事件为基础的网络事件通知。该模型和WSAAsyncSelect模型的最主要的区别在于网络事件是由事件对象句柄完成的,而不是通过窗口消息完成的。
Windows套接字I/O模型(3)-WSAAsyncSelect模型
利用 WSAAsyncSelect 模型结合 Windows 窗口消息循环,应用程序可以在一个套接字上接收以 Windows 消息为基础的网络事件通知。
在使用 WSAAsyncSelect 模型之前,首先需要创建一个 Windows 窗口,并为该窗口提供一个窗口过程支持函数(WndProc)。
