我是如何年薪五十万的

2019-09-24
阅读 7 分钟
2.6k
我姓方,码农一枚,14 年硕士毕业于某 211 学校,哎,这里就不提母校了。人到中年,还没混出什么名堂,就不给学校丢脸了。经常很多人问我现在的收入多少,这个嘛,男人的收入就和女人的身高一样是个秘密。不过,今天姑且聊一聊这个话题。

如何系统地学习 C++ 语言?

2019-08-31
阅读 11 分钟
4.2k
笔者从学生时代开始接触 C/C++,工作以后先后担任过 C++ 客户端和服务器的开发经理并带队开发,至今已经有十多年了。虽然时至今日哪种编程语言对我来说已经不再重要(我目前主要从事 Java 开发),但 C/C++ 仍然是笔者最喜欢的编程语言。在我看来,C/C++ 一旦学成,其妙无穷,就像武侠小说中的“九阳神功”一样,有了这个...

高性能服务器开发基础系列 (七)——开源一款即时通讯软件的源码

2018-05-24
阅读 4 分钟
4.3k
在我的《高性能服务器开发基础系列》这个系列的第一篇至第六篇都是讲了一些零散的不成体系的网络编程细节。今天,在这篇文章中,我将介绍一款我自主开发的即时通讯软件flamingo(中文:火烈鸟),并开源其服务器和pc客户端代码。以此来对前几篇文章中说到的理论进行实践。

高性能服务器开发基础系列 (二)Reactor模式

2018-05-23
阅读 24 分钟
3.9k
系列目录 第01篇 主线程与工作线程的分工 第02篇 Reactor模式 第03篇 一个服务器程序的架构介绍 第04篇 如何将socket设置为非阻塞模式 第05篇 如何编写高性能日志 第06篇 关于网络编程的一些实用技巧和细节 第07篇 开源一款即时通讯软件的源码 第08篇 高性能服务器架构设计总结1 第09篇 高性能服务器架构设计总结2 第10...

高性能服务器开发基础系列 (一)主线程与工作线程的分工

2018-05-23
阅读 3 分钟
1.9k
服务器端为了能流畅处理多个客户端链接,一般在某个线程A里面accept新的客户端连接并生成新连接的socket fd,然后将这些新连接的socketfd给另外开的数个工作线程B1、B2、B3、B4,这些工作线程处理这些新连接上的网络IO事件(即收发数据),同时,还处理系统中的另外一些事务。这里我们将线程A称为主线程,B1、B2、B3、B4...