• 等级
  • 3480766 访问
  • 144 原创
  • 3 转发
  • 358 排名
  • 3353 评论
  • 42 获赞

在知乎开了个专栏:网站可靠性工程(SRE)

http://zhuanlan.zhihu.com/SREng

2016-04-11 11:40:30

《Linux 多线程服务端编程》出了多看电子版,繁体版在台湾上市

《Linux 多线程服务端编程》多看电子版:http://www.duokan.com/book/76600《Linux 多线程服务端编程》繁体版由佳魁資訊在台湾出版发行:http://www.books.com.tw/products/0010644288

2015-04-19 14:09:10

在 Boolan 网开讲《Linux 网络编程实战》课程

《网络编程实战》是一门以讲解实例为主的课程,每一节都讲一两个网络编程的例子程序,课程偏重 Linux 服务端 TCP 网络编程。 本课程要求听课人员已经读过《Unix 网络编程》,能写简单的 TCP echo 服务。   课程地址:http://boolan.com/course/4 配套页面:http://chenshuo.com/pnp

2014-12-03 01:47:02

C1000k 新思路:用户态 TCP/IP 协议栈

现在的服务器支撑上百万个并发 TCP 连接已经不是新闻。实现 C1000k 的常规做法是调整内核参数,提高文件数,降低每个连接的内存消耗。 在今年的 BSDCan2014 会议上, Patrick Kelsey 介绍了把 FreeBSD 9.x 的 TCP/IP 协议栈移植到了用户态,并用于 WANProxy 项目。在用户态运行 TCP/IP 协议栈意味着并发 TCP 连接不再占用系统文件数,只占内存,解决了 C1000k 的一大瓶颈,

2014-05-20 14:13:43

我在知乎回答关于 Linux C++ 服务端编程的学习方法

http://www.zhihu.com/question/22608820/answer/21968467

2014-02-06 02:22:00

《Linux 多线程服务端编程:使用 muduo C++ 网络库》电子版上市

《Linux 多线程服务端编程:使用 muduo C++ 网络库》 电子版已在京东上市销售。购买地址:http://e.jd.com/30149978.html阅读效果:PCiPad目前京东的阅读器没有切白边功能,值得改进。

2013-11-01 10:36:44

C++面试中string类的一种正确简明的写法

本文首发于酷壳网 http://coolshell.cn/articles/10478.html先说说程序员(应届生)面试的一般过程,一轮面试(面对一到两个面试官)一般是四、五十分钟,面试官会问两三个编程问题(通常是两大一小),因此留给每个编程题的时间只有 20 分钟。这 20 分钟不光是写代码,还要跟面试官讨论你的答案并解答提问,比如面试官拿过你的答案纸,问某一行代码如果修改会有什么后果。因此真

2013-10-11 11:08:50

读者来信与解答 1

读者来信用黑色,我的回答用蓝色。经过整理,接近对话体。> 陈硕,你好,>> 阅读了你的书,很有收获。> 但是没有在moduo的源代码里面找到实现线程模型11的例子。即one thread per loop + thread pool。> 谢谢。书第 173 页图 6-14 下面的第一段话,具体改动方法参考前一页的 diff。> 谢谢。>> 另外TcpConnection和Channel的生命周期管

2013-10-10 12:19:12

用条件变量实现事件等待器的正确与错误做法

前几天,我发了一条微博 http://weibo.com/1701018393/A7FrW7ZVd ,质疑某本书对 Pthreads 条件变量的封装是错的,因为它没有把 mutex 的 lock()/unlock() 函数暴露出来,导致无法实用。后来大家讨论的分歧是这个 cond class 是不是通用的条件变量封装,还是只是一个特殊的“事件等待器”。作为事件等待器,其实现也是错的,因为存在丢失事件的可能,可以算是初学者使用条件变量的典型错误。

2013-09-09 03:02:55

赖勇浩:推荐《Linux 多线程服务器端编程》

