“软件设计”文章列表
构建在Windows平台之上的网站,往往会被业内众多架构师认为很“保守”。很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成的。由于长期缺乏开源支持,所以只能“闭门造车”,这样很容易形成思维局限性和短板。就拿图片服务器为例子,如果前期没有容量规划和可扩展的设计,那么随着图片文件的不断...
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一...
微博作为国内最大的社交媒体网站之一,每天承载着亿万用户的服务请求,这些请求的背后,需要消耗着巨大的计算、内存、网络、I/O等资源。而且因为微博的产品特性,节假日、热门事件等可能带来突发数倍甚至十几倍的访问峰值,这些都对于支撑微博的底层基础架构提出了比较严苛的要求,需要满足:每秒数十万的用户请求数...
1 简介 英文原文:MVC vs.MVP vs.MVVM 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform),使得UI更容易进行单元测试。 2 MVC/MVP 2.1 MVC 1、View接受用户的交互请求 2、View将请求转交给Controller ...
生活中很多人会调侃道:“每天手指在手机屏幕上滑动的距离比走路的距离还长!”随着指尖上的浏览融入到生活的方方面面,如何让用户手指滑动的更有效率,在滑动手指的同时看到更多想看的内容,而不白白滑动手指,是提升手机APP用户体验的重要方面。为深入理解人们的APP浏览行为,我们使用专门用于追踪移动设备注视...
领域驱动设计(DDD)的概念源于2004年著名建模专家Eric Evans发表的书籍:《Domain-Driven Design – Tackling Complexity in the Heart of Software》(中文译名:领域驱动设计—软件核心复杂性应对之道),池建强在2011年发...
本文发布于2009年10月30日 1. 由来 因为工作的原因,我从金蝶集团调入金蝶中间件公司工作以来,经常遇到一个问题就是中间件公司是个什么公司,中间件是什么?,金蝶不是做ERP的吗?怎么也做中间件?。这是我以前在金蝶集团时无法想象的问题。因为金蝶,金蝶ERP的品牌以及大众对ERP的了解,是...
着手写这篇文章时,正是七月伊始。想起九十五年前的七月,胡适先生发表了那篇在接下来的一个世纪都将遭受批判的文章——《多研究些问题,少谈些主义》。其时的中国,正被各种社会问题所困扰,也引发了学界对于各种“主义”的主张。 针对这些主义,胡适阐明了自己的态度——现在舆论界大危险,就是偏向纸上的学说,不...
英文原文:The Seven Information Smells of Domain Modelling 领域建模(Domain modelling )作为一项强大的技术,常备于很多IT专业人士的工具箱之中。令人遗憾的是,在过去的几年间,因为领域建模的几个问题导致人们对其大失所望,尤其是在敏...
引言 软件系统面向对象的设计思想可谓历史悠久,20世纪70年代的Smalltalk可以说是面向对象语言的经典,直到今天我们依然将这门语言视为面向对象语言的基础。随着编程语言和技术的发展,各种语言特性层出不穷,面向对象是大部分语言的一个基本特性,像C++、Java、C#这样的静态语言,Ruby、...
引子 在移动互联网、云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落伍了。夸张点说,甚至“出了门都不好意思跟别人打招呼”。尽管如此,对于REST这个泊来品的理解,大多数人(包括一些资深的架构师)仍然停留在“盲人摸象”的阶段。常常听到各种各...
双“11”最热门的话题是TB,最近正好和阿里的一个朋友聊淘宝的技术架构,发现很多有意思的地方,分享一下他们的解析资料: 淘宝海量数据产品技术架构 数据产品的一个最大特点是数据的非实时写入,正因为如此,我们可以认为,在一定的时间段内,整个系统的数据是只读的。这为我们设计缓存奠定了非常重要的基础...
生活中总会有些状况让我们无所适从摸不着头脑:面对一排电灯或空调的按钮,哪个才是控制我想要的?开锁时掏出一把钥匙,哪个才是正确的?拿起U盘插入电脑,朝那个方向才是对的?……类似的犹豫充分说明,你呆住了。现在,是需要“防呆设计”来拯救你了。 防呆定义 防呆(日语:ポカヨケ;英语:Fool-pro...
英文原文:Reddit: Lessons Learned from Mistakes Made Scaling to 1 Billion Pageviews aMonth Reddit[1]是一个社交新闻网站。用户可以将互联网上搜集或原创的图片或材料以帖子形式发布于网站上。而后其他用户可以投票...
登录? 两个输入框加一个按钮?还能怎么做? 那就先来看看为什么而做? 就数据而言,网站的流量仍是大量的匿名用户带来的。我们无法根据请求的任何方面(ip地址,用户代理等)准确识别来自同一人的连续请求。 不能识别,自然无法对其分类进而转化挖掘,获取网站所需的价值。 互联网服务于人,要开发一...
英文原文:A Brief Introduction to REST 作者:Stefan Tilkov,译者:苑永凯,发布于 2007-12-25 不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集中在基于SOAP、WS...
闲话REST(一) 记得有一位朋友曾经问过我这样一个问题:是不是无论传递什么东西都靠URI参数来做,就一定是符合REST风格的。我当时没有完全理解他的意思,便给了他一个现在看来不甚满意的回复。后来当我理解他的意思后,仔细考虑了产生这个问题的原因,觉得这是由于对在REST中URL所承担职责的一些...
英文原文:Why REST is so important 本文我们将讨论 REST,它定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,这是一个非常容易让人误解的概念。本文主要是写给那些想设计 WebService API 但却对 REST 没有十分清晰认识的开...
英文原文:Are you coding for change or for stability? 让我来给你们讲一个故事:当我在大学的时候,我选了一门“高级”面向对象编程课程。以前从来没有接触过这种知识,这个课程使用 SmallTalk 这种语言教学,而且教学方式非常特别;第一天,教授给我们布...
一、淘宝网的困境 对于淘宝网这样的大型电子商务网站,对于图片服务的要求特别的高。而且对于卖家来说,图片远胜于文字描述,因此卖家也格外看重图片的显示质量、访问速度等问题。根据淘宝网的流量分析,整个淘宝网流量中,图片的访问流量会占到90%以上,而主站的网页则占到不到10%。同时大量的图片需要根据不...