架构
浴盆
这个作者很懒,什么都没留下…
展开
-
聊聊架构(4)
单元测试要认识单元测试,首先要明白什么是单元(Unit)。所谓单元指的是代码调用的最小单位,实际上指的是一个功能块(Function)或者方法(Method)。单元测试是一种白盒测试,必须要对单元的代码细节很清楚才能做的测试。所以单元测试都是由软件工程师来做的。服务代码、管理者代码和存储代码都是不需要写单元测试的,因为这些代码是简单的顺序执行,而且通常有上下文,而单元测试的代码都是简单的顺序执翻译 2017-05-10 22:16:15 · 888 阅读 · 0 评论 -
聊聊架构(3)
什么是软件架构师在现实生活中,具备软件架构师头衔的人,大都是从软件工程师成长出来的,这个出身已经决定了他们的主要关注点是在软件和CS上。而要真正成长为一个架构师,首先需要克服的就是时间困境。为什么软件工程师会对时间有恐惧和压力呢?其原因是他们把按时完成自己的工作当成了自己的最大利益,并且对业务的不了解也会导致他们没有太大的把握。这就要求软件架构师把完成业务的工作当做自己的最大利益,深入到业务中去。随翻译 2017-05-07 14:28:09 · 1165 阅读 · 0 评论 -
现代前端技术解析(1)
浏览器组成通常我们认为浏览器主要由七部分组成:用户界面、网络、js引擎、渲染引擎、UI后端、js解释器和持久化数据存储。用户界面包括浏览器中可见的地址输入框,浏览器前进返回按钮等功能选项。浏览器引擎可以在用户界面和渲染引擎之间传送指令或在客户端本地缓存中读写数据等,是浏览器各个部分通信的核心。浏览器渲染引擎的功能是解析DOM文档和CSS规则并将内容排版到浏览器中显示有样式的页面,处理兼容问题时我们常翻译 2017-05-13 17:01:44 · 1931 阅读 · 0 评论 -
聊聊架构(1)
生命周期接触React的同学肯定对生命周期印象深刻,这是相对于组件而言的生命周期。举一个生活栗子,我们在一次购物场景中,从用户进入到商店,进行浏览、询问、购买等活动,到离开商店,也可以看做是一次购买活动的生命周期,这个生命周期的主体是购买活动。一个生命周期里面的活动可以进行拆分,拆分的原则就是形成若干个新的生命周期,每个新的生命周期都有自己的主体,比如上面说到的购物活动,又可以拆分成物品的选购和物品翻译 2017-05-06 15:45:29 · 2960 阅读 · 1 评论 -
聊聊架构(2)
我们接着上一篇聊聊架构(1)来聊软件中的架构。什么是软件软件的历史,可以说是用机器模拟人的历史的进一步发展。软件是提升生产力的一种手段,它让人们能够节省大量的工作时间,有更充足的时间去关注并推进自身的核心生命周期。 从冯诺依曼结构开始,程序逻辑开始脱离硬件,采用二进制编码。加上存储,配合输入输出等硬件,一个简化的大脑就出现了。图灵机则是模拟大脑的计算,用数学的方式把计算的过程定义了出来。这就是现在翻译 2017-05-06 17:06:15 · 1440 阅读 · 0 评论 -
现代前端技术解析(3)
MVVM数据检测手动触发指令绑定是比较直接的实现方式,主要思路是通过在数据对象上定义get()方法和set()方法,调用时手动触发get()或set()函数来获取、修改数据,改变数据后会主动触发get()和set()函数中View层的重新渲染功能。我们来看一个栗子 input q-value="value" type="text" id="input"> span q-tex翻译 2017-05-17 22:43:04 · 1112 阅读 · 0 评论 -
现代前端技术解析(2)
响应式页面响应式设计师指根据不同设备浏览器尺寸或分辨率来展示不同页面结构层、行为层、表现层内容的设计方式。响应式设计网站目前比较主流的实现方式有两种:一是通过前端或者后端判断useAgent来跳转不同的页面完成不同设备浏览器的适配,也就是维护两个不同的站点进行相应的跳转。二是使用media query媒体查询手段,让页面根据不同设备浏览器自动改变页面的布局和显示,但不做跳转。 先看第一种方案。要注翻译 2017-05-14 14:18:21 · 990 阅读 · 0 评论 -
前端架构设计
前端架构师们认为有多个关键的决策需要在项目启动之初就制定下来,如果等到开发阶段的后期再考虑,不是已经用不上,而是一开始错误的决定已经造成了无法挽回的损失。一旦做出这些决策,我们的任务就是去辅助视觉设计、平台开发、底层结构,使之能最大程度满足需求。 如果我们有这样的机会,那么可以创建一个很长的愿望清单:模块化内容。希望尽可能复用小的组件,而不是弄出几十个不同的内容块。全面测试。我们之前经常出现这翻译 2017-05-03 11:56:53 · 11362 阅读 · 0 评论