UNIX艺术

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年2月17日

摘要: 视图渲染流程:render($view, $data, $return) |beforeRender() |渲染View文件,调用renderPartial(),要求处理输出结果 | |----> 根据$view得到viewFile文件名 | renderFile(),要求返回渲染结果,做下一步处理 | |-----------> 获取widget的数目 | ... 阅读全文
posted @ 2013-02-17 10:47 jinhuawang76 阅读(198) 评论(0) 推荐(0) 编辑

摘要: 应用执行流程:浏览器向服务器发送 Http Request | 控制器(protected/controllers) | |---> Action | 创建模型 (Model) | 检查$_POST输入 | 渲染视图 | render()第二个参数作为控制器与视图接口参数 | |----> View (protected/views) | ... 阅读全文
posted @ 2013-02-17 10:46 jinhuawang76 阅读(218) 评论(0) 推荐(0) 编辑

2013年2月14日

摘要: 很多系统都需要服务端的开发,在很多时候首先会考虑基于Linux或者Unix的后台服务器系统。作为将要运行中服务器软件之上的应用系统,希望服务器的扩展性越多越好,业务逻辑扩充越容易越好。是否可以考虑设计一个可扩展的服务器开发平台呢?最好是支持基于Web的可视化组件式开发,并且能够自动将软件部署到多个分布式的物理服务器中。在扩展性方面,对于并行处理量小的应用,可以把通信和业务处理集中到一台服务器中,称之为Compat的模式,对于并发量有一定需求的,可以把通信服务与业务处理分开,形成分布式的处理机制。也可能目前只需要做一台协议转换器,也可能只处理业务逻辑不管通信。这样的架构既能满足业务发展的弹性需要 阅读全文
posted @ 2013-02-14 09:23 jinhuawang76 阅读(462) 评论(0) 推荐(0) 编辑

摘要: 我们都关心自己的能力,招聘或者应聘也是关心能力,职业发展中更关心能力,究竟能力是如何发展的?如何提升自己的能力呢?我就研发团队和我个人的经历进行总结,用定性的能力发展曲线图阐述能力提升关键要素。首先,能力分为两个方向,宏观全局方面和微观细节方面,简单的说,就是考虑事情的能力和执行事情的能力,或者说思想力和执行力。(注:这句的描述可能不是特别准确,目的是体现能力的两个方面,既有“天”的一面,也有“地”的一面。)其次,能力是曲折提升,不断变化的,突出一个“动“的思想;第三,事物的发展有趋向终结的趋势,这是必然规律,如何保持持续的提升,必须寻找不同的切入点,否则就会陷入停滞。在能力发展曲线图中,红线 阅读全文
posted @ 2013-02-14 08:35 jinhuawang76 阅读(966) 评论(0) 推荐(0) 编辑

2013年2月11日

摘要: 凡事有计划:凡事预则立,不预则废,事前准备自己需要准备的,节省其他协作人的时间和精力,会前通知并附相关材料。计划必执行:保证计划的事情落实到实际工作中,不做思想的巨人,行动的矮子。执行有跟踪:事情一旦开始,决不能轻易放到可能充满灰尘的角落,保持事情按照计划进行。跟踪有记录:跟踪事情过程中,记录执行细节,为将来储备。持续去改进:有了计划、执行、跟踪和记录,何愁事情不会改进?每天的付出终会浇灌出成功的结果,这要是量变到质变的过程。 阅读全文
posted @ 2013-02-11 10:43 jinhuawang76 阅读(138) 评论(0) 推荐(0) 编辑

2013年2月10日

摘要: 使用JQuery和PHP(Yii框架)不到一年,比较喜欢使用AJAX方式,将JQuery的AJAX机制进行了再次封装,实现功能如下:1)将处理结果显示到页面的div中,或者任意的元素中(包括input、span)2)请求可用form.serialize()提交,也可自定义参数3)带简单的调试信息编程规范如下:页面========1)需要发送给服务器的元素放到Form中,如使用ajax方式,button放到form以外2)每个元素需要定义name属性,格式为Class[attribute],Class是数据类别,一般对应后台数据的Model名称,attribute是属性3)如使用ajax方式,页 阅读全文
posted @ 2013-02-10 21:29 jinhuawang76 阅读(307) 评论(0) 推荐(0) 编辑

摘要: 原则1. 模块原则:使用简洁的接口拼合简单的部件。无论是软件需求分析、设计与开发,我无意识的遵从使用简单接口的拼合方式,从体系架构到模块设计,从需求分析文档到日常工作。特别是在研发团队内外部协作的工作中,我也潜移默化的受到该原则的影响,也就总结出前面文章中提到的边界原理。在企业中,每个人是一个基本模块,部门是一个大的功能模块,公司又是社会这个大产品环境下的更大的模块,而项目组是根据策略,在公司机制下的临时功能模块。每个模块有自己的功能和职责,每个模块之间定义好简洁的接口,即公司的规则,整个系统将会高效率运行。每位工程师作为这个有机整体下的一个小模块,最好手边的每一件事情,包括Email、各种记 阅读全文
posted @ 2013-02-10 19:29 jinhuawang76 阅读(111) 评论(0) 推荐(0) 编辑

摘要: 方便查询文件中的字符串文件名:findstrView Code 1 if [ $# -ne 2 ] 2 then 3 echo "info : invalid argument number [$#]" 4 echo "usage: $0 string file_filter" 5 exit -1 6 fi 7 8 find . -name "$2" -print|while read ff 9 do10 nn=`grep "$1" $ff|wc -l`11 if [ $nn -gt 0 ]12 ... 阅读全文
posted @ 2013-02-10 19:12 jinhuawang76 阅读(128) 评论(0) 推荐(0) 编辑

摘要: 为了便于在当前目录下查找某些文件,替换其中的某些字符串,编写了一个简单脚本。其实第一个参数可以不需要,默认为当前路径即可。脚本名:rs,意为replace stringView Code 1 # replace strings in multiple files 2 if [ $# -ne 4 ] 3 then 4 echo "usage: $0 work_folder file_filter str1 str2" 5 echo " If you want to use blank instead of str1, set str2 as \"__... 阅读全文
posted @ 2013-02-10 19:08 jinhuawang76 阅读(173) 评论(0) 推荐(0) 编辑

摘要: 无论是自己的兴趣还是与工作需求,经常需要在Ubuntu Server上安装LAMPP,于是乎自己编写了自己需要的安装脚本,主要功能如下:1)安装到指定目录,默认安装到/opt/lampp2)支持多个版本,使用符号链接3)添加自启动脚本代码如下:查看代码 1 #Install lampp 2 # parameters: 3 # $1: mandatory, install package 4 # $2: mandatory, lampp version, ex. 1.8.1 5 # $3: optional, target folder, default is /opt/lampp ... 阅读全文
posted @ 2013-02-10 19:05 jinhuawang76 阅读(268) 评论(0) 推荐(0) 编辑