公告

博客统计信息

用户名:rickcheung
文章数:64
评论数:9
访问量:43153
无忧币:20
博客积分:400
博客等级:3
注册日期:2009-08-24

我最近发表的评论

DWR配置 回复
DWR是一个框架 能在javascript中直..
J2ME笔记-环境配置 回复
现在觉得小case了吧 呵呵
#include <errno.h>

#include <stdio.h>

#include <fcntl.h>

#include <unistd.h>

#include <string.h>

#include <stdlib.h>

#include <sys/stat.h>

#include <sys/types.h>

#include <libaio.h>
int main()

{

        io_context_t ctx;

        unsigned nr_events = 10;
        memset(&ctx, 0, sizeof(ctx));

       

  int errcode = io_setup(nr_events, &ctx);

        if (errcode == 0)

                printf("io_setup success\n");

        else

                printf("io_setup error: :%d:%s\n", errcode, strerror(-errcode))..
类别:未分类|阅读(37)|回复(0)|(0)阅读全文>>
2010-10-27 19:31:52

1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。
s 遍历文件a,对每个url求取clip_image002,然后根据所取得的值将url分别存储到1000个小文件(记为clip_image004)中。这样每个小文件的大约为300M。
s 遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为clip_image006)。这样处理后,所有可能相同的url都在对应的小文件(
类别:未分类|阅读(181)|回复(0)|(0)阅读全文>>
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。



下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。



1.Bloom filter



适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集



基本原理及要点:

对于原理来说很简单,位数组+k个独立hash函数。将hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存在,很明显这个过程并不保证查找的结果是100%正确的。同时也不支持删除一个已经插入的关键字,因为该关键字对应的位会牵动到其他的关键字。所以一个简单的改进就是 counting Bloom filter,用一个counter数组代替位数组,就可以支持删除了。



还有一个比较重要的问题,如何根据输入元素个数n,确定位数组m的大小及hash函数个数。当hash函数个数k=(ln2)*(m/n)时错误率最小。在错误率不大于E的情况下,m至少要等于n*lg..
类别:未分类|阅读(120)|回复(0)|(0)阅读全文>>
转自:http://www.cnblogs.com/cswuyg/archive/2010/08/20/1804113.html
详细看了一下虚继承,发现说的最优道理的就是这个了。
另外有个小小特例,class A{ }; sizeof(A)=? 答案是1!^_^
外加一篇:http://hi.baidu.com/absolute8511/blog/item/2846613d0fb29ae73d6d978f.html
 
--------------------------------我是转载分割线------------------------------------
 
C++对象内存布局测试总结
  http://hi.baidu.com/%D6%F2%C7%EF/blog/item/826d38ff13c32e3a5d6008e8.html
  上文是半年前对虚函数、虚拟继承的理解。可能有一些错漏。而且只是理解了比较简单的部分,表达也不够清晰,这次决定花的时间再做一次总结。
  对于普通的C++对象内存布局,简单得不得了,就不做总结了。这里只总结涉及到虚拟继承的情况。
    因为不同编译器对虚拟继承的实现采用不同的方式,所以要完整的分析是不可能的。这里只考虑VS2005/2008,还有简单涉及GCC编译器。
1、 单个虚拟继承
只是为了分析而已,实际中并没有太大的作用。跟虚拟继承相关的派生类对象的内存布局跟具体的编译器相关。
   (1)VS编译器:无论有无虚函数,..
类别:未分类|阅读(230)|回复(0)|(0)阅读全文>>
2010-07-28 17:29:51
开始菜单或 explorer 的搜索栏。 
基于文件类型 type: 
基于文件名 name: 
基于文件内容 content: 
基于修改日期 datemodified: 
基于文件大小 size: 


 
例如,搜索 包含 linq 的 doc 文件,可以在搜索栏中输入 
type:"doc" content:"linq"
类别:未分类|阅读(3502)|回复(0)|(0)阅读全文>>
2010-07-22 19:53:06
什么是LVM
LVM是逻 辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,为文件系统屏蔽下层磁盘分区布 局,从而提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便地调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和 分配,例如按照使用用途进行定义“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘, 管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是通过LVM直接扩展文件系统跨越磁盘即可。
LVM基本术语
1.物理卷(Physical Volume,PV)
— 物理卷在LVM系统中处于最底层。
— 物理卷可以是整个硬盘、硬盘上的分区或从逻辑上与磁盘分区具有同样功能的设备(如:RAID)。
— 物理卷是LVM的基本存储逻辑块..
类别:未分类|阅读(60)|回复(0)|(0)阅读全文>>
今天安装了一台基于文本模式的linux,但发现运行后不能显示中文字符,是不是没安装中文字符,于是我打算给我的系统装上中文字符:
我是直接将windowns的字体拷贝过来用。windows的字体一般存放在c:\windows\fonts目录下,拷贝你喜欢的字体到linux下,文件是ttf格式,把字体拷贝到/usr/share/fonts的一个目录下,然后执行如下命令:



#mkfontscale  

     #mkfontdir   //这两条命令是生成字体的索引信息   

        #fc-cache     //更新字体缓存
类别:未分类|阅读(10)|回复(0)|(0)阅读全文>>
2010-07-21 16:13:13
 第一步:修改/etc/yum.repos.d/CentOS-Base.repo为:

[base]

name=CentOS-5 - Base

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever5&arch=$basearch&

repo=os

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

baseurl=http://ftp.sjtu.edu.cn/centos/5.4/os/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#released updates

[update]

name=CentOS-5 - Updates

#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=updates

baseurl=http://ftp.sjtu.edu.cn/centos/5.4/updates/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
#packages used/produced in the build but not released

[addons]

name=CentOS-5 - Addons

#mirrorlist=http://mirrorlist.centos.org/?release=4&arch=$basearch&repo=addons
baseurl=http://ftp.sjtu.edu.cn/centos/5.4/addons/$basearch/

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RP..
类别:未分类|阅读(158)|回复(0)|(0)阅读全文>>


1、CentOS 修改DNS



修改对应网卡的DNS的配置文件

# vi /etc/resolv.conf 

修改以下内容



nameserver 8.8.8.8 #google域名服务器

nameserver 8.8.4.4 #google域名服务器

2、CentOS 修改网关 

修改对应网卡的网关的配置文件

[root@centos]# vi /etc/sysconfig/network



修改以下内容

NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)

HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)

GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2)

3、CentOS 修改IP地址



修改对应网卡的IP地址的配置文件

# vi /etc/sysconfig/network-scripts/ifcfg-eth0



修改以下内容



DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0

BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获..
类别:未分类|阅读(274)|回复(0)|(0)阅读全文>>
2010-07-20 21:48:01
修改/etc/X11/Xorg.conf

vi /etc/X11/xorg.conf  保存shift|zz

Section "Device"

        Identifier  "Videocard0"

        Driver      "vesa"    #驱动根据不同显卡 vesa是通用的

        VendorName  "Videocard vendor"

        BoardName   "ATI Mach64"  #显卡的名字

        VideoRam    1024

EndSection
=======================================================================================
在更改ip后,如果没有重启服务,实际上是不发生变化的\u0003A g%X\u001Ef7E%T\u0016|,w7_

重启网络服务的命令是service network restart

(或者/etc/init.d/network restart)

=======================================================================================
症状:

CentOS在启动过程中完全正常,未有任何错误提..
类别:未分类|阅读(22)|回复(0)|(0)阅读全文>>
 <<   1   2   3   4   5   >>   页数 ( 1/7 )