自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 关于unordered_map

利用unordered_map代替hash_map 实验环境 操作系统 fedora9 编译器版本 gcc4.3 实验方式 各种map使用插入和查找,比较速度和相关性能代码 参考代码 下面测试说明了速度之间的比较:map类型插入速度插入和查找速度

2011-06-22 18:29:00 2987 2

原创 tokyotyrant 使用经验

1、关于rcc参数如果运行ttserver的时候,带上了rcc参数。那么在数据同步过程中,如果有一条数据执行错误,那么同步就会停下来,直到有人工干预。反之,如果没有rcc参数,同步会继续进行,但是在日志中,会报一个ERROR级别的错误。建议,不带rcc参数运行ttserver,同时监控ttserver的日志,对ERROR级别的日志监控报警。 2、重连RCONN参数接口函数tcr

2011-06-22 14:46:00 1150

转载 多串匹配-AC自动机

<br />AC自动机即 Aho-Corasick automation,该算法在1975年产生于贝尔实验室。AC自动机是用来处理多串匹配问题的,即给你很多串,再给你一篇文章,让你在文章中找这些串是否出现过,在哪出现。AC自动机思想简单来讲就是在 Trie 上进行 KMP 匹配,所以先要知道 Trie数据结构 和 KMP算法。 AC自动机先将所有模式串构建成单词树,如有模式串 { she, he, say, shr, her, ayd },我们先构建成如下单词树:假设我们现在要对串 yshersay

2011-02-25 15:57:00 756 1

转载 Perl函数pack/unpack(二进制读写)

函数名pack调用语法formatstr = pack(packformat, list);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(包装)到一个简单变量中。参数packformat包含一个或多个格式字符,列表中每个元素对应一个,各格式字符间可用空格或tab隔开,因为pack忽略空格。<br />    除了格式a、A和@外,重复使用一种格式多次可在其后加个整数,如:<br />     $twoints = pack

2011-02-25 15:53:00 2944

转载 开放认证协议OAuth -- 协议工作流程

