自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

plusboy的专栏

享受开源文化,体验无限自由

  • 博客(30)
  • 收藏
  • 关注

原创 清除8.1515.net自动设置为主页的方法

1、找到如下文件,把它们删除掉c:/documents and settings/user/application data/microsoft/internet explorer/quick launch/Internet Explorer.lnk c:/documents and settings/user/start menu/programs/Internet Explorer.lnk c

2009-05-01 11:02:00 2148

原创 巧用find命令管理文件名为乱码的文件

巧用find命令管理文件名为乱码的文件 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了。但是我们知道每个文件都有一个i节点号,我们可以考虑通过i节点号来管理文件。首先,我们要取得文件的i节点号。这个可以通过ls命令的-i选项获得得。-bash-3.00$ ls -i41697812 a     32983551 di      329

2007-09-16 23:15:00 1612

原创 bash shell的几个配置文件的作用

bash shell的几个配置文件的作用/etc/profile为用户设置环境信息。用户第一次登录时,执行该文件。/etc/profile设置用户的PATH、HISTSIZE、HISTFILESIZE等环境变量的值。最后从/etc/profile.d目录中搜集shell的设置信息。~/.bash_profile配置用户自己的shell信息,用户登录时执行该文件设置环境变量,并由该文件执行~

2007-09-16 00:34:00 1216

原创 bash shell的执行过程

bash shell的执行过程1、检查/etc/profile文件是否存在,如果存在,bash就读取该文件,否则跳过。2、检查~/.bash_profile文件是否存在,如果存在就读取该文件,否则跳过。3、检查~/.bash_login文件是否存在,如果存在就读取该文件,否则跳过。4、检查~/.profile文件是否存在,如果存在就读取该文件,否则跳过。5、显示提示符。

2007-09-16 00:18:00 1433

原创 程序中的数据在内存中的布局

程序中的数据在内存中的布局.bss和.data段是专用来存储全局变量的,在编译其间分配地址空间。.data包含静态的己初始化的数据,而.bss包含未初妈化的数据。.text段包含程序指令和和很多只读数据。一个进程在内存中的数据组织如下图+-------------------+  high address|    env strings    |+-------------------

2007-09-14 21:01:00 1751

原创 linux文件搜索查找命令

linux文件搜索查找命令1、grep功能描述grep 命令在一个或多个文件中查找与指定模式匹配的字符串。如果模式里包含有空格,必须用引号括起来。grep的模式只能是一个被引号括起来的字符串或者是一个单词,后面紧跟着的参数都被当作文件名。grep命令把结果输出到标准输出上,并不改变被搜索的源文件。命令格式grep pattern filename filename2 ...grep

2007-09-14 20:41:00 14183 2

原创 unix文件管理命令

unix文件管理命令unix系统提供了很多命令用于管理文件和目录。它们以简单的方式完成各种特定的任务,比如删除符合指定条件的文件,重命名某些文件。下面是一些常用到的命令。1、lsls是一个使用频率非常高的命令,它指指定目录的内容输出到标准输出,如果没有指定目录则输出当前工作目录的内容。如下图:-bash-3.00$ lsdi  di.c  ethnet  ethnet.c  ethne

2007-09-13 19:53:00 5121

原创 linux网络编程基础

linux网络编程基础首先,什么是socket?socket是计算机用于与网络上的其它计算机进行通信的一个接口,它就像是电源插线板上的插口一样,用电电器想要获得电源,就必须要有个插头连接到插线板上的插口。同样,计算机要想获得一个网络连接就得建立一个socket。下面是一些在建立一个socket时常的函数:socket()  ---  用来创建一个socket接口例:sock = soc

2007-09-12 20:56:00 1538

转载 让你薪酬迅速翻倍的13条跳槽原则(zz)

 来源:中国经济网   首先,真正的高级人才是不用找工作的,因为只有被工作找的份。  但是,难免有些高级人才厌倦了旧的工作环境,或者遇到天花板,没有了发展空间,或者遇到新老板上任后排除异己来提拔自己的亲信等等,如果您真打算自己去找工作,那么至少需注意以下几点:  1.网上求职尤其需注意那些一天到晚在网上打招聘广告的公司。

2007-08-25 21:44:00 906

原创 Linux下JBoss到MySql的数据源配置

一、安装jdk并设置好JAVA_HOME,CLASSPATH等环境变量二、给JBoss配置MySql数据源下面的JBOSS_HOME是指JBoss的安装路径,比如/usr/local/jboss1、把MySql的驱动拷到JBoss的$JBOSS_HOME/server/default/lib目录下,并把它加入到CLASSPATH环境变量中。   比如MySql驱动是mysql-connector-

2007-07-27 17:58:00 2868

转载 唐僧在如来面前吐真言

