- 博客(25)
- 收藏
- 关注
原创 rpm命令的使用
rpm -qa|grep soft_name 查找现在机子装的软件版本等信息rpm -e soft_name 卸载某一个软件netstat -tnl 查看系统的端口使用情况在linux系统中源代码包安装过程:1. 配置( configure)2. 编译(make)3. 安装(make install)
2011-11-27 20:21:02 369
原创 localtime函数中的返回指针的思考
localtime和gmtime这两个函数采用了time.h中的一个tm结构体:struct tm{ int tm_sec; /* Seconds. [0-60] (1 leap second) */ int tm_min; /* Minutes. [0-59] */ int tm_hour; /* Hours
2011-11-25 14:30:50 1681
原创 动态库和静态库的生成
1. 静态库的生成gcc -c hello.c ar cr libmyhello.a hello.o 2. 动态库的生成$(CC) -O -c -fPIC -o mo_test.o mo_test.cpp$(CC) -shared -o libmo_test.so mo_test.o
2011-11-22 14:48:13 398
原创 myspace的架构方案
说起MySpace,可能很多人对他印象很深,MySpace.com成立于2003年9月,是目前全球最大的社交网站。它为全球用户提供了一个集交友、个人信息分享、即时通讯等多种功能于一体的互动平台,同时他也是.NET应用最出色的网站之一。下面我们一起来回顾一下MySpace架构的改革之路,或许我们能从中得到一点点架构方面的经验和教训。1、50万用户最早myspace网站由一台数据库服务
2011-11-22 09:50:03 488
原创 youtube的架构方案
这几天一直在关注和学习一些大型网站的架构,希望有一天自己也能设计一个高并发、高容错的系统并能应用在实践上。今天在网上找架构相关的资料时,看到一个被和谐的视频网站YouTube的架构分析,看了以后觉得自己又向架构走近了一步,于是赶快拿出来与大家一起分享。 YouTube发展迅速,每天超过1亿的视频点击量,但只有很少人在维护站点和确保伸缩性。这点和PlentyOfFish类似,少数人维护庞大系
2011-11-22 09:45:14 894
原创 优酷的架构方案
记得以前给大家介绍过视频网站龙头老大YouTube的技术架构, 相信大家看了都会有不少的感触,互联网就是这么一个神奇的东西。今天我突然想到,优酷网在国内也算是视频网站的老大了,不知道他的架构相对于 YouTube是怎么样的,于是带着这个好奇心去网上找了优酷网架构的各方面资料,虽然谈得没有YouTube那么详细,但多少还是挖掘了一点,现在总结 一下,希望对喜欢架构的朋友有所帮助。一、网站
2011-11-22 09:39:39 976
原创 linux指定运行时的动态路径
众所周知, Linux 动态库的默认搜索路径是 /lib 和 /usr/lib 。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库, 并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函 数,以及该动态库的其它资源了。在 Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下
2011-11-22 09:31:09 383
原创 用c语言生成excel结果
其实,如果只是生成一些数据需要在Excel表格中显示的话,完全可以不需要什么额外的控件的,也无需什么特别的类。只需要用标准C的fprintf语句按照一定的格式去写到文件里即可。当然,中间加一个标识符,例如$之类的。 简单的示例如下:#include "stdio.h"void main(void){FILE *fp;fp=fopen("e:/prclin
2011-11-21 21:36:15 7608
原创 AMQP简单介绍
当前各种应用大量使用异步消息模型,并随之产生众多消息中间件产品及协议,标准的不一致使应用与中间件之间的耦合限制产品的选择,并增加维护成本。AMQP是一个提供统一消息服务的应用层标准协议,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同开发语言等条件的限制。 当然这种降低耦合的机制是基于与上层产品,语言无关的协议。AMQP协议是一种二进制协议,提供
2011-11-17 13:34:05 616
原创 大型网站的结构方案
1. PlentyOfFish 网站架构学习http://www.dbanotes.net/arch/plentyoffish_arch.html采取 Windows 技术路线的 Web 2.0 站点并不多,除了 MySpace ,另外就是这个 PlentyOfFish。这个站点提供 “Online Dating” 服务。一个令人津津乐道的、惊人的数据是这个只有一个人(创建人Mar
2011-11-15 23:50:09 414
原创 mac下得代码编辑器
Tincta 是Mac 平台上一款小巧、免费的文本/代码编辑器,由于 Mac 上优秀的代码编辑器如 TextMate、Sublime Text 2 等等都比较昂贵,所以 Tincta 的“免费”特性对于众多 Macer 来说就是一个很大的优势。并且这款小程序速度很快、完美支持64Bit、且能够非常方便的在浏览器中预览代码生成的内容。
2011-11-15 15:34:26 673
原创 带宽的理解
目前全国各地电信对于ADSL家庭用户分配的带宽是不同的,以笔者所在的城市为例,家庭用户是2M,相信外地的朋友应该也都差不多。但是这里提到的“带宽”同我们平时常见的内存带宽等概念是不同的。 网络带宽单位是:位/每秒(即:bit/s),而内存等带宽单位却是:字节/每秒(即:byte/s)。两者由于1byte=8bit。 因此正确的计算ADSL网络“理论最大”的下载速度,
2011-11-15 14:51:24 812
原创 larbin里的类的介绍
url肯定需要一个单独的类进行处理,包括显示,分析url,得到主机,端口,文件数据。 然后需要对url进行排重,需要一个比较大的url Hash表。 如果还要对网页内容进行排重,则还需要一个Document Hash表。 爬过的url需要记录下来,由于量比较大,我们将它写到磁盘上,所以还需要一个FIFO的类(记作urlsDisk)。 现在需要
2011-11-14 23:18:33 507
原创 larbin的程序的结构
主函数:int main (int argc, char *argv[]) { global glob(argc,argv) //初始化变量、队列StartThread(startWebserver,NULL) //web服务cron() //配置初始化for( ; ;) { waitBandWidth(&old);
2011-11-14 22:24:04 639
原创 larbin的设计思想
第三种是单线程非阻塞。这是目前使用的比较多的一种做法,无论在client还是server都有着广泛的应用。在一个线程内打开多个非阻塞的连 接,通过poll/epoll/select对连接状态进行判断,在第一时间响应请求,不但充分利用了网络资源,同时也将本机CPU资源的消耗降至最低。 这种方法需要对dns请求,连接,读写操作都采用异步非阻塞操作,其中第一种比较复杂,可以采用adns作为解决方案,后面
2011-11-10 23:28:37 584
原创 larbin队列(2)
一 larbin中的2中类型的队列 static SyncFifo *URLsPriority; //最高优先级 static SyncFifo *URLsPriorityWait; //次高优先级 static PersistentFifo *URLsDisk; //低
2011-11-10 19:32:59 690
原创 larbin的队列
以前整理过的关于larbin的队列结构给需要的网友: 为什么disk和priority的队列都是成对出现的,是因为可以认为每个site在namedSiteList当中都有一个小的队列来保存它的url,这个url的个数是有个限制的,当超过这个限制的时候就不能再把该site下的url放入,但也不能丢弃,而是放入wait队列。larbin会控制一段时间在disk队列中取url,一段
2011-11-10 17:22:24 788
转载 一个简单的内存池实现的例子
前几篇文章对内存池做了两次改进和简化,因为在liunux上内存分配的malloc已经在系统的优化控制范围内了,所以一定范围内的内存分配还是交由系 统比较快,经测试基本上对于大于256字节的内存分配交由本内存池分配性能有明显提高,本次系统所有其他的对象都是构建在这个内存池之上,内存池会对用户 申请的内存作出二次归类管理代码如下:memeory.h/* * File: me
2011-11-08 22:24:46 738
转载 c语言中宏的使用
C语言宏定义##连接符和#符的使用 C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后在其左右各加上一个双引号。比如下
2011-11-08 21:51:02 488
原创 搜索中得网页分类技术
1. 技术背景 分类问题是人类所面临的一个非常重要且具有普遍意义的问题。将事物正确的分类,有助于人们认识世界,使杂乱无章的现实世界变得有条理。自动文本分类就是对大量的自然语言文本按照一定的主题类别进行自动分类,它是自然语言处理的一个十分重要的问题。文本分类主要应用于信息检索,机器翻译,自动文摘,信息过滤,邮件分类等任务。文本分类的一个关键问题是特征词的选择问题及其权重分配。
2011-11-06 00:35:38 859
原创 计算机专业应该读得书
列一下我所认为的,你面试微软前必须要读的十本书:Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)Computer System: A Programmer’s Approach (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修养》C
2011-11-05 13:51:15 895
原创 关于如何学好编程的一个很漂亮的回答
学编程书是必读的,代码也是必敲的,每一个学习阶段最好都运用上已学的知识来独立开发一个小玩意。即使C语言语法+控制台环境,结合好的想法都有机会能开发出令人惊叹的白字黑窗作品,甚至改变整个IT行业的美妙算法或数据结构。
2011-11-04 18:04:52 327
原创 我比较喜欢的一个人物介绍
迪士尼的首席运营官鲍勃.艾格(Bob Iger)不得不介入此事, 并控制损失. 当周围的人正在喋喋不休的时候, 他依然保持着理智和冷静. 艾格来自电视行业, 曾任美国广播公司的主席, 该公司于1996年被迪士尼收购, 他举止大方合宜, 善于灵活处理事件, 同时也懂得慧眼识人, 具有幽默感, 善解人意, 为人低调不多言, 才得以稳坐如今的位置.斯蒂夫强烈渴望世界按照自己所设想的那样运行,
2011-11-03 20:06:38 755
原创 AT原理
由两个hash组成, 一个hash是url--hash, 一个hash是site--hash, 每层都由几个过滤条件.元数据的类型及其构成
2011-11-03 16:11:53 488
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人