2012年7月26日

摘要: 前两天在新系统里面装php的时候,由于是直接从成熟的测试机copy过来的php,就直接用了,但是使用内置的dom处理类,domDocument的时候,出现了如下错误: ./php: error while loading shared libraries: libmcrypt.so.4: cannot open shared object file: No such file or directory意思是加载共享库libmcrypt.so.4的时候出错了,找不到该.so文件,实际上有两种方式可以解决此问题,一是用php.ini中配置扩展的方式,这种方式肯定是可以的,不过我没有试成功。。。另. 阅读全文
posted @ 2012-07-26 16:33 吴小露的新生活 阅读(12490) 评论(0) 推荐(0)

2012年7月17日

摘要: 问题:核心业务处理转发系统在处理前段发来的请求时,由于各个事务中有连接数据库写操作,当并发量足够大时,业务系统由于直连mysql更新数据库,所以需要等待mysql处理完反馈结果,也就是说要等待数据库I/O的时间。导致并发量增大,当增加到该模块处理发阀值时,会将部分请求丢弃不做处理,最终结果是会有部分用户请求被忽略。为了解决上述问题,在该模块与mysql之间,建立一个消息队列的机制,分为A,B两个模块,A部分与该模块(以后称为O模块)耦合,以后直连mysql的操作,全部发到A模块,A模块写入待执行命令文件,B模块读文件。实现业务逻辑与实际I/O的分离,提高O模块处理能力。遇到的问题:1. 事务完 阅读全文
posted @ 2012-07-17 16:10 吴小露的新生活 阅读(5450) 评论(0) 推荐(0)
 
摘要: 今天读《大规模Web服务开发技术》,有一段话印证了我一直以来对敏捷的看法,hatena(作者所在的公司)的开发模式近似于敏捷开发流程,但是作者自述,该工作过程方法等并不是直接采用敏捷方法论形成的,而是在长期工作过程中,为了解决一些列的问题而采取的方式,逐渐形成了hatena公司的软件发布流程,以及质量保证流程。对于测试,代码review,结对编程,以及上线等,都有自己灵活可调控的方式。我觉得一味听说敏捷可以怎么样提高生产力,就请一个throughworks的人来讲敏捷,然后像宗教信仰一样开始实践敏捷开发是不可取的,这样必然会在引入一些过度流程化的东西。虽然最终实践的效果很可能会比以前那种瀑布模 阅读全文
posted @ 2012-07-17 10:40 吴小露的新生活 阅读(286) 评论(0) 推荐(0)

2012年6月27日

摘要: 今天测试静态资源优化的项目时,发现静态资源在文件系统下是以一下目录层级放置的:首先是根目录文件夹,其次是把各个网站的唯一识别字符串hash后取模得到的数字作为二级目录,这样二级目录的数量不会多于模值,然后3级目录是唯一识别字符串,最后才是放的静态资源文件,我开始觉得,既然唯一标示符已经能够确定一个网站的静态资源了,为什么还要用一个多于的hash数字在中间加一层目录呢? 原来是这样的:hash后取模,可以使网站静态资源均匀分布在1000(模数)个文件夹下。而且,网站用户有几百万,而linux一个文件夹最大的子文件夹数是32000个,所以存不下,必须加一层目录,如果按照上述方案,最多可以存1000 阅读全文
posted @ 2012-06-27 11:42 吴小露的新生活 阅读(3462) 评论(0) 推荐(0)

2012年6月14日

摘要: 这里讲的web数据交互主要是指前端,客户端和服务器进行数据交互的方式。现在流行的连接方式主要有三种:短连接轮巡,长连接,comet。关于长连接与短连接的内容,主要引用自一下博文:http://jiangzhengjun.iteye.com/blog/502966长连接与短连接所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,一般银行都使用短连接。比如http的,只是连接、请求、关闭,过程时间较短,服务器若 阅读全文
posted @ 2012-06-14 17:14 吴小露的新生活 阅读(3733) 评论(0) 推荐(0)

2012年6月13日

摘要: 以下转自其它博客。觉得总结得太好了,所以拿来自己参考一下。python中函数参数的传递是通过赋值来传递的。函数参数的使用又有俩个方面值得注意: 1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析先看第一个问题,在python中函数参数的定义主要有四种方式:1.F(arg1,arg2,...)这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说第一个形参对应这第一个实参。例... 阅读全文
posted @ 2012-06-13 07:59 吴小露的新生活 阅读(1587) 评论(0) 推荐(1)
 
摘要: Dive in Python 第四章的学习笔记第四章标题为自省的力量,主要介绍一些内置函数的用法。1. and与or,逻辑运算符,并不返回true或者false,而是返回运算参数的值,返回规则如下: a. 从左到右依次访问 b. and遇到第一个假值,直接返回假值。如果全部为真,返回最后一个真值。 c. or遇到第一个真值,直接返回真值。如果全部为假,返回最后一个假值。2. and-or组合用法:1 and a or b,类似于 bool?a:b 注意:在a为“”时不会得到预想的结果,可以使用如下形式: (1 and [a] or [b])[0] 阅读全文
posted @ 2012-06-13 07:51 吴小露的新生活 阅读(169) 评论(0) 推荐(0)

2012年6月12日

摘要: python在import module的时候 是按照以下顺序去import一个module的:1. 首先判断这个module是不是built-in即内建模块, 如果是则引入内建模块,如果不是则在一个称为sys.path的list中寻找2. sys.path在python脚本执行时动态生成,包括以下3个部分: a.脚本执行的位置,即当前路径 b.环境变量中的PYTHONPATH, 即.bash_profile c.安装python时的依赖位置['/home/work/wuxl/ownScript/pythonExe', '/home/work/tmp',  阅读全文
posted @ 2012-06-12 08:38 吴小露的新生活 阅读(4316) 评论(0) 推荐(1)

2012年2月28日

摘要: mysql镜像服务器为了实现高访问量时的负载均衡两个以上mysql服务器:主服务器,从服务器(可以多台)从服务器能够读取主服务器的binlog文件,且初始状态与主服务器手动同步主服务器可以只用来写,而其他从服务器用来读 PS:一般情况下一个数据库被读的次数要比被写的次数多很多最主要的配置是my.cnf文件,通过设置就可以实现,具体例子网上很多《数据库系统实现》学习笔记一个数据库管理系统必须满足的条件:允许用户通过数据定义语言来创建数据库并指定其模式(数据的逻辑组织结构)提供数据可以被查询和修改的语言支持大量数据的长期存储,高效的存取数据数据具有持久性,即能够从故障错误中回复孤立性:用户间不允许 阅读全文
posted @ 2012-02-28 20:54 吴小露的新生活 阅读(132) 评论(0) 推荐(0)

2012年2月27日

摘要: 这个周末又浑浑噩噩地度过了两天。打了两天游戏。仿佛又忘记了自己要奋斗,忘记了自己上一周的30岁之前的计划了。这是应该要反悔的事情。现在是晚上9点,我还在公司,回顾我一天的工作。我发现,我浪费了时间。开会占去了我3个小时时间,但是只有半个小时是有收获的。上午我只是看了一下阮一峰的博客,了解了一下基于用户投票的排名算法:delicious和HackerNews,简单的说就是通过公式去得出一个分数来判断一个网页或者帖子的优先级。下午看了一部分《轻松scrum之旅》,然后搭建了一下apache+tomcat+mysql的环境。整了半天才弄好,只能通过配置server.xml来使apache和tomca 阅读全文
posted @ 2012-02-27 23:34 吴小露的新生活 阅读(144) 评论(0) 推荐(0)