博文
P2P:新媒体革命 (2007-04-19 00:22:00)
摘要:P2P:新媒体革命
作者:明叔亮 陈玉鹏 张瑜 徐龙建 来源:互联网 ithao123整理 2007-04-18
摘要
IT人
P2P的能量终于迸发出来了,它是互联网原始精神的回归。这是一场席卷全球的革命,像一只冲出牢笼的野兽,没有规矩、不受约束。P2P技术强烈地冲撞着传统媒体、电信和互联网等众多行业,所有的抵抗都是螳臂当车。开明巨头们达成共识——只能疏、不能堵,要找到驾驭之术。
P2P的能量终于迸发出来了,它是互联网原始精神的回归。这是一场席卷全球的革命,像一只冲出牢笼的野兽,没有规矩、不受约束。P2P技术强烈地冲撞着传统媒体、电信和互联网等众多行业,所有的抵抗都是螳臂当车。开明巨头们达成共识——只能疏、不能堵,要找到驾驭之术。
这是一场新媒体革命,尽管其特征还未完全显现。但P2P一定会给我们一个全新的互联网,人人都是源头,人人都是受众,这个平台上所有未来的规则正在今天制定。
P2P:革命已经开始
主流公司的关注,先锋型P2P公司被认可,种种迹象表明,P2P技术已经初步脱离草莽,虽然距离其真正的成功时刻尚远 。
2002年,尼古拉斯·曾斯特姆(NiklasZennstrom)把P2P音乐下载软件KaZaA买给一家小公司时,得到了50万美元;2005年,他把P2P通信软件Skype出售给eBay时,赚到了21亿美金。三年前,因为P2P音乐下载,他和创业伙伴面临着来自美国唱片工业协会的诉讼威胁;三年后,P2P(Peer to Peer,意为对等网络)支撑的互联网通信已经成为市场的宠儿。
初创期的P2P音乐下载始终无法解决版权问题,命中注定无法为传统唱片业所接受,1999年成立的Napster因为激怒了传统唱片业而被迫关闭。曾斯特姆也收到了法院的传票,压力之下只好将公司出售。
但它们获得了消费者拥护,KaZaA总下载量达到几亿次,人称其为互联网历史下载次数最多的软件。
先驱型公司一个个倒下,P2P却一大片一大片的在市场中普及开来。“假以时日,好莱坞就会发现根本没有对待P2P盗版的神奇子弹,最后不得不接受它。”某位P2P行业的从业者信心坚定。
总部设在英国剑桥......
开发人员行走Unix的随身四艺 转(2007-01-28 18:42:00)
摘要:开发人员行走Unix的随身四艺 转
作者:江南白衣,原文出处: http://blog.csdn.net/calvinxiu/archive/2007/01/27/1495778.aspx,转载请保留出处。
Unix系统永远只会越来越多,开发人员就没必要特意学习它们的安装、配置和管理了,就全部交给集成人员吧。
但开发人员行走于Unix之间,依然有四样东西要熟练。
一、VI
虽然Unix上的文本编辑器已经越来越好用,但不在Console前面,网速也不够连XWindows的时候,还是要依赖VI。
回想VI的时代背景,发现VI对开发人员已经周到得离谱了,热键多到你双手不离键盘就能完成大半编辑工作。
建议自己制作一张自己认为有用,但又经常忘记的命令的sheet,拿出考试的力气把它背熟。
二、文本处理
开发人员在Unix下干得最多的除了Make和除Bug外,大概就是处理日志文件、业务文件进行查错和统计了。
只会more和grep是不够的,开发老手会把awk,sed,grep,sort,unique,wc这些文本处理命令,通过管道玩具式的拆卸拼装,最后完成一件原本以为非编写大段代码不可的工作。周到的参数设定,让人再一次感叹那个简单的年代,复杂到极致的设计.......怪不得《Unix 编程艺术》的作者有那么骄傲的自觉。
比如车东的每月访问TOP10 统计脚本:
awk -F 't' '{print $4}' 2004_2.txt| grep chedong.com/tech/|sort |uniq -c|sort -rn|head -10
awk -F '\t' 将2004_......
Linux下的段错误产生的原因及调试方法(推荐,转)(2007-01-15 22:42:00)
摘要:Linux下的段错误产生的原因及调试方法(推荐,转)
小狼:这篇文章比较全面,讲的也不错,推荐
简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.
一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。一旦一个程序发生了越界访问,cpu就会产生相应的异常保护,于是segmentation fault就出现了.
在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的
1)访问系统数据区,尤其是往 系统保护的内存地址写数据
最常见就是给一个指针以0地址
2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域
解决方法
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。
下面将就以下的一个存在段错误的程序介绍几种调试方法:
1 dummy_function (void)
2 {
3 unsigned char *ptr = 0x00;
4&nbs......
开源,选GoogleCode还是Sourceforge?(2007-01-02 10:35:00)
摘要:开源,选GoogleCode还是Sourceforge?
2006.12.30 来自:CSDN
概要
提起Google Code,我需要很惭愧地承认一点,我一开始的时候“把它看扁了”。初接触Google Code的时候,我简单地认为,Google Code只是一个半成品,从各方面的功能来讲,似乎远不能够与Sourceforge的完备相比。但是,随着对Google Code了解的深入,我不能不承认我错了,Google Code再一次证明“简单是美”的法则:Google的服务似乎永远是看似简单(甚至让你觉得不够用),而实则非常完备。
如果你有开源的计划,或者已经开源,或者你有私人的项目希望有个完备的平台去管理它,那么本文值得你一读,因为这是我在这方面的一些心得。到目前为止,我开源了WINX和DocX已经4个月多了,和Google Code、Sourceforge均有了较长时间的接触,希望借机会和大家交流下。
选择Google Code,还是Sourceforge?总体来讲,两者各有各的优势。从进入的门槛来讲,使用Google Code会比Sourceforge容易很多。
Google Code的优势与劣势
Google Code的优势
速度第一。Google的服务以快速著称,Google Code亦不例外。当你上传新的Release时,你会特别感受到这一点。
操作简洁。如果Sourceforge和Google Code提供了同样的功能,那么我可以毫不思索的讲,Google Code比Sourceforge快捷易用。我们后文将详细比较各个功能。
Google Code的劣势
容易被盾。以我的经验,Google Code被盾比较频繁。这导致我有时无法浏览Bug列表,发布新的Release等等。所幸的是,Google Code的SVN连接从来没有出现访问障碍。因此这不算太大的问题。另外,按Google Code的说法,有些功能可以在命令行进行,而不需要到Web上,但是我本人尚未进行详细的验证。
100M的容量限制。Google Code限制每个项目的SVN空间大小不能超过100M,发布的所有......
Linux 套接字编程中的 5 个隐患 转(2006-12-22 23:23:00)
摘要:
Linux 套接字编程中的 5 个隐患
在异构环境中开发可靠的网络应用程序
未显示需要 JavaScript 的文档选项
级别: 中级
M. Tim Jones, 资深软件工程师, Emulex
2005 年 10 月 08 日
Socket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。
在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇到一些常见的隐患。
本文识别那些隐患并向您显示如何避开它们。
隐患 1.忽略返回状态
第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分成功的时候,您也许会迷失。反过来,这可能传播错误,使定位问题的源头变得困难。
捕获并检查每一个返回状态,而不是忽略它们。考虑清单 1 显示的例子,一个套接字 send 函数。
清单 1. 忽略 API 函数返回状态
int status, sock, mode;
/* Create a new stream (TCP) socket */
sock = socket( AF_INET, SOCK_STREAM, 0 );
...
status = send( sock, buffer, buflen, MSG_DONTWAIT );
if (status == -1) {
/* send failed */
printf( "send failed: %s\n", strerror(errno) );
} else {
/* send succeeded -- or did it? */
}
......
Shell精彩编程 转自ITHao123(2007-06-09 12:09:00)
摘要:Shell精彩编程 转自ITHao123
转载声明:本博客文章允许自由转载, 但转载需注明作者,出处
作者:denny © wqf363@hotmail.com
出处:www.ithao123.com
shell特有变量
表14-2 特定s h e l l变量
$ # 传递到脚本的参数个数$ * 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
$ $ 脚本运行的当前进程I D号
$ ! 后台运行的最后一个进程的进程I D号
$ @ 与$ #相同,但是使用时加引号,并在引号中返回每个参数
$ - 显示s h e l l使用的当前选项,与s e t命令功能相同
$ ? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
使用/etc/init.d/funtction里的函数来进行进程的启动,状态,停止。
开机自动打开NUMLOCKfor t in `seq 1 8`
do
setleds -D +num
$t>/dev/null
done
参数 -D 才能改变default flags
当然如果把num换成caps,scroll就能改变capslock、scrolllock的状态注:man setleds
在SHELL程序中实现‘按任意键继续’#!/bin/sh
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty raw
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo "Press any key to continue..."
char=`get_char` 注:man stty
如何批量杀掉进程
ps -ef |grep java |grep -v grep |awk '{print $2}' |xargs kill -9
批量启动进程
#! /bin/sh......
GNU 和 Linux (2006-11-22 21:33:00)
摘要:
GNU 和 Linux
Linuxmine收集整理 作者:linux宝库 (http://www.linuxmine.com)像Slashdot这样的论坛上常常有人在攻击GNU,他们的观点在我看来完全是缺乏历史知识和不尊重历史。当GNU倡导称Linux为GNU/Linux时,这些人声称GNU企图从Linus Torvalds 身上窃取荣誉,或者宣称GNU的所作所为有反商业的可疑动机。我最后决定写下这篇文章,以避免出现更多的疑惑。
下面是这些为数不多但大喊大叫的分裂分子必须牢记的一些简单事实:
我们从GNU与Linux内核的关系开始说起:
GNU的问世比Linus Torvalds开始从事后来成为Linux内核的工作要早得多,那时GNU早已创立构造OS所必需的一长列工具,包括像编译器、系统函数库之类的开发工具,像emacs 之类的编辑器,等等。像grep、ls和find等许多系统工具和命令也是源自GNU,至少它们当前的新生版本是这样。GNU项目的目标之一是替换常用的Unix工具,这儿所提的命令就属于这些工具。所有这些工具构成的代码量远比内核本身的代码量大,而内核则体现了GNU项目对于现在大家熟知的Linux现象的重要性。分裂分子应记住的另一个事实是,主动调整内核以配合GNU系统工作的正是Linus本人。而与GNU的紧密联系对于该内核在各方面的发展来说一直是相当重要的。Alan Cox这位最有前途的内核黑客之一说过,他开始钻研Linux内核而不是其他内核的原因之一在于Linux使用GPL许可证,他认为这要比BSD风格的许可证好。
现在说说分裂分子宣称的GNU带共产主义性质并且反商业的问题。这个说法错得不能再错了。GNU几乎从一开始就通过销售作为GNU软件介质的磁带和CD-ROM以及印刷版的手册,基于自己开发的软件从事商业活动。他们还非书面地支持和鼓励以支持和/或开发自由软件为生的公司的创立,包括VA Research、Cygnus和Redhat。(最近RedHat和Cygnus宣布相互兼并。)以GNU许可证形式发行的软件改变了软件公司的商业运作方式,但并没有使得不可能做生意。从许多方面看,自由的GPL许可证形式的软件占主导地位的软件市场更体现了资本主义精神,因为它让善于做生意并且真正关心客户的公......
学习linux几点忠告 转(2006-11-22 21:30:00)
摘要:
学习linux几点忠告
Linuxmine收集整理 作者:linux宝库 (http://www.linuxmine.com)1. 不要当“传教士”
很多人在讨论区不断的引起 "Linux vs. Windows" 之类的讨论,甚至争的面红耳赤,这是没有必要的。
这种争论是浪费时间而没有任何用处的。对,你花了一下午,用许多事实“捍卫”了 “Linux 比 Windows 好” 这个说法。但是 Windows 的支持者并不会喜欢上 Linux,他们只是稍微退缩一下,然后找一些新的证据来跟你辩论。
世界上的人们都在利用 Linux 研究最前沿的科学,我们还在这里讨论 “要不要用 Linux” 这种无聊的问题,什么时候才能赶上时代前进的步伐?
什么叫做“Windows 支持者”,什么叫做“Linux 支持者”?我们为什么要支持某一个而反对另外一个?你不需要为 Linux “护法”,不需要成为“Linux 支持者”或者“GNU传教士”,GNU/Linux 已经用事实向世界证明了它们的威力,已经被大多数人接受。你只需要安安静静享受 GNU/Linux 给你的乐趣和自由。
你需要关心的不是你的工具是什么,而是你用它做了什么。精通 Linux 并不说明任何问题,因为它只是一个工具而已。如果你用 Windows 能很好的完成你的任务,那你就没有必要费时间去熟悉 Linux。直到有一天你发现一项任务只有 Linux 才能完成的时候再换也不迟,因为你身边的 Linux 的爱好者一定会很乐意的帮助你。
工具不是人,不应该对工具有感情。这是你在进行任何对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西:Word 和 TeX;Emacs 和 VIM;MAXIMA,Mathematica 和 Maple;Gnome, FVWM 和 KDE;Mutt 和 Pine …… 一定要冷静的对自己说:“我不站在它们任何一边,因为它们不是人。”
各人的需要不同,生活的环境不同。对你来说好的东西,对别人来说不一定好,我们需要尊重别人的选择。如果你当面说别人正在用的程序不好,没有人会乐意接受你的意见。我从来没有建议过我爸爸不用 Windows + WPS,而用 Linux + LaTeX 来处理他的英语试卷。因为 WPS 是我爸爸的选择,......
件业自由之神---Richard Stallman (2006-11-22 21:23:00)
摘要:
件业自由之神---Richard Stallman
Linuxmine收集整理 作者:linux宝库 (http://www.linuxmine.com)
导语:在Richard Stallman的理论下,用户彼此拷贝软件不但不是“盗版”,而是体现了人类天性的互助美德。对Richard Stallman来说,自由是根本,用户可自由共享软件成果,随便拷贝和修改代码。他说:“想想看,如果有人同你说:‘只要你保证不拷贝给其他人用的话,我就把这些宝贝拷贝给你。’其实,这样的人才是魔鬼;而诱人当魔鬼的,则是卖高价软件的人。”可以断定,进入世纪末,软件业发生的最大变革就是自由软件的全面复兴。在自由软件的浪潮下,软件业的商业模式将脱胎换骨,从卖程序代码为中心,转化为以服务为中心。
Richard Stallman白描:五短身材,不修边幅,过肩长发,连鬓胡子,时髦的半袖沙滩上装,一副披头士的打扮。看起来象现代都市里的野人。如果他将一件“麻布僧袍”穿在身上,又戴上一顶圆形宽边帽子,有如绘画作品中环绕圣像头上的光环。一眨眼的功夫,他又变成圣经中的耶稣基督的样子,散发着先知般的威严和力量。
五短身材,不修边幅,过肩长发,连鬓胡子,时髦的半袖沙滩上装,一副披头士的打扮。看起来象现代都市里的野人。如果他将一件“麻布僧袍”穿在身上,又戴上一顶圆形宽边帽子,有如绘画作品中环绕圣像头上的光环。一眨眼的功夫,他又变成圣经中的耶稣基督的样子,散发着先知般的威严和力量。野人与基督,恰恰就是自由软件的精神领袖理查德·Richard Stallman的双重属性:他既是当今专有(私有)商业软件领域野蛮的颠覆者,又是无数程序员和用户心目中神圣的自由之神。
在他的理论下,用户彼此拷贝软件不但不是“盗版”,而是体现了人类天性的互助美德。对Richard Stallman来说,自由是根本,用户可自由共享软件成果,随便拷贝和修改代码。他说:“想想看,如果有人同你说:‘只要你保证不拷贝给其他人用的话,我就把这些宝贝拷贝给你。’其实,这样的人才是魔鬼;而诱人当魔鬼的,则是卖高价软件的人。”可以断定,进入世纪末,软件业发生的最大变革就是自由软件的全面复兴。在自由软件的浪潮下,软件业的商业模式将脱胎换骨,从卖程序代码为中心,转化为以服务为中心。......
为什么Linux不适合你?(2006-11-22 21:21:00)
摘要:Why Linux is Not for You
为什么Linux不适合你?
------------------------------------------------
本贴原文请见: http://epesh.com/linuxforyou.html
Translated by yilong, 2/12/2002
Email: yilong@gmx.net
------------------------------------------------
译文:
现在有很多关于Linux的极端的宣传,一些是积极的,也有一些是消极的。但可以肯定的一件事是:没有人在对待Linux的问题上是不明朗的。 Microsoft在尽力说服大家NT的技术更好一些,而且不怀好意或极力利用自己的行销能力来证明他的说法。哦,我当然比Microsoft好不了哪里去,但他是正确的。Linux在很多方面都不尽令人满意,如果不是,那现在大多数用户就不会把它抛在一边不用。一个简单的事实是Linux对于一小部分人是合适的,即那些能忍受它奇怪特性的人。这部分人有两种:开发人员和Linux发烧友。“Linux发烧友”是一种含糊的说法,但我们能进一步的指出这群发烧友的少数几个特征。
最简单的特征就是如果你现在仍不知道Linux是否适合你,Linux可能真的就不适合你。
Linux不适合多数人的最主要问题是简单的:大多数人并不在意使用的操作系统,没有人真的对使用BSD型的多线程应用程序感到激动;他们在使用电子表格程序输入数据的时候,而后台正在计算(原理实际上是一样的,但没人在意;它只是完成了,如此而已)。电子表格程序不是IBM-PC上的DOS,也不是 DOS在几百万桌面系统上的翻版,它是Lotus 1-2-3和WordPerfect(及后来的Windows上的程序)。这里有一个决定性的观点:运行一个另类操作系统可能很酷,但你确实不必为想让操作系统做什么而操心--运行哪个应用程序。这包括游戏,字处理,多线程,帐户处理等等。不过操作系统的绝大部分市场还是集中在Windows,而不是 Linux,最大的市场往往能吸引最好的应用程序。
迄今为止,一些Linux上的应用程序在和Windows......