唐僧在如来面前吐真言唐僧西天取得真经100年之后的一天,唐僧到如来家里做客。如来为了检验他这100年来修炼程度,席间谈话如下:众 所周知,你当年的成功,离不开你的三个得力徒弟,悟空,八戒,沙僧。那么你本人最喜欢哪个徒弟呢?唐僧给的答案多少有些出乎如来的意料,那就是:八戒。 “八戒最大的优点就是可爱。”唐僧满面笑容的说道,“有他就少不了笑声。有很多人误以为他懒惰,其实他并不懒惰。

2007-07-17 14:28:00 757

转载 关于薪金的二十五条建议

大学毕业找工作的时候一位校友发给我的文章,具体作者是谁不清楚了。感谢原作者。从您与任何一个您愿意为之工作的公司或组织开始接触的那一刻起,您就开始谈判了。  推迟所有有关薪金的讨论,直到这一问题已经被摆上桌面。  一旦公司主动开出了薪金条件,您就处在了最有利的谈判地位。  认识自己的价值。您必须清楚您能为组织做出多大贡献。并且要让招聘人员认同您的价值。  让雇主对您产生兴趣,这样他们会更加慷慨大方。

2007-07-13 17:58:00 1204 1

原创 今天,我工作满三年了

        到今天,我离校工作满三年了,这三年来,经历了很多曲折。以前在学校里一直是做Linux下的开发的,毕业论文的软件部份也是在Linux下开发的。毕业了以后,我却去了一个小城市做电力系统软件开发,大多数时间是在Windows下开发,虽然也做一些Linux/Solaris相关的开发工作。但是毕竟比较少,所以在学校里学到的东西能发挥的不多,虽然如此,但是我在那里认识了不少好朋友,这也是我觉得

2007-07-10 17:56:00 1429 1

原创 在Solaris下使用IPMP(IP Multipathing)

在Solaris下使用IPMP(IP Multipathing)为什么要使用IPMP1、为了增加网络的吞吐量,实现多网卡的负载均衡。2、为了实现网卡冗余,提高系统可靠性与可用性。比如有某块网卡因为某些不可预测的原因,从网络上断开了,这时候客户就再也访问不了与该网卡相关联的IP地址了。但是如果使用了IPMP,我们就可以把几块网卡配置成一个组,一旦组里面的某块网卡与网络的连接断开了,那么IPMP就会检

2007-07-03 17:42:00 2993

原创 用C/C++扩展Python

用C/C++扩展PythonPython是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上。她提供大量的API以方便程序员利用C/C++对Python进行扩展。因为执行速度慢几乎是所有脚本语言的通病,Python通过一个巧妙的方法,使得程序员可以利用C/C++编写执行速度比较慢的模块,从而获得与C/C++差不多的执行性能。本文给出一个例子说明怎样用C来扩展Python。1、在C

2007-06-29 12:38:00 5142 1

原创 20条关键的高可用性设计原则

20条关键的高可用性设计原则1、尽量简单化    一切都应该尽可能简单,但不要过度简单。越简单的系统就越可靠,越不容易出错。2、一步一个脚印   一次只做一件事,不要强求软件具有设计功能以外的功能。3、利用外部资源   不要忘记了互联网这个最大的外部资源。4、重新使用配置   剽窃,再剽窃,不要让其他人的作品逃过你的眼睛。但一定要称之为“研究”。   使用旧的配置文件易于维护,要做的改动少,要学的

2007-06-20 18:50:00 2673

原创 故障转移要达到的几个标准

集群服务器进行故障转移时必须要达到的几个标准:1、透明性:故障转移时不应该对正在访问该服务器的用户造成严重影响,应该仅是一次重启或者重新刷新一下服务。2、快速性:故障转移应该在几分钟之内完成,理想情况应该在两分钟之内完成。3、最少人为干涉:理想的故障转移应该是检测到故障以后自动进行故障转移,而不需要人工干涉。4、保证数据访问顺利进行:故障转移后,前后两个主机上的数据应该保持一致。进行故障转移时,要

2007-06-20 18:11:00 1011

原创 使用GNU automake工具集的几个步骤

使用GNU automake工具集的几个步骤1、使用autoscan命令来扫描源代码目录生成configure.scan文件2、把configure.scan重命名为configure.in文件,根据需要修改该文件里的各项宏定义3、执行aclocal生成aclocal.m4文件4、执行autoconf通过configure.in生成configure文件5、编写Makefile.am文件6、执行a

2007-05-25 15:54:00 2128

原创 Linux 下ioctl的bug?

ifconfig 在Linux和Solaris下的差别在unix系统下可以通过ifconfig命令来查询和设置网络接口的运行参数,在各个unix系统下,它的绝大多数功能是一样的,不过今天我发现了一个在Linux和Solaris下不一致的地方。那就是ifconfig的up命令。在Solaris下执行如下两个命令    #ifconfig ifname down    #ifconfig ifname

2007-04-13 16:52:00 1807

翻译 Solaris 内核统计信息 - 使用C访问libkstat

前段时间看了篇文章,高兴的时候就把它翻译过来了。哈哈,第一次翻译文章,水平有限,不足之处欢迎指正。原文出处:http://developers.sun.com/solaris/articles/kstatc.html <!-- @page { size: 21cm 29.7cm; margin: 2cm } PRE.wes

