自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Chinainvent的专栏

我没有特别的才华,只有炽热的好奇心 ——爱因斯坦

  • 博客(149)
  • 资源 (5)
  • 论坛 (1)
  • 收藏
  • 关注

原创 TCP的TIME_WAIT和CLOSE_TIME

主动关闭方,进入TIME_WAIT;被动关闭方,进入CLOSE_WAIT。Listen端主动关闭进入TIME_WAIT状态,则Listent的Server能够立即接收同一个四元组的连接,通常没任何害处。Client端主动关闭进入TIME_WAIT状态,该Client无法使用同一个local端口连接同一个Server端,但这通常也不会带来坏处,因为Client端通常使用随机的端口。假如Nginx即作

2014-11-04 21:18:44 1797

原创 深入理解debuginfo

深入理解debuginfo@Chinainvent一、关于debuginfo的疑惑二、debuginfo中包含了什么信息?三、debuginfo是如何创建出来的?四、a.out.debug里有什么内容?五、在代码中生成Marker探针六、参考文献一、关于debuginfo的疑惑程序员应该都知道,为了能够使用gdb跟踪程序,需要在编译期使用gcc的-g选项。而对于系统库或是Linux内核,使用g

2014-04-19 19:26:37 17499 1

原创 无锁化编程-基础篇

2014-04-19 19:22:02 2602 1

原创 「杀不掉的」僵尸(zombie)进程

