以图明志

软件架构技术

开发人员练就百般武艺为了啥?

业务领域,是软件的核心价值所在
无论是买成型的软件产品,还是出资开发项目,客户投资的是软件的业务价值。项目经理直接为这个目标负责,尽量少的成本,尽量短的时间,生产出高业务价值的软件产品。架构师则是跨越单个项目,长期为这个目标负责。项目经理与架构师是天生的敌人,短期看这是对的,长期来看,他们是真正的朋友,是战略朋友。没有项目经理项目会死得很快;还而没有架构师,公司会死得很惨。

软件架构技术

Google的分布式计算模型Map Reduce

map函数将输入分割成key/value对
计算机的早期阶段,程序都是serial(连续的),类似于批处理程序。并行计算的程序中,进程将一个任务分割成多个部分parts,每个“部分“都是能够并行处理的,每个“部分”可以同时运行在不同的cpu上,这些cpus可以是同一台机器上,也可以是通过网络运行在不同机器的cpu上。

软件架构技术

大规模分布式数据处理平台Hadoop的介绍

一种可靠、高效、可伸缩的处理方案
Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。

软件架构技术

什么样的应用才算是RESTful?

读 《REST in Practice》
尽管 REST 这个概念 2000 年就被提出来了,但到了2007 年才成为了一个热词,随后越来越多的服务都宣称自己是 RESTful 的,但是到底真么做才是真正的 REST 我从来没有自习学习过。由于 2007 年的时候 Ruby on Rails 也十分热门,所以我以为 Rails 风格的 CRUD API 就是 REST 了,同时对于外界关于「什么算是 REST 什么不算是 REST」的争论没怎么关心过。

软件架构技术

在系统设计中,如何控制层次的问题

设计的核心任务之一:层次的控制
对于软件而言,层次是让人又爱又恨的东西。很多问题是通过增加层次解决的,但另外一部分问题也是因为层次而导入的。通过加入层次解决问题的同时,新的问题也随之发生。在眼前蒙上一层薄纱可以防止眼睛被风沙所伤害,但如果蒙上十层,那更严重的后果将会出现——你看不到路了。

软件架构技术

软件系统架构中的分层思想

关于分层结构
众所周知,经典的三层结构包括数据访问层、业务逻辑层和表示层。当然,如果继续扩展下去,还可以分为4层、5层……我相信很多人都用过,很多人都写过,但是为什么要这么做,还是有一部分人是不能够说清楚的,这不是我猜想的,而是遇见过很多想分层但是分的乱七八糟的层次结构。

软件架构技术

编码工作也是一种设计

【设计 = 编码】 VS 【设计 ≠ 编码】
这篇文章的核心观点是:编码也是设计,而软件开发中与建筑行业中的施工所对等的工作,已经被编译器代理了。这是几近20年前的文章,但时至今日,类似的争论仍未休止。好像是在《软件架构设计》里,在讨论架构设计时,作者就点了一句:这总不能说是设计就是编码了吧。

软件架构技术

网站性能优化策略的选择

性能优化到何处为止?
人生三苦:选择,后悔,绝望。为了避免后两项,所以才绞尽脑汁去做出明智的选择。人人都无时无刻不面临选择。做软件开发的,从初级,到中级,到高级,所掌握的知识和技术越来越多,面临的选项越来越多,对选择进行评估也越来越困难和复杂,一项选择所造成的影响也越来越大。所以,做软件做到架构师,就是和人生三苦之一的“选择”整天打交道的职业。

软件架构技术

ECMALL的登录过程机制解析

这个过程程序执行效果非常的好
在ecmall.php文件中实例化控制器类,每一个控制器类,必须继承admin\app\backend.base.php文件。在继承中调用方法是谁先被继承谁的方法被先调用。继承其实结果就是为增加代码的可重用性,也就是你定义一个方法如果他有一定的共性可以被多个新增加的效果所调用。程序结构给人感觉似乎挺乱的,但是如果细心研究执行效果非常的好。

软件架构技术

简单谈谈Web Service概念的理解

云计算、云服务与Web Service
传统上,我们把计算机后台程序(Daemon)提供的功能,称为“服务”(service)。比如,让一个杀毒软件在后台运行,它会自动监控系统,那么这种自动监控就是一个“服务”。通俗地说,“服务”就是计算机可以提供的某一种功能。

软件架构技术

怎样架构网站才能顶得住巨大访量

谈谈部署架构与开发架构
一般情况下,架构分两种来讨论的,一种是开发架构,一种是部署架构。部署架构,就是开发完的程序在实际运行环境下,通过负载均衡,DNS轮询,SquID等等来减轻单台服务器负载,达到性能优化的目的。这里大家估计更想了解的是开发上的架构。我对这个的观点是,所有的架构都是死的,而性能优化策略是活的。

软件架构技术

如何理解并架构优秀的系统

学习这些经验能够有立杆见影的成果
你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们 那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterprise Java Beans)和代理(agent)是很有趣的东西。

软件架构技术

如何对系统进行性能测试

性能测试浅谈
性能测试的目的,简单说其实就是为了获取待测系统的响应时间、吞吐量、稳定性、容量等信息。而发现一些具体的性能相关的缺陷(如内存溢出、并发处理等问题),我认为只是一种附加结果。从更高的层次来说,性能测试最想发现的,是瓶颈。

软件架构技术

深入浅出REST架构

REST架构概述
REST是英文Representational State Transfer的缩写,中文翻译为“表述性状态转移”,他是由Roy Thomas Fielding博士在他的论文 《Architectural Styles and the Design of Network-based Software Architectures》中提出的一个术语。Rest是设计基于命名资源而非消息的松耦合应用程序。
1 / 3 首页 < Prev 1 2 3 Next > 尾页 页码: