自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql 的 partition与key的关系、限制

    Mysql从5.1开始推出了Partition的功能,的确是非常好的特性,能够帮助解决非常多的问题。在创建partition的过程中,有一个必须注意的地方:参与partition的所有列都必须出现在所有的unique索引中。    比如一个表有两个索引 unique index1(col1,col2), unique index2(col1), 创建partition时 by rang

2009-06-04 17:49:00 4002

原创 原来php的dirname不检测文件是否存在

    一直以为php的dirname会检测所传递的参数文件是否存在,今天才发现原来不是。它仅仅是从后往前找到第一个/符号,然后把该符号前的字符串当做文件所在的路径名称。$ php -r "echo dirname(/a/b/c/d)/a/b/c$ php -r "echo dirname(/tmp/ccc.log/dd/ff);"/tmp/ccc.log/dd

2009-05-31 15:13:00 1082

原创 exists与inner join的效率问题

    二者并没有严格的效率高低之分,甚至依赖于数据库中数据的组织方式。    exists的效率依赖于匹配度,join的效率则比较稳定。比如,对 select * from tableA as ta where exists (select 1from tableB as tb where  ta.id = tb.id); 每扫描ta一行,就会扫描tb,遇到匹配就返回true,没遇到

2009-05-27 16:08:00 5993