「杀不掉的」僵尸(zombie)进程淘仇恕(张云开)感谢淘宝内核组的帮助,Google Drive原文Linux的进程,有以下几种状态(摘自本文):StateDescriptionDUninterruptible sleep (usually IO)RRunning or runnable (on run queue)SInterruptible sleep (waiting for an eve

2013-10-16 22:46:11 5456 5

原创 TrafficServer日志系统配置指南

TrafficServer日志系统配置指南淘仇恕(张云开)原文放在Google Doc里,这里只做镜像不更新一、TS日志系统简介在中大规模的软件系统中,日志系统(logging system),已经成为标配。Linux有syslog,Java有Log4j,Python有logging模块。日志系统的模型,已经非常成熟,大体如下图所示:概括地说,就是日志系统里,允许配置多个日志对象(LogObjec

2013-09-10 16:06:20 5591

原创 How to use reclaimable freelist

How to use reclaimable freelist原文链接SummaryThe default memory pool in TrafficServer(abbr. TS) is not reclaimable, as a result, TS will consume more and more memory which may lead to OOM.In order to fix

2013-02-05 02:07:58 1690

原创 让Xfce的系统菜单悬浮在屏幕最上层

让Xfce的系统菜单悬浮在屏幕最上层为什么需要悬浮首先声明,我异常痛恨系统菜单(英文叫Panel)。作为极简主义者,屏幕的每一寸空间都是宝贵的。而系统菜单,竟然占据了屏幕的一条边带,形如下图右下角那个Panel,尽管我已经把上面的图标缩小到了四个:有同学会说,那可以把它设置为自动隐藏!可是,当我把它设为自动隐藏后,我就无法看到Pidgin上是否有消息闪烁,在工作中我使用的是公司内部的即时通信工具,

2012-12-20 16:12:34 7482

原创 TrafficServer内存分配器优化

TrafficServer内存分配器优化淘仇恕(张云开)为方便不能翻墙的同学,在这里放一份,原文及未来的更新见Google Drive链接TS分配器简介TrafficServer(简称TS)的内存分配器,在代码里的入口函数为ink_freelist_new/ink_freelist_free,与传统的malloc/free对应。另外还有一个初始化函数:ink_freelist_init,用于设定内

2012-11-30 13:31:41 5670 1

原创 通过Key查找Volume的相关过程分析

TS把若干个物理硬盘、目录(通过storeage.config描述),视为一个大的逻辑盘。并把这个逻辑盘,切分为若干个逻辑卷(通过volume.config描述)。当一个请求过来,这个请求的URL等信息,将被计算出一个md5值,而key则是这个md5值的一个函数:key = fun(md5)。TS需要为每一个请求,关联到一个逻辑卷,以便从这个逻辑卷访问Cache内容。这个过程,就是通过key查找V

2012-10-15 16:53:38 1750

原创 Linux下,支付宝安全控件失效,解决方法

支付宝安全控件,aliedit.sh,下载页面在此。我的系统是Fedora17-64bit,安装了多次,安全控件一直没生效。后来联系了作者:Longda Feng,zhongyan.feng@alipay.com。他提供了解决方法,见其博文。他同时表示,已经调到其他岗位,aliedit.sh已处于无人维护状态。希望支付宝能有人维护起来,只需要检查一下库依赖,工作量不大,但此事影响支付宝在Linux

2012-06-07 22:04:37 3258 1

原创 日志系统的设计模式

从事服务器程序开发的工程师们,几乎不可避免地需要使用到日志系统(Logging System)。如果从头开发一个服务器程序,我们有若干开源的日志系统可供选择,例如:Java语言中,Log4j是个不错的选择;Python语言中,有logging类;C语言中,有:Log4c、libqb等。这些开源的日志系统,几乎都使用到相同的设计模式,不同之处在于实现语言、实现方法,以及附加的一些额外功能。今天,我想

2012-01-06 17:49:31 10054

原创 Totem协议(SRP/RRP)讲解PPT

2011-11-18 13:56:39 3131

原创 安装配置MySQL笔记

通过yum安装mysql命令行客户端、mysql服务器$ sudo yum -y install mysql mysql-server 修改/etc/my.conf,设置mysql和mysqld的默认字符集为utf8 [yunkai@alibaba /etc]$ diff -u my.cnf.org my.cnf--- my.cnf.org 2011-04-04 14:37:44.912465981 +0800+++ my.cnf 2011-04-04 14:41:20.12546598

2011-04-04 15:19:00 2514 1

原创 VirtualBox,使用NAT模式,从host访问guest的服务

<br />NAT模式,是VirtualBox虚拟机的默认网络模式。NAT模式有一个好处,就是guest可以访问外网,又不必多占一个局域网的IP。<br /> <br />VirtualBox是如何实现NAT模式的呢?其实质就是转发。从guest发出的网络数据帧,先被VirtualBox的NAT引擎接收,NAT引擎把这些TCP/IP的数据解包,再通过host发送到host上的某个应用程序或是与host在同一个网络上的另一台机器。看起来,就像这些数据是从host上的某个应用程序发出的——使用host自身的IP

2011-03-09 15:38:00 6673 3

原创 LKD 3rd 读书笔记——第1章/Linux Kernel Versions

<br />Linux Kernel Versions<br />Linux内核有两种口味:稳定版和开发版。稳定版是产品级的发行版,适合大范围地布署。发布新的稳定版内核,通常只是为了修复Bug或支持新的驱动。与此不同的是,几乎任何变化都会带来开发版的版本变化。当开发者尝试新的解决方案时,内核代码基的变动通常是剧烈地。<br /> <br />Linux内核使用简单的命名体系来区分稳定版和开发版(见Figure 1.2)。Linux内核的版本号由三个或四个用圆点分隔的数字组成。第一个数字是主发行号,第二个是次

2011-03-04 18:03:00 1485

原创 LKD 3rd 读书笔记——第1章/Linux Versus Classic Unix Kernels

<br />Linux Versus Classic Unic Kernels <br />由于具有共同的祖先和相同的API,现代的Unix内核有很多共同的设计特点。没有任何意外,Unix通常是一个完整的、静态的二进制文件(聚内核)。这是指,它是一个运行在单个地址空间的单独的大的可执行镜像文件。Unix系统通过需要可分页的内存管理单元(MMU),这个硬件帮助系统加强内存保护并向每个进程提供单独虚拟地址空间。Linux历史上也需要MMU,但特殊的版本也可以运行在没有MMU的硬件环境上。这是一个巧妙的特性,

2011-02-28 18:19:00 1233 3

原创 LKD 3rd 读书笔记——第1章/Overview of Operating System and Kernels

<br />Overview of Operating Systems and Kernels<br />由于操作系统的特性不断地增长,加上某些商业操作系统的不合理设计,导致操作系统的准确概念不被世人所知。很多用户认为他们在屏幕上所看到的部分,就是操作系统。从技术的角度,在本书中,操作系统是指负责整个系统的基本操作和管理的部分。包括:内核、设备驱动程序、引导程序、命令Shell、其他用户接口以及基本的文件和系统工具。而系统则是操作系统和运行在其之上的所有应用程序:<br />系统 = 操作系统 + 应用程序

2011-02-26 23:31:00 1309

原创 LKD 3rd 读书笔记——第1章/History of Linux

<br />Along Came Linus: Introduction to Linux<br />Linus Torvalds在1991年发布了Linux的第一个版本,这个版本的Linux只能运行在Intel 80386 处理器上,这种CPU在当时是新锐的处理器。Linus当时还是Helsinki大学(Helsinki是芬兰的首都名称)的一名学生,他常为没有一个强大而且免费的Unix操作系统而烦恼。当时主流的个人计算机操作系统是微软的DOS系统,对Torvalds而言,除了用它来玩波斯王子这种游戏外,这

2011-02-25 00:09:00 43

原创 LKD 3rd 读书笔记——第1章/History of Unix

<br />本章把Linux放在Unix的历史背景下进行介绍,因为Unix有长达40年的历史,在理解Linux之前,让我们先来了解一下Unix系统。<br /> <br />(因为喜欢这段历史,几乎相当于原文翻译下来了,希望读者们喜欢)<br /> <br />History of Unix<br />第一个Unix操作系统,创建于1969年,它的设计经历了40多年的检验,至今仍然是最强大、最优雅的操作系统之一。它的发明者是Dennis Ritchie(也是C语言的创始人)和Ken Thompson(也是C

2011-02-23 17:44:00 1125

原创 LKD 3rd 读书笔记——Preface

<br />在2004年的linux开发者年会上,大会决定继续开发和巩固2.6系列的Linux内核,在较长的一段时间内不会推出2.7系列的内核版本。这是作者决定更新本书到第三版的重要原因之一。当然,另一个原因是,从本书的第二版到第三版期间,Linux内核也有了比较大的发展,本书反映了这些变化,进行了修订、更新,增加了一些章节,总的而言第三版显得更优雅了。<br /> <br />Using This Book<br />开发Linux内核,并不需要拥有天才的、魔力的、或是老练的Unix黑客那样的脑袋。内核与

2011-02-23 13:57:00 1265

原创 LKD 3rd 读书笔记——开篇语

<br />Linux Kernel Development(简记为LKD)是Linux内核的入门经典,已经更新到了第三版,作者是拥有15年以上内核开发经验的Robert Love,他目前是Google的资深软件工程师,作者的更多信息会在下一篇介绍。<br /> <br />LKD致力于讲解内核的原理与实现——既涉及原理又涉及实现,并在两者间找到一个平衡,以引导读者快速的理解内核,而不必纠缠于过多的细节。因此,它与大学里讲解操作系统原理的书籍不一样,它并非纯理论,而是基于Linux这个实实在在的内核,来讲解

2011-02-23 01:04:00 2034 2

原创 C语言头文件、库文件的查找路径

一、讨论环境<br />*操作系统:Redhat5/Fedora14<br />*编译器:gcc4.5.1<br />以下言论仅确保在以上环境中适用。别的环境,大家可以通过类比方法,得到启示。<br /><br />二、C语言头文件的查找路径<br />C语言,使用include指令,包含头文件,但又细分两种形式:1、形式一:#include“file1”<br />gcc先在当前目录(指包含本条#include指令的源文件所在的目录)寻找file1,如果找不到,继续在由-iquote选项(如果有的

2010-11-21 13:28:00 6987

原创 为什么喜欢Google Chrome

<br />1、界面简洁、淡雅<br />  简洁即美,用户的屏幕非常珍贵,为用户节省屏幕空间,让用户把视觉集中在网页上,而不是被过份装饰的边框挡着,用户会心存感激。<br />  Chrome的界面设计,与IPhone只有一个按钮的设计哲学,不谋合而。也可以说沿袭了Google搜索引擎的设计理念:“让人们进来,然后尽早离开”——对浏览器而言,对一切工具软件而言,可以理解为,尽量不要让用户把过多的视线、精力放在工具的外壳上。<br /><br />2、速度快,非常快<br />  1)、Google的Jav

2010-11-17 17:05:00 1218 1

原创 Fedora14即将发布,新增以下特性

<br />Fedora14即将发布,如果不出任何意外的,将于格林尼治时间2010年11月2号发布(北京时间在东八区,比格林尼治时间快八小时)。<br /> <br />Fedora14新增特性如下:<br />*C++的Boost库,更新到1.44。<br />*集成了D语言的编程器(LDC)及其运行库(Tango)。<br />*Fedora14可以运行在Amazon的EC2云平台上。<br />*Eclipse升级到Helios版本。<br />*Erlang升级R14版本。<br />*使用索引技术

2010-11-01 00:20:00 1054

转载 sed笔记

sed笔记

2010-08-19 19:51:00 915

原创 curl+个人证书(又叫客户端证书)访问https站点

目前,大公司的OA管理系统(俗称内网),安全性要求较高,通常采用https的双向认证模式。

2010-07-30 10:41:00 28275 1

原创 使用go语言访问MySQL

使用go语言访问MySQL

2010-06-30 23:03:00 6762 1

转载 Install Sun JDK on Fedora/Redhat[收藏]

1. Download Sun Java JDK or JRE Download Sun Java JDK or JRE from here (current version is JDK 6 Update 20)http://java.sun.com/javase/downloads/index.jsp.Note: you can Skip login step.Download rpm.bin package (example jdk-6u20-linux-i586-rpm.bin).2. Change

2010-05-31 18:03:00 1717

原创 1分钟制作fedora启动U盘,成功安装fedora13

fedora13已经发布了近一周。在其发布的第一天,我就迫不急待的下截了LiveCD及DVD两个版本的ISO文件,计划当晚就它安装在我的本本上。 可惜,硬盘安装受挫,由于当时工作缠身,所以最终妥协了,今天终于得以再次偿试,仍然失败鸟... 不过,非常庆幸的是,今天学会了更简便的安装方法——自制启动U盘。制作过程相当简单,只要你拥有一个1G的U盘。制作的步聚如下(英文好的同学,请直接

2010-05-30 18:28:00 7748 1

原创 把gbk的编码按utf-8来解码,可能导致的不可恢复的错误

上一遍文章:http://blog.csdn.net/chinainvent/archive/2010/05/02/5550438.aspx 提到,utf-8使用三个字节来表示一个汉字(更准确的说,是使用三个字节来表示unicode内码为2048至65535的文字)。 那么,这带来了一个问题。当utf-8使用三个字节来表示一个汉字时,它要求这三个字节的格式为:1110yyyy 10yy

2010-05-02 19:24:00 3849 1

原创 gbk, unicode, utf-8的关系

网上已经有很多文章解析这三者的关系,可惜看了之后仍然似懂非懂,原因在于大部分文章都偏重理论的解释,而缺少真枪真刀的例子。本文力求以一个短小精干的实例,试图解析这三者的关系。 任何文字,它在盘磁上,都是若干个0、1的组合。同一个文字,在不同的编码规范中,它的0、1组合可能是不一样的。例如,“我”字的三种编码如下: gbk:           0xCE 0xD2unicode

2010-05-02 18:02:00 2730 3

原创 Linux google-chrome 导入证书

Linux版的google-chrome,为了"不重造轮子",使用第三方工具进行证书的验证。方法如下:先决条件:安装好第三方的证书管理工具:yum install nss-tools第一、从https网站,导出CA证书,方法参考:http://blog.avirtualhome.com/2010/02/02/adding-ssl-certificates-to-google-chrom

2010-04-15 20:30:00 17558 1

原创 教你关闭google.com.hk的“安全搜索”功能

google.com.hk简体中文版的搜索页,默认开启了“安全搜索”功能,会对关键词进行过滤:而且,细心的你会发现,根本找不到关闭此功能的选项。是的,目前简体中文版的搜索页,不提供这种功能,这当然是google担心激怒我朝的一种变通做法。不过,没关系,繁体中文版的搜索页,是可以关闭的。方法如下:1、先改变google.com.hk的默认搜索语言为“繁体中文”

2010-03-25 14:06:00 11618 3

原创 fedora、redhat默认系统语言的修改方法

一、在shell下,执行export:...declare -x LANG="en_US"...这个LANE环境变量,就是我们希望去修改的,但是在哪里修改,比较合适呢? 二、使用man bash:When bash is invoked as an interactive login shell, or as a non-interactive shell with t

2010-02-01 11:06:00 9260

原创 tcpdump的输出分析

以前在TCP卷一里,看到过tcpdump的使用。当时,没太在意,尤其它输出的格式,因为不熟悉,更不愿去用它。这段时间的开发,用socket比较多。在遇到问题时,仅从socket api函数的返回值,往往看不出问题的实质。后来,经laser提醒,才知道tcpdump的强大。这里不想介绍tcpdump的选项,我只想举一些实例,以便给自己作个笔记。使用以下命令,监听15001端口的tcp连接,-

2010-01-11 21:39:00 17466 3

原创 把消息长度写到消息包中

今天在SOCKET编程时,遇到一个问题。通常SOCKET的消息包中,需要包含一个长度字段,这个字段存放整个消息包的字节数。如果消息包采用字符串格式,这个描述长度的字段本身就是一个可变的字符串,它的位数会影响到消息包的长度。例如,我们定义了如下的消息包格式: # msg_len , msg_content $这个消息包的格式,非常简单,首先以#字符开头,然后是

2010-01-09 02:20:00 1151 2

转载 概要设计与详细设计的区别与联系

 软件设计采用自顶向下、逐次功能展开的设计方法,首先完成总体设计,然后完成各有机组成部分的设计。     根据工作性质和内容的不同,软件设计分为概要设计和详细设计。概要设计实现软件的总体设计、模块划分、用户界面设计、数据库设计等等;详细设计则根据概要设计所做的模块划分,实现各模块的算法设计,实现用户界面设计、数据结构设计的细化,等等。

2009-12-28 16:21:00 930 2

原创 从硬盘上安装Fedora12

一、引言Fedora12的liveCD:Fedora-12-i686-Live.iso,至今未硬盘安装成功。在引导过程中,报此类错误:[drm: drm_mode_rmfb] tried to remove a fb that we didnt own无奈之下,只好下载Fedora12的DVD版:Fedora12-i386-DVD.iso 文件比较大,2G多一些。

2009-12-09 20:19:00 2793

原创 Fedora11的五个最佳特性

引言: 本文翻译自国外一篇科技博客《Fedora 11s best five features》,版权归原作者Steven J. Vaughan-Nichols所有。 正文:   Fedora, 红帽的社区版Linux的发布日期,已经被延期,最早要到下周的6月2号(事实表明,又推迟到9号)。但它的发布候选版已经看起来非常优秀。   从最后的beta版在四月中旬发布,我就开始使用Fedora 11

2009-06-05 03:36:00 67 1

原创 在fedora上安装万能五笔

用ubuntu一段时间了,今天又在VirtulBox上装了fedora10,没办法,好奇心挡不住。目的,就是想比较一下,到底哪个更适合自己,毕竟oracle官方上不支持ubuntu,让我心里一直不太好受,我只是希望找一个稳定成熟,开发方便的系统,还有一个原因是我昨天在redhat的网站上,下了一个系统参考手册,感觉他们的文档很全面,当然我不是对ubuntu有意见,准确说是ubuntu让我对linu

2009-03-29 20:54:00 2545

Head First Design Patterns Part5, 纯英文,非扫描,辛苦地发掘自国外技术论坛

绝对值得收藏,目前用google baidu搜索引擎很难找到,我也是被逼才到国外论坛苦苦寻找<br><br>我已经快没有资源分了,但为了方便其他非CSDN的朋友,<br>出于共享精神,免费!

2007-12-25

Head First Design Patterns Part4, 纯英文,非扫描,辛苦地发掘自国外技术论坛

绝对值得收藏,目前用google baidu搜索引擎很难找到,我也是被逼才到国外论坛苦苦寻找<br><br>我已经快没有资源分了,但为了方便其他非CSDN的朋友,<br>出于共享精神,免费!

2007-12-25

Head First Design Patterns Part3, 纯英文,非扫描,辛苦地发掘自国外技术论坛

绝对值得收藏,目前用google baidu搜索引擎很难找到,我也是被逼才到国外论坛苦苦寻找 我已经快没有资源分了,但为了方便其他非CSDN的朋友, 出于共享精神,免费!

2007-12-25

Head First Design Patterns Part2, 纯英文,非扫描,辛苦地发掘自国外技术论坛

绝对值得收藏,目前用google baidu搜索引擎很难找到,我也是被逼才到国外论坛苦苦寻找 我已经快没有资源分了,但为了方便其他非CSDN的朋友, 出于共享精神,免费!

2007-12-25

Head First Design Patterns Part2, 纯英文,非扫描,辛苦地发掘自国外技术论坛

绝对值得收藏,目前用google baidu搜索引擎很难找到,我也是被逼才到国外论坛苦苦寻找 我已经快没有资源分了,但为了方便其他非CSDN的朋友, 出于共享精神,免费!

2007-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除