18 陈硕

尚未进行身份认证

@bnu_chenshuo

等级
博文 150
排名 457

在知乎开了个专栏:网站可靠性工程(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网络编程》,能写简单的TCPecho服务。 课程地址:http://boolan.com/course/4配套页面:http://chenshuo.com/pnp

2014-12-03 01:47:02

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

现在的服务器支撑上百万个并发TCP连接已经不是新闻。实现C1000k的常规做法是调整内核参数,提高文件数,降低每个连接的内存消耗。在今年的BSDCan2014会议上,PatrickKelsey介绍了把FreeBSD9.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多线程服务端编程:使用muduoC++网络库》电子版已在京东上市销售。购买地址: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的例子。即onethreadperloop+threadpool。>谢谢。书第173页图6-14下面的第一段话,具体改动方法参考前一页的diff。>谢谢。>>另外TcpConnection和Channel的生命周期管

2013-10-10 12:19:12

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

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

2013-09-09 03:02:55

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

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

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/assignoperator。有些人常常把“性能”挂在嘴边,而且其以“提高性能”为理由的“优化措施”往往不到点子上,只增加了复杂性和维护难度,降低了代码质量。这属于决策点找偏了。

2013-08-12 13:57:21

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

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

2013-07-17 11:24:39

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

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

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多线程服务端编程:使用muduoC++网络库》第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(iteratorfirst,iteratorlast)在通常情况

2013-01-20 13:22:53

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

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

2013-01-13 03:59:54

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

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

2013-01-11 12:43:50

发布几个PDF小工具

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

2012-12-17 12:56:04

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

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

2012-09-21 07:11:15
奖章
    暂无奖章