<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[笔记本+学习园]]></title><description><![CDATA[A0617028]]></description><link>https://blog.youkuaiyun.com/netnote</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; netnote]]></copyright><item><title><![CDATA[close与shutdown]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/78838400</link><guid>https://blog.youkuaiyun.com/netnote/article/details/78838400</guid><author>netnote</author><pubDate>Tue, 19 Dec 2017 00:10:22 +0800</pubDate><description><![CDATA[close友好关闭：不唤醒阻塞在socket上的recv，如果连接上有数据到达，数据处理完（recv）后再发送FIN断连（不唤醒accept，此时还能处理连接请求？）
shutdown：唤醒recv，直接发送FIN。]]></description><category></category></item><item><title><![CDATA[证书]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/77758755</link><guid>https://blog.youkuaiyun.com/netnote/article/details/77758755</guid><author>netnote</author><pubDate>Thu, 31 Aug 2017 23:37:56 +0800</pubDate><description><![CDATA[私钥（密码保护） ->  自签名CA证书（有效期） 
                                                                                        |  签发
                                                                             ]]></description><category></category></item><item><title><![CDATA[gdb watch]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/71273462</link><guid>https://blog.youkuaiyun.com/netnote/article/details/71273462</guid><author>netnote</author><pubDate>Sat, 06 May 2017 17:30:30 +0800</pubDate><description><![CDATA[watch/rwatch/awatch 变量名/表达式/地址


1，watch数组名，会watch数组的所有元素
2，watch地址，只能用于word大小的数据，watch *(int*)0x1111
3，watch a[0] == 8 表达式的值发生变化时停住：a[0] == 8 变成 != 8 ？可用于观察变成特定值
4，watch打印其watch的表达式的值
5，watch变]]></description><category></category></item><item><title><![CDATA[shell脚本调试]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/71272528</link><guid>https://blog.youkuaiyun.com/netnote/article/details/71272528</guid><author>netnote</author><pubDate>Sat, 06 May 2017 16:57:03 +0800</pubDate><description><![CDATA[export PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: '


调试部分脚本：
set -x
.....
set +x]]></description><category></category></item><item><title><![CDATA[core文件生成时自动压缩]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/71272179</link><guid>https://blog.youkuaiyun.com/netnote/article/details/71272179</guid><author>netnote</author><pubDate>Sat, 06 May 2017 16:54:06 +0800</pubDate><description><![CDATA[写一个脚本：/usr/local/sbin/core_helper
内容：exec gzip -> /corefile/core-$1-$2-$3.gz"


修改 /proc/sys/kernel/core_patten为：
/usr/local/sbin/core_helper %e %p %t]]></description><category></category></item><item><title><![CDATA[多线程开发的一些基础知识]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/53268617</link><guid>https://blog.youkuaiyun.com/netnote/article/details/53268617</guid><author>netnote</author><pubDate>Mon, 21 Nov 2016 23:19:30 +0800</pubDate><description><![CDATA[原子操作、volatile、CC、SC、Data Race、False Sharing]]></description><category></category></item><item><title><![CDATA[版本向量（version vectors）]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/52193476</link><guid>https://blog.youkuaiyun.com/netnote/article/details/52193476</guid><author>netnote</author><pubDate>Fri, 12 Aug 2016 17:28:14 +0800</pubDate><description><![CDATA[分布式系统中通过记录各个节点对数据的修改历史，来比较数据新旧、发现修改冲突的办法。版本向量中的元素为（节点标识、逻辑修改时间）。
存在版本向量V1和V2，如果V1中所有节点的逻辑修改时间都不小于、且至少有一个大于V2中对应节点的逻辑修改时间，则V1比V2新。
例如系统中有两个节点N1、N2，开始时两个节点记录的数据项的版本都是V1((N1,10),(N2,20))，N1修改了数据，版本变成V2]]></description><category></category></item><item><title><![CDATA[CAP理论十二年回顾："规则"变了]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/52168047</link><guid>https://blog.youkuaiyun.com/netnote/article/details/52168047</guid><author>netnote</author><pubDate>Wed, 10 Aug 2016 09:01:35 +0800</pubDate><description><![CDATA[大师级作品，CAP相关设计可以照着做了！

原文地址：http://www.infoq.com/cn/articles/cap-twelve-years-later-how-the-rules-have-changed/




编者按：由InfoQ主办的全球架构师峰会将于2012年8月10日-12日在深圳举行，为了更好地诠释架构的意义、方法和实践，InfoQ中文站近期会集中发布一批]]></description><category></category></item><item><title><![CDATA[设计的臭味]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/38834633</link><guid>https://blog.youkuaiyun.com/netnote/article/details/38834633</guid><author>netnote</author><pubDate>Tue, 26 Aug 2014 00:35:06 +0800</pubDate><description><![CDATA[僵化：改动会引起连锁改动，变更范围大；]]></description><category></category></item><item><title><![CDATA[popen内存不足问题解决办法]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/7875072</link><guid>https://blog.youkuaiyun.com/netnote/article/details/7875072</guid><author>netnote</author><pubDate>Thu, 16 Aug 2012 21:26:57 +0800</pubDate><description><![CDATA[执行popen时报enomem错误


# 修改内核参数中的内存限制
sysctl -w vm.overcommit_memory=1]]></description><category></category></item><item><title><![CDATA[shell与socket]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/7040532</link><guid>https://blog.youkuaiyun.com/netnote/article/details/7040532</guid><author>netnote</author><pubDate>Mon, 05 Dec 2011 00:50:54 +0800</pubDate><description><![CDATA[参考 http://www.lslnet.com/linux/dosc1/54/linux-360985.htm




exec 3
echo 'GET /index.html' >&3
cat]]></description><category></category></item><item><title><![CDATA[linux动态IP与静态IP]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6687209</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6687209</guid><author>netnote</author><pubDate>Mon, 15 Aug 2011 03:04:28 +0800</pubDate><description><![CDATA[Linux下的IP地址类型分为“动态IP”和“静态IP”，动态IP在机器发生重启时会自动清除，而静态IP会一直绑定。
静态IP的设置方式：通过GUI工具设置或在/etc/sysconfig/network-scripts下创建文件ifcfg-eth0:1，文件内容为：
DEV]]></description><category></category></item><item><title><![CDATA[我的Emacs配置文件]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6687183</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6687183</guid><author>netnote</author><pubDate>Mon, 15 Aug 2011 01:42:53 +0800</pubDate><description><![CDATA[;;;;;;;;;;;;;;global;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;(setq visible-bell t);关闭出错时的蜂鸣提示声
(mouse-avoidance-mode'animate);当鼠标箭头与光标相近时，使鼠标箭头自动移开]]></description><category></category></item><item><title><![CDATA[CUNIT与gcov]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6666035</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6666035</guid><author>netnote</author><pubDate>Sat, 06 Aug 2011 23:24:40 +0800</pubDate><description><![CDATA[执行cunit程序，生成xxxx-Listing.xml、xxxx-Results.xml两个xml文件，将他们与CUnit-Run.xsl、CUnit-List.xsl、Memory-Dump.xsl等（/usr/local/share/CUnit/）放到同一个目录下，这样可以]]></description><category></category></item><item><title><![CDATA[Cppunit基础（2） --基于VC]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6664393</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6664393</guid><author>netnote</author><pubDate>Fri, 05 Aug 2011 23:01:28 +0800</pubDate><description><![CDATA[TestCase，单个测试用例，自定义测试类的父类；
TestSuit，一组测试用例，由TestCase组成；
 
编写的基本步骤：
1，新建工程，设置RTTI及多线程lib，添加需要的lib，如cppunitd.lib TestRunnerd.lib
 
2，从Cp]]></description><category></category></item><item><title><![CDATA[ACE Timer依赖OS时间的解决办法]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6639074</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6639074</guid><author>netnote</author><pubDate>Wed, 27 Jul 2011 20:43:13 +0800</pubDate><description><![CDATA[ACE默认的时钟实现依赖操作系统时钟（ACE_OS::gettimeofday），例如改小系统时间会造成时钟触发延时。该问题可通过修改timer_queue的gettimeofday函数来解决。网上提及的一种办法是使用ACE_High_Res_Timer::gettimeofda]]></description><category></category></item><item><title><![CDATA[ace超时代码]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6621339</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6621339</guid><author>netnote</author><pubDate>Wed, 20 Jul 2011 22:24:20 +0800</pubDate><description><![CDATA[#include #include #include "ace/Timer_Queue_Adapters.h"#include "ace/Event_Handler.h"#include "ace/Timer_Wheel.h"#include "ace/reactor.h"#in]]></description><category></category></item><item><title><![CDATA[一个Posix线程死锁问题的定位]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6610753</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6610753</guid><author>netnote</author><pubDate>Sat, 16 Jul 2011 15:31:01 +0800</pubDate><description><![CDATA[gdb跟进去发现两个线程都堵死在读写锁写锁申请上，共4个线程，其他两个线程在sleep与select，做些不相关的工作。锁内容是：$1 = {__data = {__lock = 0, __nr_readers = 4294967295, __readers_wakeup = 0]]></description><category></category></item><item><title><![CDATA[Wubi安装ubuntu时报错]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6411280</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6411280</guid><author>netnote</author><pubDate>Wed, 11 May 2011 10:58:00 +0800</pubDate><description><![CDATA[使用ubuntu liveUSB中的Wubi，在Windows下安装，报错“Permission denied: u'D://ubuntu//install//ubuntu-11.04-desktop-amd64.iso'”。将liveCD的iso文件copy到wubi同目录下解决。

参考https://answers.launchpad.net/wubi/+question/156922及https://wiki.ubuntu.com/WubiGuide]]></description><category></category></item><item><title><![CDATA[Fedora 14安装Dropbox]]></title><link>https://blog.youkuaiyun.com/netnote/article/details/6341526</link><guid>https://blog.youkuaiyun.com/netnote/article/details/6341526</guid><author>netnote</author><pubDate>Fri, 22 Apr 2011 14:02:00 +0800</pubDate><description><![CDATA[下载安装包nautilus-dropbox-0.6.7-1.fedora.i386.rpm与dropbox-lnx.x86-1.1.24.tar.gz。安装*.rpm，然后解压dropbox-lnx.x86-1.1.24.tar.gz置于home目录下即可。参考http://freedomhui.com/?p=149，《Dropbox for ubuntu无法安装》]]></description><category></category></item></channel></rss>