2007-03-21 17:04:00 3913

原创 取得Linux系统的各种统计信息

<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 取得Linux系统的各种统计信息 本文基于Linux 2.6.x内核 一、取得CPU信息(相关文件/proc/stat) 在一个系

2007-03-13 17:54:00 9859 1

原创 实现可靠UDP通信的两种方式

实现可靠UDP通信的两种方式众所周知UDP通信协议是不可靠的通信协议,其可靠性必须由上层应用实现。一般都会采用消息重传来实现其可靠性,采用消息重传的时候有两种方式,一种是发送者发起,另一种是接收者发起。对于发送者发起的方式,一般情况下接收者会发送一个消息包的确认。发送者维护一个计时器并重传那些在某个确定的时间段里没有收到确认的消息包。这一类型的协议容易引起发送者溢出,因为要确认每一个发送的消息包。

2007-03-07 15:29:00 10937

原创 linux下用valgrind做内存检查

用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具。Valgrind是一款基于模拟linux下的程序调试器和剖析器的软件套件,可以运行于x86, amd64和ppc32架构上。valgrind包含一个核心,它提供一个虚拟的CPU运行程序,还有一

2007-02-08 18:00:00 3057

原创 RPM与pkg两种软件安装包的制做方法

<!-- @page { size: 21cm 29.7cm; margin: 2cm } P { margin-bottom: 0.21cm } --> 软件开发的最终目标就是要给用户用,而在把软件发布给用户前,我们一般会先制做一个安装包,这样用户在使用我们的软件前就能轻松的把软件安装到系统上,这篇文章我就介绍在L

2007-02-01 18:47:00 5133

原创 glib库hash表GHashTable介绍

hash表是一种提供key-value访问的数据结构,通过指定的key值可以快速的访问到与它相关联的value值。hash表的一种典型用法就是字典,通过单词的首字母能够快速的找到单词。关于hash表的详细介绍请查阅数据结构的相关书籍,我这里只介绍glib库中hash表的基本用法。要使用一个hash表首先必须创建它,glib库里有两个函数可以用于创建hash表,分别是g_hash_table_new

2007-01-28 15:35:00 24398 5

原创 glib库队列GQueue介绍

队列是一种向最后添加条目,从最前删除条目的数据结构,这种数据结构在处理按顺序到达的数据是很有用。glib库提供的队列GQueue是一个双端队列,它的实现基础是双向链表,所以它支持在队列的两端进行添加和删除,也支持很多其它的操作,比如在队列中进行插入和删除,但是我不推荐使用这样的功能,因为当你经常需要在队列中进行插入和删除的时候,链表或许是个更好的选择。下面的代码演示利用glib库中的GQueue向

2007-01-24 21:31:00 7987

原创 glib库数组GArray介绍

 glib库中的数组GArray类型很像C++标准容器库中的vector容器。要使用glib库中的数组中需要声明一个指向GArray类型的指针。GArray的定义如下:struct GArray{ gchar *data; guint len;};然后就可以在这个数组前或者数组后添加数据,添加数据的时候数组也会像C++中的vector容器一样自动增长,并分配内存。下面我们来看看这一段示例代

2007-01-23 19:18:00 9551

原创 glib库双向链表GList介绍

在上一篇文章里我介绍了glib库中单向链表的用法,这篇文章介绍glib库双向链表的用法,还是沿用上一篇文章的风格,采用在代码中加入注释来说明代码,最后贴出程序的运行结果,然后加以少量说明。双向链表与单向链表的区别是,从一个节点,不仅能访问到它的下一个节点,还能访问到它的上一个节点,其定义如下:struct GList{ gpointer data;   GList *next;   

2007-01-21 17:54:00 13126 4

原创 glib库单向链表GSList介绍

glib库单向链表介绍glib库里实现了一些基本的数据结构,比如单向链表,双向链表、队列、树、hash表和数组。这篇文章里我主要介绍在linux平台下使用glib库中的单向链表进行编程,以后的文章我会陆续介绍双向链表、队列和其它数据结构的用法。单向链表(即GSList)是glib库里最简单的容具,它把一系列的节点链接在一起,可以从一个节点访问到下一个节点。glib库里对GSList结构的定义如

2007-01-19 13:39:00 15466 3

原创 linux下的C语言开发要学些什么

linux下的C语言开发要学些什么虽然在linux下写程序也有5、6年了,但是这几年来一直都没有想过在linux下开发要学习些什么东西,2006年年初离开了原来的公司,进入现在的公司做linux平台下的集群开发,linux下的C编程便成了每天工作的重点。前两天回到母校的BBS上转了一下,看到一些师弟们在问,学完学校的C语言教科书后,怎么进一步学习C语言开发。现在我就以我这几年的经验谈谈在lin

2007-01-17 09:18:00 12172 9

空空如也

空空如也

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

TA关注的人

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