软件开发生命周期
前言最近研究React的时候,看到这样一个版本号 React 16 RC,非常疑惑,不知道这里的RC到底是什么意思。
软件版本周期查了相关资料才知道,这个和软件版本周期有关,然后在Wikipedia里找到了这张图,这是经过优化过的,原图比较丑^_^。
从图中可以看到,软件的整个版本周期包括两个大的部分:开发测试阶段和发布阶段。
开发测试阶段有我们比较熟悉的alpha、beta,以及在此之前的pre-alpha和在此之后的release candidate,也就是前言里提到的RC版本。
在发布阶段,又有RTM、GA以及Production等版本阶段。
开发测试阶段Pre-alpha有时候软件会在Alpha或Beta版本前先发布Pre-alpha版本。一般而言相对于Alpha或Beta版本,Pre-alpha版本是一个功能不完整的版本。
Alpha (内部测试版)Alpha版本仍然需要测试,其功能亦未完善,因为它是整个软件发布周期中的第一个阶段,所以它的名称是“Alpha”,希腊字母中的第一个字母“α”。这个版本一般不会对外发布。
Alpha版本通常会送到开发软件的组织或某群体中的软 ...
Jest自动化测试简介
![](/images/jest/jest.png)
简介Jest 被 Facebook 用来测试包括 React 应用在内的所有 JavaScript 代码。Jest 的一个理念是提供一套完整集成的 “零配置” 测试体验。
基础测试通过test和expect函数来完成一次最简单的测试:
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
如果sum函数返回的值就行我们测试描述的那样是3的话,测试通过。
结合enzymeenzyme是aribnb开源的一套测试React的库。它提供的mount方法可以模拟React里的render生成对应的DOM字符串,另外还提供了类似simulate的方法用来模拟事件操作。比如下边的测试例子:
it("should provide the actions and sub ...
残诗
你不经意间扣开了我的心窗
点亮了一点小小的希望
像深秋夜空中细细的星子
美得清澈
又无可奈何的渺茫
模块化和Webpack入门
简介本质上,webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。(摘自webpack中文文档)
模块化我们现在已经对前端的模块化习以为常了,但是,想想就在前几年,前端的模块化解决方案层出不穷。出现了各种规范和工具。所以,介绍webpack之前,先简述一下前端模块演进历史。
CommonJSCommonJS 是以在浏览器环境之外构建 JavaScript 生态系统为目标而产生的项目,比如在服务器和桌面环境中。
这个项目最开始是由 Mozilla 的工程师 Kevin Dangoor 在2009年1月创建的,当时的名字是 ServerJS。并于2009年8月改名为 CommonJS,以显示其 API 的更广泛实用性。
CommonJS 规范是为了解决 JavaScript 的作用域问题而定义的模块形式,可以使每个模块它自身的命名空间中执行。该规范的主要内 ...
plantuml简介
简介最近在学习设计模式,但是在画类图的时候,有一堆的画图工具可以选择,但总感觉用的不顺手。于是在网上找到了这个神奇的语言。PlantUML是一个开源项目,支持时序图、用例图、类图、活动图、组件图、状态图、对象图等的绘制。简而言之,就是用写代码的方式画图。几行代码,输出标准结构图,不用再去考虑结构、对齐等琐事啦!
效果预览如下简单的语法表达类图之间的关系
@startuml
Class01 <|-- Class02
Class03 <|.. Class04
Class05 *-- Class06
Class07 o-- Class08
Class09 <.. Class10
Class11 <-- Class12
@enduml
效果如下:
再看一下复杂一点的装饰者模式类图,代码如下
@startuml
namespace Decorator{
interface Component
interface Decorator
Component : +operation():void
ConcreateComponent ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment
夜雨
雷隐隐,风悄悄
这整夜的雨
淅淅沥沥潇潇
前端编程利器VS Code
前言前端同学使用的编辑器可选范围非常广泛。
最开始接触到前端的时候,听说了Dreamweaver这么一个强大的软件,但严格意义上讲,这不能算作一个编辑器。后来认识了NotePad++,在当时,这确实是一款非常好用的编辑器,语法高亮的友好度仅次于IDE,而且占用内存小,运行非常流畅。
再然后,有人推荐Sublime。我用的时候,还是Sublime 2,最吸引我的是它的mini map,拖动mini map快速浏览大段大段的代码,比拖动小小的滑块酸爽很多呀。再加上后来安装的各种插件,感觉我进入了一个全新的世界,Sublime才是我最想用的编辑器呀!
工作之后,听说大家都在用webstorm,于是我也安装了一个试试,功能确实强大,特别它自带的git管理以及编辑器内部打开terminal的功能,非常适合前端开发。但是,功能强大的webstorm太过于笨重,每次打开的时候都要等一会儿,占用内存太高,同时开启两个项目的时候,电脑就会特别卡,非常影响写代码的心情,而且,webstorm是收费软件,用了一段时间之后果断放弃。
这时,我尝试了一款觊觎已久的酷炫编辑器 Atom。用了Atom之后,我 ...
南湖向晚
没有偶遇记忆中雨后的彩虹
这里清清静静悄悄依旧
于是
晚霞偷偷染红了半边天空
故地重游的喜悦
总伴着物是人非的惆怅
回忆也显得那么美那么伤
那么无可奈何的凄凉
每一次心心念念的感慨
都装入成长路上破旧的行囊
变与不变的留恋
都化作或甜或苦的记忆珍藏
再次回归的少年依旧
因为我从未离开不曾遗忘
趁黄昏
十里春风独爱这柳树的枝头
趁黄昏,走一走
晚风亲吻着温柔
一次日落偏好那静静的巷口
趁黄昏,等一等
夕阳西下的守候