关于软件架构师基本素质和天职【概念转摘】澳门美高梅手机网站

缓存格局 :

从 shopnc 的缓存驱动目录
/framework/cache里已部分完毕类来看,shopnc扶助以下5种缓存格局

  1.   apc
  2.   Eaccelerator
  3.   file
  4.  memcache
  5.  xcache

apc,Eaccelerator,xcache大致是五个事物,都是PHP底层的加快模块,他们首要用以缓存PHP的代码,在缓存用户数量方面应该是相比较少见的。

而memcache是一款系统融合为一的内部存款和储蓄器对象缓存系统,他对升高PHP的加载速度是未曾其余效果的,首要用作中间件,缓存数据库的数码。

memcache也是融为一炉在PHP
pecl里的三个零件,安装好PHP后,它就暗许被合并了,但貌似暗中认可都以关闭的,所以需求在php.ini里打开memcache.dll注释,就设置上了。

本身以前陷入过memcache的坑里,因为有3个叫memcached的缓存系统。而memcached是三个第3方的缓存系统,需求独自安装使用,开启守护进程,才能健康办事。

就算一字之差,差别却是十分大的。

memcache集成在php中也不便于分布式布置,会增多单机的负荷,所以慢慢被其余缓存格局如memcached,redis替代了。

 

总计shopnc在那缓存方式的选项:
shopnc创作之初就不是面向程序员团体,并不是很尊重的开源项目,主要代码进献者也是老祖宗团队。

民间使用者首若是有的站长,外包集团之类的,造成shopnc一向都是外包,接私活的掌珠,很少人会去关注她的代码质量,质量目标什么的,而对便捷方便安顿却有供给,

故此为何缓存系统都是php自带的,那样大大减轻了安插的难度,让更五个人用到(就足以收越来越多的版权费,哈哈).

 

基本素质

http://www.cnblogs.com/niyw/archive/2010/08/01/1789761.html

http://wenku.baidu.com/view/a65bd8f9770bf78a65295484.html

李维先生已经有过二回发言,讲到了3个框架结构师应该具备的表征:
 
1着力软件技术。要抢占数据库设计难点,必须长远领悟数据库的行事规律,而不是会写复杂的SQL会管理个
 
备份会设计个表结构即便通晓数据库。有人居然把会用hibernate\structs\spring当作自身会宗旨软件技术
 
2出品特色。你学了那么十二宗旨技术,到底要干呢?笔者直接在商业软件公司做事,没有在研讨所工作过。作者各
 
种技术要到位的正是协助公司软件生产,怎样更快更省力气品质更好商场竞争力更强。我一连以那么些条件来
 
证实一项技艺是不是对此作者的干活的话而实用。未来技术不胜枚举,在各类层次各类领域化解着各类环节的问
 
题。若是不以消除自身办事中的难题为圆心,很不难陷于到大气学学却更是茫然找不到出路的境界。
 
3软件趋势。在小卖部管理软件开发世界,往往会看到如此的场景:不少开发职员明白客户业务须求,长远第3
 
线做客户实施。他们读书技术也是为着缓解现有手头的题材。尤其企管软件开发世界,技术须求并不高
 
,而一旦不打听客户须求,开发的软件实用性就不强,即便你的成效开发的又性质好又安全性好也没实用意
 
义。所以,不少在企管软件开发领域工作连年的开发职员,形成了技能轻视观,甚至有种宗旨技术学习
 
无用论的想想。但企管软件开发世界,经过十多年的开拓进取,已经面临了许多挑衅。不过不少人觉着那是
 
大环境的政工,大环境不是1位一个公司能改变能影响的。大环境变,我们就接着变。大环境不变,咱也
 
一如既往。不过,笔者一度经历过了成都百货上千时代,见证了成都百货上千遗憾,大环境发生转移了,本身却跟不上了。
 
DOS\WINDOWS时代、单机\局域网时期、网络时期、移动增值时代。每三个一代都出了出乎预料,赚取的资财突
 
然高出传统方式数倍,而守旧方式者依旧在后续走守旧格局,辛勤的获利,而且随着价格战的加剧,越来越
 
麻烦,但还不思改变者并且还觉得不足改变者大有人在。
 
4翻新技术。笔者们反复会赶上这么的情事:要缓解手头的难题,摆在面前的有N种技术方案。选用哪个都有缺
 
点,综合来用又感觉到牛刀杀鸡了。有时候,大家还会蒙受另一种技术采纳,以后的软件趋势必然是那样那样
澳门美高梅手机网站, 
的,但昨日还尚无实现,今后的技巧方案都是过渡期的,所以大家还要等。不然利用未来的过渡期技术,开
 
发出去就被淘汰了。若是是那种以现状看技术的笔触,不管技术发展到什么样阶段,都有遗憾,都在向现在的
 
前程衔接。所以,作为二个架构师,比外人厉害就决心在,总是能把手里那么些技巧高超的选用,以化解本身
 
