随笔分类 -  开发日志

摘要:加缓存会增加程序的复杂度(缓存更新策略)。而一般数据库的优化,不会增加程序的复杂度。即使是增加一些冗余字段,复杂度也不高。所以首先把数据库优化到没法再榨取性能了,之后才加缓存比较合理。 阅读全文
posted @ 2012-01-20 00:17 rethink 阅读(353) 评论(0) 推荐(0) 编辑
摘要:1 开发阶段每天短会议: 每天早上9点15分举行个简短的会议。 会议内容 组长需要准备的内容: A 当天要开发的需求,注意点,难点等 B 项目的最新消息 参与者每天的会议需要交流这些信息: A我昨天做了什么 B我今天要做什么 C有什么问题妨碍我取得进展 阅读全文
posted @ 2012-01-20 00:11 rethink 阅读(558) 评论(0) 推荐(0) 编辑
摘要:1 一次性读取整个csv文件为大数组,再进行处理,逻辑上虽然直观,但内存占用很大,效率低。应该读取一行,处理一行。2 如果有多级循环,内层循环数组的时候,如果确定某个值已经不再使用了,可以直接unset掉该值,这样可以减少内层循环的次数,提高效率。 阅读全文
posted @ 2011-04-08 14:09 rethink 阅读(284) 评论(0) 推荐(0) 编辑
摘要:转载自:http://msdn.microsoft.com/zh-cn/library/cc288325(v=VS.85).aspx#配置_Web_服务器以指定默认兼容性模式更新日期: 2009 年 2 月文档兼容性可定义 Internet Explorer 呈现网页的方式。 本文将介绍文档兼容性、如何为网页指定文档兼容性模式以及如何确定网页的文档模式。简介了解文档兼容性的必要性了解文档兼容性模式... 阅读全文
posted @ 2010-10-11 11:36 rethink 阅读(559) 评论(0) 推荐(0) 编辑
摘要:symfony 1.0版本中的表单重填(当提交表单出现error的时候,要在表单中显示之前用户的输入)中的核心类:/lib/symfony/util/sfFillInForm.class.php[代码] 阅读全文
posted @ 2010-08-02 15:03 rethink 阅读(380) 评论(0) 推荐(0) 编辑
摘要:【常用命令】说明,如果本机没有配置 php path(如d:\AppServ\php5;)为系统变量的话,命令前都要加上php。1  查看symfony版本:  symfony -V2  创建project:  symfony generate:project PROJECT_NAME3  创建app:  在symfony project的目录下,执行  symfony generate:app ... 阅读全文
posted @ 2009-11-30 15:17 rethink 阅读(273) 评论(0) 推荐(0) 编辑
摘要:Usage:symfony [options] task_name [arguments]Options:--dry-run -n Do a dry run without executing actions.--help -H Display this help message.--quiet -q Do not log messages to standard output.--trace -... 阅读全文
posted @ 2009-11-30 14:54 rethink 阅读(418) 评论(0) 推荐(0) 编辑
摘要:百度百度的spider的user agent都会包含Baiduspider 字符串。相关资料:http://www.baidu.com/search/spider.htmgooglegoogle的spider的user agent都会包含 Googlebot 字符串。相关资料:http://www.google.com/bot.htmlsosososo的spider的user agent都会包含S... 阅读全文
posted @ 2009-11-09 17:07 rethink 阅读(449) 评论(0) 推荐(0) 编辑
摘要:web服务器在向浏览器发送任何内容的时候,都会先发送相应的header头。无论是html文本,还是gif,jpg等文件。header信息里面一般会包含:Date,Server,Last-Modified,Etag,Content-Length,Content-Type等等信息。深入了解header里面的信息很有必要,因为这是浏览器是否使用浏览器缓存文件,及能否正确解析文件的基础。最近遇到页面的显示... 阅读全文
posted @ 2009-11-04 15:30 rethink 阅读(1407) 评论(2) 推荐(0) 编辑
摘要:在我们保存UTF8文本文件的时候,可以选择带签名,或者不带签名。也就是 有BOM 格式编码,或者 无BOM格式编码。如果看文件的内容,是看不出任何差别的,以下列文件(schema.sqlite.sql)内容为例:[代码]如果不带签名,则文件的大小为232字节,如果带签名,则文件大小为235字节。UTF8签名有3个字节(内容为:EFBBBF),是专门用来告诉软件:该文件是UTF8编码的。在一般情况下... 阅读全文
posted @ 2009-10-30 14:27 rethink 阅读(535) 评论(1) 推荐(0) 编辑
摘要:在较复杂的web程序开发中,由于采用面向对象的数据操作方式,或者业务逻辑太过复杂,开发人员在开发过程中,经常会无意识的重复读取数据。比如:$result1 = tableobjectPeer::getResult($var1,$var2,$var3);开发人员在需要的该table数据的时候,经常直接调用tableobjectPeer::getResult方法。又或者程序在进行forward()的时... 阅读全文
posted @ 2009-09-21 14:23 rethink 阅读(500) 评论(0) 推荐(0) 编辑
摘要:“PHP程序员,特别是从php4,甚至是PHP3中成长起来的程序员,很多都不习惯使用抛出异常这种错误处理方式。虽然php5引入了异常处理机制,但是很多php程序员还是没有真正的掌握并使用它。网站完全开放的特性,决定了网站比任何传统软件都更希望做到“系统看起来永远都是能够正常工作的”,所以采用正确的程序错误处理方式尤为重要。理论上来说,如果设计足够完美,开发人员足... 阅读全文
posted @ 2009-08-26 23:05 rethink 阅读(380) 评论(0) 推荐(1) 编辑
摘要:在项目初期,项目组长一般都会建立TOP RISK LIST(风险清单),随着项目的推进,有些风险已经避免,或者发生转移,也有可能遇到新的风险。较悲观的情况是,你意识到了风险在哪儿,且传达了足够的风险警告,但由于开发人员水平的限制,或者没有考虑到所有可能的情况,最终问题还是如期而至了。在最近的项目中,就发生了类似的情况。最后决定在问题代码块,引入“风险控制”机制。基本的策略是... 阅读全文
posted @ 2009-08-26 22:58 rethink 阅读(306) 评论(0) 推荐(0) 编辑