<br />Email:biansutao[AT]gmail[DOT]com<br />OAuth协议致力于使网站和应用程序(统称为消费方)能够在无须用户透露其认证证书的情况下,通过API访问某个web服务(统称为服务提供方)的受保护资源。更一般地说,OAuth为API认证提供了一个可自由实现且通用的方法。 <br /> 一个典型的例子是某打印服务提供商printer.example.com(消费方),希望在无须用户提供其照片存储站点密码的情况下,访问用户储存在photos.example.net(服务提供

2011-02-23 15:54:00 747

转载 男人们必知的人生定律

<br />1、蓝斯登原则:在你往上爬的时候,一定要保持梯子的整洁,否则你下来时可能会滑倒。<br />提出者:美国管理学家蓝斯登。<br />点评:进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。<br /><br /><br />2、卢维斯定理:谦虚不是把自己想得很糟,而是完全不想自己。<br />提出者:美国心理学家卢维斯<br />点评:如果把自己想得太好,就很容易将别人想得很糟。<br /><br />3、托利得定理:测验一个人的智力是否属于上乘,只看脑子里能否同时容纳

2011-02-09 10:06:00 438

转载 关系数据库还是NoSQL数据库

<br />在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发。因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库。在高速发展的WEB2.0时代,我们发现关系数据库在性能、扩展性、数据的快速备份和恢复、满足需求的易用性上并不总是能很好的满足我们的需要,我们越来越趋向于根据业务场景选择合适的数据库,以及进行多种数据库的融合运用。几年前的一篇文章《One Size Fits All - An Idea W

2011-01-26 16:02:00 938

原创 以用户为角度的运营体系,工程师可以做些什么

<br />    昨天公司开中层领导会议,yousf期望运营团队转变运营风格,从内容运营转向用户运营。<br />    用户运营,是针对社区网站中,围绕核心用户的运营。什么是社区网站的核心用户呢,我认为,并不是付费用户,不是长时间挂在网上的用户,而是指对网站有很大贡献的用户,有很多fans的用户。这些用户承担了内容运营的角色,为网站贡献了很多的有益的文章,资料等。以至于很多普通网友,喜欢阅读他们的文章,追随他们,这样的用户才是我们的核心用户。<br />    这让我想起了积分系统,一个好的积分系统的设

2011-01-16 09:47:00 504

原创 MapReduce和online实时访问共存的一种架构——MongoDB

<br />     这两天阅读有关MongoDB的技术文章,也一直在思考一个问题。使用MongoDB的MapReduce在做数据的统计运算时,如何不影响MongoDB提供的实时访问服务。结合HBase的使用经验,谈谈自己的体会。<br />     这段时间,我一直思考并打算使用MongoDB替换MySQL,存储社区的相关数据,提供实时的数据查询服务。除此之外,MongoDB还支持MapReduce计算模型和GridFS分布式文件系统。那么就问自己:除了让MongoDB提供实时的数据查询服务,能不能同时担

2011-01-14 10:18:00 984

原创 要使自己的网站有明确的目标

      微博现在非常热门,twitter已经有2亿用户了,国内也有很多网站在作,比如新浪,腾讯,搜狐。有时候我们要问问自己为什么要做微博?因为微博很热,所以想做微博,那我们做微博就不会成功。微博只是一种手段,比A8,他的使命是让音乐无处不在,微博只是为了其使命打算采用的一种手段,微博的确是一个非常不错的手段。      创业公司的使命,也是一个道理。昨天看《创业邦》,感觉马云说的很有道理。企业的目标,不能是,比如”5年上市“,”让员工有车有房“。企业上市,只是完成其使命的一种手段。比如阿里巴巴的企业使命

2011-01-14 09:46:00 397

原创 搭建一个apache php mysql web服务器

1、在自己的服务器上安装apache+php+mysql下载apache,php,mysql安装apache:./configure --prefix=/home/tianyong.wang/sys/apache --enable-module=somake -j 8make install安装php:./configure --prefix=/home/tianyong.wang/sys/php --with-apxs2=/home/tianyong.wang/sys/apache/bin/apxs --

2010-12-23 17:35:00 432

转载 Percona对MySQL标准版本的改进

<br />http://www.penglixun.com/tech/database/percona_vs_mysql.html <br />周末有空读了下Percona XtraDB对MySQL InnoDB的改进点,这里给大家分享下。<br />一、对可扩展性的改进: <br />1. 提升Buffer Pool的扩展性<br />InnoDB Buffer Pool一个众所周知的问题是大并发查询执行的争用,XtraDB将Buffer Pool的全局Mutex拆成了多个Mutex以减少争用。

2010-12-22 13:50:00 439

原创 linux异步I/O——AIO

Linux的I/O机制经历了一下几个阶段的演进:1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。3. 异步事件阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等函数调用来达到此目的。4. 异步事件非阻塞I/O: 也叫做异步I/O(AIO),用户程序可以通过向内核发出I

2010-12-03 15:01:00 767

转载 epoll 经验谈

1、首先需要一个内存池,目的在于:<br />·减少频繁的分配和释放,提高性能的同时,还能避免内存碎片的问题;<br />·能够存储变长的数据,不要很傻瓜地只能预分配一个最大长度;<br />·基于SLAB算法实现内存池是一个好的思路:分配不同大小的多个块,请求时返回大于请求长度的最小块即可,对于容器而言,处理固定块的分配和回收,相当容易实现。当然,还要记得需要设计成线程安全的,自旋锁比较好,使用读写自旋锁就更好了。<br />·分配内容的增长管理是一个问题,比如第一次需要1KB空间,随着数据源源不断的写入

2010-11-13 14:11:00 2286

转载 网络io模型:epoll

epoll原理  在linux网络编程中,很长时间使用select做事件触发。select会随着监听fd的数目的增长而降低效率,因为在实现中,它是采用轮询的方式处理的,轮询的fd数目越多,自然耗时就越多。对于IM服务器要支持上万个链接,就显得力不从心了。而且fd支持数目是有限的,在linux/posix/_types.h头文件中,有这样的声明:#defind __FD_SETSIZE 1024.epoll则没有这样的限制,epoll支持的最大链接数是最大可打开的文件的数目。epoll只对活跃的socket进

2010-11-05 15:37:00 1351

原创 和进程相关联的用户信息(读unix高级编程笔记)

<br />  和每个进程相关联的用户id和组id:<br /> <br />  实际用户id<br />  实际组id                             我们实际上是谁<br />  有效用户id<br />  有效组id<br />  添加组id                              用于文件存取许可权检查<br />  保存的set-user-id<br />  保存的set-group-id               由exec函数保存<br /> <br

2010-11-04 16:22:00 644

原创 POSIX线程:线程私有数据

概念及作用  线程私有数据(thread-specify data,TSD)类似于全局变量,可以跨函数使用,区别是TSD是线程私有的。创建和注销int pthread_key_create(pthread_key_t *key, void (*destr_func)(void *))    key,函数从TSD池中分配一项,所创建的是所有线程都能访问的,但各个线程可以根据自己需要往key中写填不同的值,相当于提供了一个同名但不同值的全局变量。    destr,线程退出时,调用destr_func函数,释放

2010-10-22 19:29:00 427

原创 领导喜欢员工的15种素质

01. Leadership 领导力02. Interpersonal 人际关系03. roblem solving 动手能力04. Self-Motivation 自强不息05. Efficient 效率06. Detail oriented 仔细07. Prioritize 善于安排事情08. Teamwork 团队合作09. Reliable 信誉10. Multi-task 多面手11. Time management 时间管理12. Passionate 热忱13. Listening 倾听14.

2010-09-27 10:03:00 591

原创 MapReduce在应用中,感受到的缺点

<br />    MapReduce正在风靡世界,比如google的bigtable,yahoo的hadop/hbase,其核心之一就是MapReduce。简单的说MapReduce的核心思想:1、数据在哪,运算在哪;2、多机器协同运算。<br />    可是MapReduce就没有缺点了吗,我总结几条:<br />    1、数据必须先存储,才能运算。<br />    MapReduce在搜索的应用中,先将爬虫爬来的网页数据放在一个大存储上(一个分布式存储),然后间断性的对这些数据进行批量处理(Ma

2010-09-15 11:08:00 4241

原创 2010-09-02 早上和Jimmy讨论近期的工作计划

<br />    Jimmy阅读了我草拟的工作计划表,同时即兴讨论了一些架构方面的问题。<br />    我的工作计划表不能描述整体的项目进度,时间上没有整体的概念。<br />    Session的存储设计上,如何保持应用层和Session的透明。即如果应用层需要在session中添加一些数据,比如博客应用想添加用户的博客计数,SNS应用想添加好友计数,这些修改如何能够自适应。即session服务不做任何修改,就能自动适应其他应用的这些请求呢?<br />    Jimmy再次表达了对TT/TC的担

2010-09-02 10:42:00 732

原创 讨论任何主题之前,一定要准备好备选方案

    上个星期和Jimmy还有其他人讨论认证服务的架构,开始平台的设计没有安全方面的考虑,比如如何保护密码传输的安全性。在没有任何安全方面的方案的情况下,进行漫无目的的讨论,也讨论出了一个方案,但后来证明并不切实可行。    没有任何方案,临时在会上讨论,效果会很差。与会的每个人,临时碰到这个问题,没有一个完整的概念,你一言他一语,即浪费时间,效果又差。相反,让相关人员线下拿出一个方案,这样可以查阅很多资料,方案比较完整,再拿到会上就事半功倍了。

2010-08-20 17:00:00 434

转载 Google CEO施密特谈移动计算、数字隐私和搜索的未来

<br />当你有10亿用户的时候,总会有办法赚钱的。我们会赚大钱,绝对的,相信我,没错的。在科技界,一般来说如果你有了一个有价值的平台,你就可以此获利。<br /> <br />我们尝试找到未来的搜索是什么样的,我的意思是说我们依然乐于做一个搜索公司,但我们想以后也许不需要你输入就可以做更多的搜索。其实我认为大部分人不只希望Google来回答他们的疑问,他们更想要Google直接告诉他们下一步应该做什么。好比说你在大街上压马路,由于Google可以收集到一切关于你的消息,所以Google大致知道你是谁,大

2010-08-17 19:44:00 552

空空如也

空空如也

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

TA关注的人

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