的难点。当然,你想把你手中的技巧能用活,你早晚是领略这项技艺的前后和那项技艺的适用领域,还
 
要深远掌握那项技艺的办事原理,还要领会的认识到你要化解的难点领域,不然,你无法把你的技巧和您要
 
消除的标题结合在一块儿。

利用实例: 

 

相似用到缓存最多的应当是

 

  1. 首页
  2. 商品详细页
  3. 分类页

 

那多少个页面,因为那多少个页面访问最多,而且要给用户带来一种 “网站非常的慢”
的感觉到,所以自个儿就从那多少个页面具体分析一下shopnc对缓存的选择

 

首页:

 1 class indexControl extends BaseHomeControl{
 2     //首页
 3     public function indexOp(){
 4         Language::read('home_index_index');
 5         Tpl::output('index_sign','index');
 6 
 7         //推荐店铺
 8         $model_store = Model('store');
 9         $r_store = $model_store->getRecommendStore(9);
10         Tpl::output('show_recommend_store',$r_store);
11         
12         //收藏店铺
13         $f_store = $model_store->getFavoritesStore(3);
14         Tpl::output('show_favorites_store',$f_store);

 

首页会重新数13回如上品绿的代码来获得要体以往首页的数码,而现实获取的动作是在模型中有实际的章程去实现,下边代码种的F方法正是用来写入缓存,但是那种写入缓存的艺术只辅助文件缓存,

因而地点的代码都以运用文件缓存,那令人倍感很质疑.

与此同时shopnc并不能够设置缓存过期时刻,没有更新时机,唯有后台删除缓存才会更新,若是比较疏于管理,网站首页就会给人一种万年不变的感觉.

 1     public function getCacheStore($count = 3,$cache_name,$condition,$order) {
 2         //$cache_name = store
 3         $list = F($cache_name,'','cache/index');
 4 
 5         if (!$list){
 6             $field = 'store_id,store_name,member_name,store_domain,store_credit,store_logo';
 7             $list = $this->field($field)->where($condition)->order($order)->limit(5)->select();
 8             if(!empty($list)) {
 9                 foreach ($list as $key=>$value) {
10                     $value['store_logo'] = getStoreLogo($value['store_logo']);
11                     $value['credit_arr'] = getCreditArr($value['store_credit']);
12                     $list[$key] = $value;
13                 }
14 //                统计店铺商品数量
15                 $list = $this->getGoodsCountByStoreArray($list);
16             }
17             //写入缓存,什么时候更新缓存?  没有更新时机,只有后台删除缓存才会更新
18             F($cache_name,$list,'cache/index');
19         }
20         if(count($list) <= $count) {
21             return $list;
22         } else {
23             return array_slice($list,0,$count);
24         }
25     }

 

货物详细页:

本条页面中有用到memcache缓存,写入是用wcache()方法,读取是用rcache()方法.

缓存的全局过期方法能够在config.ini.php中设置,暗中认可为3600,不过这么些日子对文件缓存却不适用,抹泪….

澳门美高梅手机网站 1

1 //生成缓存的键值
2         $hash_key = $goods_array['goods_id'];
3         //先查找$hash_key缓存
4         $cachekey_arr = array('likenum','sharenum','brand_name');
5         if ($_cache = rcache($hash_key,'product')){
6             foreach ($_cache as $k=>$v){
7                 $goods_array[$k] = $v;
8             }
9         }else {

地方的代码是在/control/goods.php中的indexop()方法中,首要用于缓存用户喜爱的商品数量和列表.

 

小结:SHOPNC的缓存安排容易,对于增强质量有不小的扶助,而且缓存方式简单,封装合理,固然有些过时,但假如对shopnc进行三回开发,并没有重构缓存系统的须求.

 

任务范围

http://www.cnblogs.com/niyw/archive/2010/08/04/1792597.html

  1,供给整理分析
  2,系统一分配解
  3,技术选型
  4,系统规划
  5,培养和操练与指点
  6,保持调换

如何成为三个架构师

http://blog.sina.com.cn/s/blog_3eb02a480100b32w.html

由上可知,成为一个架构师须求大家不停的修炼那个有关的始末。

定义

先看看百度百科的定义: http://baike.baidu.com/view/1194938.htm

架构师是软件行业中一种新兴职业,工作职务是在1个软件项目开销进程中,将客户的必要变换为正规的开发铺排及文件,并制定这几个类型的欧洲经济共同体架构,辅导整个开发公司形成那些布署。架构师的首要性职务不是从事实际的软件程序的编写制定,而是从事更高层次的开销构架工作。他必须对开发技术分外了然,并且需求有美好的组织管制力量。能够如此说,三个架构师工作的三六九等决定了百分百软件开发项目标胜败

上篇介绍了架构师看的一些材质http://www.cnblogs.com/2018/archive/2011/08/03/2125714.html,未来把架构师的有的基本素质和天职汇总一下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注