原创 memcpy()函数即将禁用

  微软开始建议禁用memcpy函数了,原因是因为该函数和strcpy、strncpy等函数一样,因为存在潜在的缓冲区溢出的风险。推荐使用的代替的函数是memcpy_s(),在VC++ 2008的签名如下:errno_t __cdecl memcpy_s(_Out_opt_bytecap_post_bytecount_(_DstSize, _MaxCount) void *

2009-05-27 11:02:00 3557

原创 Gearman

  Gearman是 Brad Fitzpatrick 的一个作品,用perl写的任务调度程序,提供一个服务器端和多种语言的客户端接口,包括C/Perl/Python/Ruby等。  Gearman系统用来把工作委派给其他机器,分布式的调用更适合某项工作的机器,并发的做某项工作,在多个调度间做负载均衡,或用来调用其它语言的函数。  工作原理图:   从上述的实现原理

2009-05-26 14:05:00 1741

原创 如何原封不动的保存并安全回显输入内容

    在web开发中,经常需要原封不动的保存用户输入,并安全的回显到页面中。对于一般的字符串,比如abc、123之类的输入,直接回显到web页面中并没有什么不妥。但对于alert(0);这种输入而言,就必须进行必要的转码再输出到web页面中,否则就会出现著名的XSS攻击了。   为了安全的回显,我们需要把 ‘  "  这5个符号进行html编码。只要解决了这5个字符的编码,就可以避免XSS

2009-05-23 00:31:00 1377

原创 Consistent Hashing(ZZ)

 前言:我们知道以往资料要放到 M 台服务器上,最简单的方法就是取余数 (hash_value % M) 然后放到对应的服务器上,那就是当添加或移除服务器时,缓存重组的代价相当巨大。 添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器, 从而影响缓存的命中率。下面这篇文章写的非常好,结合memcached的 特点利用Consistent hasning 算法,可以打造一个非

2009-01-11 18:14:00 3691

原创 同一个数据库的一个表的数据怎么导入到另一个表

  同一个数据库的两个表结构完全相同,如何把一个表中的所有数据导入到另外一个表中。  方法1. 先把数据都dump出来,然后再dump到目标表去  方法2. insert into destTable select * from srcTable;  方法2简单多了。

2009-01-07 15:42:00 2341

原创 进程间通信3. 同步方式及各自特点

    为了能够有效的控制多个进程之间的沟通过程,保证沟通过程的有序和和谐,OS必须提供一定的同步机制保证进程之间不会自说自话而是有效的协同工作。比如在共享内存的通信方式中,两个或者多个进程都要对共享的内存进行数据写入,那么怎么才能保证一个进程在写入的过程中不被其它的进程打断,保证数据的完整性呢?又怎么保证读取进程在读取数据的过程中数据不会变动,保证读取出的数据是完整有效的呢?    常用的同步方

2008-12-30 17:15:00 5007

原创 进程间通信2. 通信方式及各自特点

    经常使用到的进程间通信有:管道、消息队列和共享内存。        管道    最开始出现的管道是用于具有血缘关系的进程之间共享数据的。父进程首先创建一个管道,然后再fork()出子进程,子进程自动共享对管道的访问权限。这种管道是没有名字的(只有进程中的一个标识符进行标识),因此也称为匿名管道。    如我们在shell中运行 ls * | grep foo 时,shell就会创建一个匿名

2008-12-30 16:15:00 3381

原创 进程间通信1. 基本原理

      通常情况下,程序只能访问自身的数据,和其它进程没有沟通,每个进程都是一个单独存在的个体,进程之间不需要协作就可以完成自身的任务了。但随着需要解决问题复杂性的增加,一个进程不可能完成所有的工作,必须由多个进程之间互相配合才能更快、更好、更强的解决问题,如同人与人之间的协作可以做出更大的事情一样。      但是,处于安全性的考虑,OS会限制进程只能访问自身的数据,不能把“手”伸到其它

2008-12-29 19:05:00 2549

转载 POSIX 线程取消点的 Linux 实现(zz)

  很不错的一篇文章,对POSIX的线程的取消点(Cancellation Point)的概念和实现方式做了深入的解析, ZZ一下。  以下ZZ自:http://blog.solrex.cn/articles/linux-implementation-of-posix-thread-cancellation-points.html摘要:这篇文章主要从一个 Linux 下一个 pthread

2008-12-26 14:43:00 1952

原创 POSIX和SVR

    POSIX是Portable Operating System Interface of Unix的简称,“可移植的Unix操作系统接口”。它定义了一组最小的Unix操作系统接口。    POSIX的诞生和Unix的发展是密不可分的,由于各个商业公司的参与,Unix的版本发展极为混乱,各个版本的Unix的兼容性成了很大的问题。于是就有了POSIX的出现,它定义了一组最小的Unix操作系统接

2008-12-24 10:10:00 1008

转载 N个专项搜索引擎(zz)

    http://enjoyweb20.cn/index.php/2008/06/search/    做个备份,以后随时用的找

2008-12-05 18:31:00 787

转载 领域模型的一些讨论(zz)

  领域模型,是开发模型中如何进行分层的问题,如何切分数据层、业务逻辑层的方式。如何更有效的组织代码进而保证代码最高程度上的复用性和稳定性的方式。第一次看到这方面的讨论,收获很大。以后要多家关注。  在这先记录下面两个链接,以后要经常看看。  1. 三种主要的领域模型  2. 观点讨论 

2008-12-04 09:28:00 853

原创 中国软件技术大会,比较失望

    周末两天去参加了2008中国软件技术大会,比较失望。各个厂商的广告味道过于浓厚了,基本上是对各自产品的介绍:“我们做了什么,我们的东西能给客户带来什么样的利益,使用了我们产品和解决方案的客户获得了多少效率的提高”。真正有意思的倒是用友的田俊国先生讲的“大易项目管理”,到很是有趣。    前端时间听温煜先生架构方面的课程,听到温煜先生提高田俊国先生在把“周易”的思想应用到项目管理中。当时颇感

2008-12-01 10:00:00 1942

原创 PGBouncer介绍及使用方式

  1. 什么是pgbouncer  PGBouncer是一个轻量级的针对PostgreSQL的数据库连接池工具,能够给客户端提供一个统一的链接视图。  PgBouncer的作用    a.PgBouncer可以在后端数据库和前端应用间建立连接的桥梁,由PgBouncer去处理和后端数据库的连接关系。    b.对客户端连接进行限制,预防过多或者恶意的连接请求。   PgBou

2008-11-22 18:11:00 16261

原创 PHP中的加密模块使用

    PHP中自带了相当多的加密的方法,这里我们来看一下mcrypt扩展的使用方式。(也是在工作中需要用这个东西加密访问用户的Cookie的值,认真的学习了这个方面的内容。)    1.简介    Mcrypt是PHP的一个扩展,完成了常用加密算法的封装。其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Blowfish

2008-11-22 14:24:00 4978

原创 update中的alias

     PostgreSQL中的update语句对alias的支持没有select中支持的完善,有个不大不小的问题。虽然不严重,但不知道的话还是会引起很大的困惑。    首先看一下PostgreSQL对update的帮助:Command:     UPDATEDescription: update rows of a tableSyntax:UPDATE [ ONLY ] table [ [ A

2008-11-15 17:04:00 2766

原创 plproxy的调用流程

    plproxy能够在PostgreSQL上运行的一种过程语言,能够完成对远程数据库的调用,并能够完成数据切片的功能。数据流处理过程如下图所示:    首先需要明确的是plproxy只能对用户自定的方法才有小,如果想达到对sql语句的无条件转发,plproxy是做不到的。比如希望所有的select * from tablename 都转发到cluster1上,所有的update语句都转发到c

2008-10-29 18:00:00 4077 1

原创 在一台机器上运行多个PostgreSQL实例

    最近要做一些有关PostgreSQL多实例运行的例子,一般都普遍需要在不同的机器上安装上PostgreSQL Server,然后在不同的机器上进行配置,比如通过plproxy进行一些demo的设置。当然这样的需求可以通过多个虚拟机的方式实现,比如创建多个vmware的虚拟机,大家一起跑就是了。不过这样有点资源浪费,而且需要维护不同的机器。尝试着在同一台机器上运行多个PostgreSQL S

2008-10-29 10:50:00 10076

原创 apache的php扩展名解析漏洞

    作为DSO模式加入apache的启动列表后,都会通过AddType application/x-httpd-php .php 命令把对以php后缀的文件请求交由libphp5.so进行处理。比如对http://www.example.org/foo/1.php的请求会交由libphp5.so进行处理,这个DSO会对1.php进行php源码的编译和执行,生成最终的html响应文件交换给apa

2008-09-25 16:55:00 5318

原创 IE的MIME嗅探

    IE从SP2开始进行了MIME嗅探的功能。以前的浏览器都是通过Content-Type来判断Resoponse流是何种类型的内容,进而调用不用的处理程序进行处理,如text/html表明接受的html代码,需要做html页面渲染,text/jpeg表明接受的图片文件,需要对接受到的数据流调用处理jpeg格式流的处理程序。    IE则在此基础上增加了对MIME的嗅探功能,不仅仅根据Cont

2008-09-25 16:38:00 2591

转载 PHP扩展:Zend引擎对扩展中自定义方法的支持机制

    php扩展中用户自定义的方法有两大类:一类是函数(独立存在),一类是方法(依附于类和对象)。本文先说明下函数。    构造一个新的函数的原理如下:声明并实现,实现完成后在某些特定的地方写代码告诉Zend引擎(注册)。完成这两步后就可以了。    假如需要实现一个foo()的方法,可以直接在php脚本中调用: php -r "foo();"        第一步:声明和实现    声明和实现

2008-09-15 12:46:00 2567

原创 php5.2无法得到POST的数据

    前几天把php的版本从5.1升级到了5.2,今天突然发现一个bug:无法得到表单提交的POST数据。    简直是莫名其妙。    刚开始以为是升级导致的,在其它的5.2的机器上试验,发现一切正常,看样子应该是某些php的配置项导致的。查,查看所有的php配置项,看到奇怪的就注释掉,一点点的试验,最终发现是 apc.rfc1867=1 导致的,把此项的值该为0或者删掉此项,就可以得到POS

2008-09-04 10:04:00 1816

原创 SSH的无密码登录

    在不同的服务器之间配置ssh的无密码登录是相当普及的事情了,有关此的文章网上相当多。在此记录下前几天碰到的一件事情。    正常的两台服务器,一直ssh无密码登录用的挺好,突然间让输入帐号密码了,使用ssh -v 查看时发现RAS、DSA等非对称密钥全都失效了,最后选择了原始的密码匹配的方式。以前碰到过类似的问题,发现~/.ssh/目录和其下相关的密钥文件的权限过高,修改为正常值,结果还是

2008-09-04 09:55:00 742

原创 firefox的DNSCache的清空

      在开发阶段经常需要配置hosts,但每次配置完之后都要重启浏览器(IE或者firefox),很是痛苦。今天看到了新宸说明的小东郭写的清除DNS Cache的firefox扩展,很是有用,赞一个。       其实,现有的firefox扩展是有这样类似的功能的。在firefox有名的扩展Fasterfox已经完成这样类似的功能,安装完成后在options->presets中

2008-08-22 09:59:00 1711

原创 男人对待同性更宽容

    看到了一个SNS的国内市场现状的用户调研报告, 给出了相当多的统计数据,有些是能够预想到的,有些则很好玩。其中一点是对好友的通过率方面,用句戏虐的说话是:男人对待同性更宽容。    原因是在“好友通过率”这个指标上,男性用户对男性好友的请求通过率是64.6%,对女性好友的请求通过率略高,为67.8%,这个还是很容易理解的(在这个晚上难多女少的世界中)。相比之下,女性用户对男性好友的请求通过

2008-08-19 14:37:00 1142

原创 mysql同步__slave状态标识

     在MySQL的主从配置中,在slave上执行show slave status可以看到slave的状态,今天突然发现了输出中含有Relay_Master_Log_File和Exec_Master_Log_Pos这两项,印象中以前没有过( 也许是没注意到:( ).觉得甚是奇怪,一顿搜查,总算明白了其中含义。     看看MySQL的Manual中是怎么解释的:     Exec_Maste

2008-07-25 17:35:00 9936 1

原创 PHP中的MINI的执行过程

      前几天新宸分享了PHP Script的lifecycle, 由于那天需要参加公司的培训,未去参加新宸的LifeCycle的分享。上一年有段时间很是痴迷于PHP的扩展,想弄清楚apache对PHP的扩展是如何调用和执行的。钻研了好久,有了一个大致的概念,但没有新宸这样做一个比较清楚的总结,感谢新宸的ppt。      昨天晚上看新宸的ppt,发现一点和我以前的认识不同的地方。在DSO的多

2008-07-24 14:30:00 1086

原创 两天的Agile培训

    这周5和周6参加了两天公司组织的Agile相关知识的培训,对Agile的认识比以前更多了一些。初次接触Agile大概在四五年前,大约是刚上研究生的时候。在学校的图书馆中看到了敏捷开发和极限编程(XP)等字眼的书,当时没太在意,感觉自身的专业方向不搭边,随便翻翻看,发现也没怎么看懂,囧。     从这几年的工作经验来开,当时没看懂是应该的,看懂了才是怪事。Agile的开发模式需要有相当经历的

2008-06-29 16:07:00 9773 4

原创 http协议中connection头的作用

  在http1.1中request和reponse header中都有可能出现一个connection的头,此header的含义是当client和server通信时对于长链接如何进行处理。   在http1.1中,client和server都是默认对方支持长链接的, 如果client使用http1.1协议,但又不希望使用长链接,则需要在header中指明connection的值为close;如果

2008-06-05 17:34:00 33395

原创 Web程序开发中的规范和文档

    在团队开发的过程中使用一定的规范来限制和疏导不同人的开发风格是必要的,每个人的经历、经验、能力都不同,为了避免写出来的代码成一团浆糊,必须有一个比较详尽的编码风格和一定的代码处理方式。如代码中的常量处理、类文件路径分布、命名空间的处理、异常处理、参数返回值处理等。    从技术的角度来讲,上述的特定自然是越详细越好,大家完全遵守是最好的,所有的代码好像都是一个人完成的。这样的限制要求在软件

2008-05-17 16:47:00 1363

原创 Web程序中对资源文件的缓存

    项目中碰到一个需要缓存用户自定义资源文件的问题,需要缓存用户所指定的CSS、JS等资源文件。和同事初步的讨论是使用文件系统进行缓存,并在前面架设SQUID进行进一步的缓存。今天刚好又看到的一篇Web图片服务器存储的文档,虽然阿是对图片而言,但对于CSS、JS等类型的资源文件同样适用。挺有用的,ZZ了下来。闲谈 Web 图片服务器 作者: Fenng | 可以转

2008-05-17 16:18:00 1028

原创 1.REST的基本概念

    这两个星期抽空看了REST相关的资料,对REST有了大概的了解。还记得前一段时间看Roy Fielding的那篇著名的博士论文时的郁闷,里面充满了大量的学术专业词汇,看的真叫郁闷。又一次的证实了自己不属于“研究性”的那种人 :(    我的理解:REST的提出主要是为了满足应用程序可扩展性的需求,在服务提供方和使用方划一条坚实的红线,完全隐藏服务提供方的实现细节。服务提供方告诉使用方,你按

2008-05-03 17:14:00 1388

原创 要开始系统的规划学习的东西了

    很久没有写blog,这很长的一段时间杂事很多,工作上的事情也很多,很杂。每天大量的时间在开会,不断的被别人打断正在进行的任务,很是不爽。但总要学会适应,没办法,生活就是这样的。    需要学习的东西很多,很多都不熟悉。真的需要好好的规划一下学习的方式了,初步打算每1-2周内完成一个新方面的学习,如果在这段时间内有新的东西出现,那就排进学习列表中,采用FIFO的方式进行。    初步的计划:

2008-04-25 23:48:00 701

原创 Flash跨域Load XML的问题

http://blog.sjzj.com.cn/article.asp?id=949 只要有个crossdomain.xml的文件放在被读取XML站点的根目录下,其他站点的FLASH就可以访问该站的数据了。crossdomain.xml的内容是:在Flash8看到yellowboy发的关于让Flash跨域调用数据的方法.具体如下:在站点根目录里放一个cros

2007-12-29 10:23:00 1081

原创 如何使用apache_proxy转发

       在一些情况下,经常会使用apache的proxy功能,具体含义就是在满足某些情况下apache代替用户进行http的转请求, 网上到处都是的代理功能即是本功能的具体应用。       使用proxy,需要装上mod_proxy的apache的dso,然后在apache中增加类似如下的配置文件    ServerName img.aaa.bbb.com    DocumentRoot

2007-12-29 09:59:00 2418

原创 有关跨域访问的一些url

http://msdn2.microsoft.com/en-us/library/ms533028.aspxhttp://dancewithnet.com/2007/07/22/solve-cross-sub-domain-ajax-with-document-domain/http://stauren.net/log/769pemzlv.html 

2007-12-21 14:34:00 895

原创 php扩展:如何访问php数组

     在php扩展中,时常需要接受php类型的数组作为参数,php数组的参数都是zval类型的,并不适合在扩展中方便的使用,一般都要提前转换成c或cpp中的数据类型。首先看一个转换的例子:void convert_to_vector(const zval * vals, vectorstring> &valList) ...{    // create the list to writ

2007-06-24 18:19:00 4200

Writing Clean Code(PDF版本)

编程精粹 ── Microsoft编写优质无错 C程序秘诀 PDF的版本

2009-02-05

空空如也

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

TA关注的人

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