<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[陈硕的Blog]]></title><description><![CDATA[吾尝终日而思矣，不如须臾之所学也。吾尝跂而望矣，不如登高之博见也。……君子生非异也，善假于物也。 @bnu_chenshuo]]></description><link>https://blog.csdn.net/Solstice</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Solstice]]></copyright><item><title><![CDATA[在知乎开了个专栏：网站可靠性工程（SRE）]]></title><link>https://blog.csdn.net/Solstice/article/details/51120376</link><guid>https://blog.csdn.net/Solstice/article/details/51120376</guid><author>Solstice</author><pubDate>Mon, 11 Apr 2016 11:40:30 +0800</pubDate><description><![CDATA[http://zhuanlan.zhihu.com/SREng]]></description><category></category></item><item><title><![CDATA[《Linux 多线程服务端编程》出了多看电子版，繁体版在台湾上市]]></title><link>https://blog.csdn.net/Solstice/article/details/45128679</link><guid>https://blog.csdn.net/Solstice/article/details/45128679</guid><author>Solstice</author><pubDate>Sun, 19 Apr 2015 14:09:10 +0800</pubDate><description><![CDATA[《Linux 多线程服务端编程》多看电子版：http://www.duokan.com/book/76600《Linux 多线程服务端编程》繁体版由佳魁資訊在台湾出版发行：http://www.books.com.tw/products/0010644288]]></description><category></category></item><item><title><![CDATA[在 Boolan 网开讲《Linux 网络编程实战》课程]]></title><link>https://blog.csdn.net/Solstice/article/details/41689615</link><guid>https://blog.csdn.net/Solstice/article/details/41689615</guid><author>Solstice</author><pubDate>Wed, 03 Dec 2014 01:47:02 +0800</pubDate><description><![CDATA[《网络编程实战》是一门以讲解实例为主的课程，每一节都讲一两个网络编程的例子程序，课程偏重 Linux 服务端 TCP 网络编程。  本课程要求听课人员已经读过《Unix 网络编程》，能写简单的 TCP echo 服务。     课程地址：http://boolan.com/course/4  配套页面：http://chenshuo.com/pnp]]></description><category></category></item><item><title><![CDATA[C1000k 新思路：用户态 TCP/IP 协议栈]]></title><link>https://blog.csdn.net/Solstice/article/details/26363901</link><guid>https://blog.csdn.net/Solstice/article/details/26363901</guid><author>Solstice</author><pubDate>Tue, 20 May 2014 14:13:43 +0800</pubDate><description><![CDATA[现在的服务器支撑上百万个并发 TCP 连接已经不是新闻。实现 C1000k 的常规做法是调整内核参数，提高文件数，降低每个连接的内存消耗。 在今年的 BSDCan2014 会议上， Patrick Kelsey 介绍了把 FreeBSD 9.x 的 TCP/IP 协议栈移植到了用户态，并用于 WANProxy 项目。在用户态运行 TCP/IP 协议栈意味着并发 TCP 连接不再占用系统文件数，只占内存，解决了 C1000k 的一大瓶颈，]]></description><category></category></item><item><title><![CDATA[我在知乎回答关于 Linux C++ 服务端编程的学习方法]]></title><link>https://blog.csdn.net/Solstice/article/details/18944959</link><guid>https://blog.csdn.net/Solstice/article/details/18944959</guid><author>Solstice</author><pubDate>Thu, 06 Feb 2014 02:22:00 +0800</pubDate><description><![CDATA[http://www.zhihu.com/question/22608820/answer/21968467]]></description><category></category></item><item><title><![CDATA[《Linux 多线程服务端编程：使用 muduo C++ 网络库》电子版上市]]></title><link>https://blog.csdn.net/Solstice/article/details/13997287</link><guid>https://blog.csdn.net/Solstice/article/details/13997287</guid><author>Solstice</author><pubDate>Fri, 01 Nov 2013 10:36:44 +0800</pubDate><description><![CDATA[《Linux 多线程服务端编程：使用 muduo C++ 网络库》 电子版已在京东上市销售。购买地址：http://e.jd.com/30149978.html阅读效果：PCiPad目前京东的阅读器没有切白边功能，值得改进。]]></description><category></category></item><item><title><![CDATA[C++面试中string类的一种正确简明的写法]]></title><link>https://blog.csdn.net/Solstice/article/details/12613275</link><guid>https://blog.csdn.net/Solstice/article/details/12613275</guid><author>Solstice</author><pubDate>Fri, 11 Oct 2013 11:08:50 +0800</pubDate><description><![CDATA[本文首发于酷壳网 http://coolshell.cn/articles/10478.html先说说程序员（应届生）面试的一般过程，一轮面试（面对一到两个面试官）一般是四、五十分钟，面试官会问两三个编程问题（通常是两大一小），因此留给每个编程题的时间只有 20 分钟。这 20 分钟不光是写代码，还要跟面试官讨论你的答案并解答提问，比如面试官拿过你的答案纸，问某一行代码如果修改会有什么后果。因此真]]></description><category></category></item><item><title><![CDATA[读者来信与解答 1]]></title><link>https://blog.csdn.net/Solstice/article/details/12564917</link><guid>https://blog.csdn.net/Solstice/article/details/12564917</guid><author>Solstice</author><pubDate>Thu, 10 Oct 2013 12:19:12 +0800</pubDate><description><![CDATA[读者来信用黑色，我的回答用蓝色。经过整理，接近对话体。> 陈硕，你好，>> 阅读了你的书，很有收获。> 但是没有在moduo的源代码里面找到实现线程模型11的例子。即one thread per loop + thread pool。> 谢谢。书第 173 页图 6-14 下面的第一段话，具体改动方法参考前一页的 diff。> 谢谢。>> 另外TcpConnection和Channel的生命周期管]]></description><category></category></item><item><title><![CDATA[用条件变量实现事件等待器的正确与错误做法]]></title><link>https://blog.csdn.net/Solstice/article/details/11432817</link><guid>https://blog.csdn.net/Solstice/article/details/11432817</guid><author>Solstice</author><pubDate>Mon, 09 Sep 2013 03:02:55 +0800</pubDate><description><![CDATA[前几天，我发了一条微博 http://weibo.com/1701018393/A7FrW7ZVd ，质疑某本书对 Pthreads 条件变量的封装是错的，因为它没有把 mutex 的 lock()/unlock() 函数暴露出来，导致无法实用。后来大家讨论的分歧是这个 cond class 是不是通用的条件变量封装，还是只是一个特殊的“事件等待器”。作为事件等待器，其实现也是错的，因为存在丢失事件的可能，可以算是初学者使用条件变量的典型错误。]]></description><category></category></item><item><title><![CDATA[赖勇浩：推荐《Linux 多线程服务器端编程》]]></title><link>https://blog.csdn.net/Solstice/article/details/10426531</link><guid>https://blog.csdn.net/Solstice/article/details/10426531</guid><author>Solstice</author><pubDate>Wed, 28 Aug 2013 09:03:13 +0800</pubDate><description><![CDATA[推荐《Linux 多线程服务器端编程》赖勇浩（http://laiyonghao.com）最近，有一位朋友因为工作需要，需要从网游的客户端编程转向服务器端编程，找我推荐一本书。我推荐了《Linux 多线程服务器端编程——使用 muduo C++ 网络库》给他，他在网上书店看了以后问我为什么推荐这么厚一本书给他，正好这本书我已经早就看完了，一直也想写篇“书评”，就在这里多扯几句。其实实在算不上书评，]]></description><category></category></item><item><title><![CDATA[用muduo实现memcached协议的例子]]></title><link>https://blog.csdn.net/Solstice/article/details/10044471</link><guid>https://blog.csdn.net/Solstice/article/details/10044471</guid><author>Solstice</author><pubDate>Sun, 18 Aug 2013 13:00:26 +0800</pubDate><description><![CDATA[用muduo实现memcached协议的例子最近花了两天时间用 muduo 部分实现了 memcached 服务器协议，代码位于 examples/memcached/server，能通过 memcached 的大部分测试用例（incr/decr 还没有实现）。这不是 memcached 的替代品（它没有实现LRU和超时功能，也没有实现二进制协议，更没有自己管理内存），而是一个网络编程的示例（代码]]></description><category></category></item><item><title><![CDATA[近期微博吐槽言论存档，涉及“性能优化”、C++陋习等]]></title><link>https://blog.csdn.net/Solstice/article/details/9923615</link><guid>https://blog.csdn.net/Solstice/article/details/9923615</guid><author>Solstice</author><pubDate>Mon, 12 Aug 2013 13:57:21 +0800</pubDate><description><![CDATA[写C++程序的几个陋习：class 名以大写 C 开头，例如 CDate；成员变量以 m_ 开头；变量采用匈牙利命名法；不知道何时禁用 copy-ctor/assign operator。有些人常常把“性能”挂在嘴边，而且其以“提高性能”为理由的“优化措施”往往不到点子上，只增加了复杂性和维护难度，降低了代码质量。这属于决策点找偏了。]]></description><category></category></item><item><title><![CDATA[《Linux多线程服务端编程：使用muduo C++网络库》上市半年重印两次，总印数达到了9000册]]></title><link>https://blog.csdn.net/Solstice/article/details/9352481</link><guid>https://blog.csdn.net/Solstice/article/details/9352481</guid><author>Solstice</author><pubDate>Wed, 17 Jul 2013 11:24:39 +0800</pubDate><description><![CDATA[摘要: 《Linux多线程服务端编程：使用muduo C++网络库》这本书自今年一月上市以来，半年之内已经重印两次（加上首印，一共是三次印刷），总印数达到了9000册，这在技术书里已经算是相当不错的成绩。 以下谈一谈这本书的写作背景与内容取舍的原因。]]></description><category></category></item><item><title><![CDATA[用 LaTeX 排版编程技术书籍的一些个人经验]]></title><link>https://blog.csdn.net/Solstice/article/details/8567865</link><guid>https://blog.csdn.net/Solstice/article/details/8567865</guid><author>Solstice</author><pubDate>Mon, 04 Feb 2013 03:55:14 +0800</pubDate><description><![CDATA[用 LaTeX 排版编程技术书籍的一些个人经验陈硕多年之前我写过一篇书评《〈Word 排版艺术〉读后感——兼谈与 LATEX 的比较》，其中写道“如果将来有时间，我把自己用 LATEX 排书的经验总结一下，让读者在阅读《Word排版艺术》的基础上，更容易地把知识应用到 LATEX 排版中去。” 我自己排版了 《Linux 线程服务端编程：使用 muduo C++ 网络库》，现在终于可以把账还上了。]]></description><category></category></item><item><title><![CDATA[为什么多线程读写 shared_ptr 要加锁？]]></title><link>https://blog.csdn.net/Solstice/article/details/8547547</link><guid>https://blog.csdn.net/Solstice/article/details/8547547</guid><author>Solstice</author><pubDate>Mon, 28 Jan 2013 05:13:55 +0800</pubDate><description><![CDATA[为什么多线程读写 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_]]></description><category></category></item><item><title><![CDATA[关于 std::set/std::map 的几个为什么]]></title><link>https://blog.csdn.net/Solstice/article/details/8521946</link><guid>https://blog.csdn.net/Solstice/article/details/8521946</guid><author>Solstice</author><pubDate>Sun, 20 Jan 2013 13:22:53 +0800</pubDate><description><![CDATA[陈硕 (chenshuo.com)2013-01-20std::set/std::map （以下用 std::map 代表） 是常用的关联式容器，也是 ADT（抽象数据类型）。也就是说，其接口（不是 OO 意义下的 interface）不仅规定了操作的功能，还规定了操作的复杂度（代价/cost）。例如 set::insert(iterator first, iterator last) 在通常情况]]></description><category></category></item><item><title><![CDATA[muduo多机协作网络编程示例一：单词计数及排序]]></title><link>https://blog.csdn.net/Solstice/article/details/8497475</link><guid>https://blog.csdn.net/Solstice/article/details/8497475</guid><author>Solstice</author><pubDate>Sun, 13 Jan 2013 03:59:54 +0800</pubDate><description><![CDATA[去年我写了《Muduo 网络编程示例》系列文章，这些文章已经收入《Linux 多线程服务端编程：使用 muduo C++ 网络库》一书。这些文章讲的基本都是运行在单机上的网络程序，每个例子都只有一个程序（第7.13节例外）。我接下来打算继续写几篇文章，谈一谈分布在多台机器上、协作发挥作用的网络编程例子。今天先讲第一个，单词计数及排序。单词计数（word count），顾名思义就是统计一个文本文件里]]></description><category></category></item><item><title><![CDATA[《Linux 多线程服务端编程：使用 muduo C++ 网络库》网上书店订购]]></title><link>https://blog.csdn.net/Solstice/article/details/8493251</link><guid>https://blog.csdn.net/Solstice/article/details/8493251</guid><author>Solstice</author><pubDate>Fri, 11 Jan 2013 12:43:50 +0800</pubDate><description><![CDATA[《Linux 多线程服务端编程：使用 muduo C++ 网络库》网上书店订购内容简介本书主要讲述采用现代 C++ 在 x86-64 Linux 上编写多线程 TCP 网络服务程序的主流常规技术，重点讲解一种适应性较强的多线程服务器的编程模型，即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高性能网络程序最成熟的模式，掌握之后可顺利地开发各类常见的]]></description><category></category></item><item><title><![CDATA[发布几个PDF小工具]]></title><link>https://blog.csdn.net/Solstice/article/details/8306916</link><guid>https://blog.csdn.net/Solstice/article/details/8306916</guid><author>Solstice</author><pubDate>Mon, 17 Dec 2012 12:56:04 +0800</pubDate><description><![CDATA[《Linux多线程服务端编程——使用muduo C++网络库》这本书是我自己用LaTeX排版的，在排版过程中也积累了一些小工具，今天把其中几个发布出来。这几个工具都直接基于开源的 iText 库，可从 http://itextpdf.com/ 下载。下载Groovy 版本位于 https://github.com/chenshuo/typeset/tree/master/toolsJava 版本位]]></description><category></category></item><item><title><![CDATA[新书预告：《Linux 多线程服务端编程：使用 muduo C++ 网络库》]]></title><link>https://blog.csdn.net/Solstice/article/details/8002532</link><guid>https://blog.csdn.net/Solstice/article/details/8002532</guid><author>Solstice</author><pubDate>Fri, 21 Sep 2012 07:11:15 +0800</pubDate><description><![CDATA[看完了 W. Richard Stevens 的传世经典《UNIX 网络编程》， 能照着例子用 Sockets API 编写 echo 服务， 却仍然对稍微复杂一点的网络编程任务感到无从下手？ 书中示例代码把业务逻辑和 Sockets 调用混在一起，似乎不利于将来扩展？网络编程中的遇到一些具体问题该怎么办？例如程序在本机测试正常，放到网络运行上就经常出现数据收不全的情况？TCP 协议真的有所谓的“]]></description><category></category></item></channel></rss>