推荐《Linux 多线程服务器端编程》赖勇浩(http://laiyonghao.com)最近,有一位朋友因为工作需要,需要从网游的客户端编程转向服务器端编程,找我推荐一本书。我推荐了《Linux 多线程服务器端编程——使用 muduo C++ 网络库》给他,他在网上书店看了以后问我为什么推荐这么厚一本书给他,正好这本书我已经早就看完了,一直也想写篇“书评”,就在这里多扯几句。其实实在算不上书评,

2013-08-28 09:03:13

用muduo实现memcached协议的例子

用muduo实现memcached协议的例子最近花了两天时间用 muduo 部分实现了 memcached 服务器协议,代码位于 examples/memcached/server,能通过 memcached 的大部分测试用例(incr/decr 还没有实现)。这不是 memcached 的替代品(它没有实现LRU和超时功能,也没有实现二进制协议,更没有自己管理内存),而是一个网络编程的示例(代码

2013-08-18 13:00:26

近期微博吐槽言论存档,涉及“性能优化”、C++陋习等

写C++程序的几个陋习:class 名以大写 C 开头,例如 CDate;成员变量以 m_ 开头;变量采用匈牙利命名法;不知道何时禁用 copy-ctor/assign operator。有些人常常把“性能”挂在嘴边,而且其以“提高性能”为理由的“优化措施”往往不到点子上,只增加了复杂性和维护难度,降低了代码质量。这属于决策点找偏了。

2013-08-12 13:57:21

《Linux多线程服务端编程:使用muduo C++网络库》上市半年重印两次,总印数达到了9000册

摘要: 《Linux多线程服务端编程:使用muduo C++网络库》这本书自今年一月上市以来,半年之内已经重印两次(加上首印,一共是三次印刷),总印数达到了9000册,这在技术书里已经算是相当不错的成绩。 以下谈一谈这本书的写作背景与内容取舍的原因。

2013-07-17 11:24:39

用 LaTeX 排版编程技术书籍的一些个人经验

用 LaTeX 排版编程技术书籍的一些个人经验陈硕多年之前我写过一篇书评《〈Word 排版艺术〉读后感——兼谈与 LATEX 的比较》,其中写道“如果将来有时间,我把自己用 LATEX 排书的经验总结一下,让读者在阅读《Word排版艺术》的基础上,更容易地把知识应用到 LATEX 排版中去。” 我自己排版了 《Linux 线程服务端编程:使用 muduo C++ 网络库》,现在终于可以把账还上了。

2013-02-04 03:55:14

为什么多线程读写 shared_ptr 要加锁?

为什么多线程读写 shared_ptr 要加锁?陈硕(giantchen_AT_gmail_DOT_com)2012-01-28最新版下载:http://chenshuo.googlecode.com/files/CppEngineering.pdf我在《Linux 多线程服务端编程:使用 muduo C++ 网络库》第 1.9 节“再论 shared_ptr 的线程安全”中写道:(shared_

2013-01-28 05:13:55

关于 std::set/std::map 的几个为什么

陈硕 (chenshuo.com)2013-01-20std::set/std::map (以下用 std::map 代表) 是常用的关联式容器,也是 ADT(抽象数据类型)。也就是说,其接口(不是 OO 意义下的 interface)不仅规定了操作的功能,还规定了操作的复杂度(代价/cost)。例如 set::insert(iterator first, iterator last) 在通常情况

2013-01-20 13:22:53

muduo多机协作网络编程示例一:单词计数及排序

去年我写了《Muduo 网络编程示例》系列文章,这些文章已经收入《Linux 多线程服务端编程:使用 muduo C++ 网络库》一书。这些文章讲的基本都是运行在单机上的网络程序,每个例子都只有一个程序(第7.13节例外)。我接下来打算继续写几篇文章,谈一谈分布在多台机器上、协作发挥作用的网络编程例子。今天先讲第一个,单词计数及排序。单词计数(word count),顾名思义就是统计一个文本文件里

2013-01-13 03:59:54

《Linux 多线程服务端编程:使用 muduo C++ 网络库》网上书店订购

《Linux 多线程服务端编程:使用 muduo C++ 网络库》网上书店订购内容简介本书主要讲述采用现代 C++ 在 x86-64 Linux 上编写多线程 TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高性能网络程序最成熟的模式,掌握之后可顺利地开发各类常见的

2013-01-11 12:43:50

发布几个PDF小工具

《Linux多线程服务端编程——使用muduo C++网络库》这本书是我自己用LaTeX排版的,在排版过程中也积累了一些小工具,今天把其中几个发布出来。这几个工具都直接基于开源的 iText 库,可从 http://itextpdf.com/ 下载。下载Groovy 版本位于 https://github.com/chenshuo/typeset/tree/master/toolsJava 版本位

2012-12-17 12:56:04

新书预告:《Linux 多线程服务端编程:使用 muduo C++ 网络库》

看完了 W. Richard Stevens 的传世经典《UNIX 网络编程》, 能照着例子用 Sockets API 编写 echo 服务, 却仍然对稍微复杂一点的网络编程任务感到无从下手? 书中示例代码把业务逻辑和 Sockets 调用混在一起,似乎不利于将来扩展?网络编程中的遇到一些具体问题该怎么办?例如程序在本机测试正常,放到网络运行上就经常出现数据收不全的情况?TCP 协议真的有所谓的“

2012-09-21 07:11:15

博客专家

陈硕

@bnu_chenshuo
关注
奖章
  • 博客专家