We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
维基 - MIT许可证
MIT许可协议(The MIT License)是一种比较宽松的软件许可协议.
其内容可简单概括如下
被许可人权利 : 被许可人有权利使用、复制、修改、合并、出版发行、散布、再许可和/或贩售软件及软件的副本,及授予被供应人同等权利,惟服从以下义务。
被许可人义务 : 在软件和软件的所有副本中都必须包含以上版权声明和本许可声明。
维基 - 工作流
工作流(Work Flow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。
我个人对工作的理解是:通过人脑对某项工作过程的规则和逻辑进行抽象,由此建立一个模型.再通过这个模型把其中计算机方便实现的部分交给计算机实现,把剩余只能让人来完成的部分交给人来做的一个机制. 利用工作流可以使得人无需关心整个工作流程只要做好一部分计算机无法处理的任务就行.从而解放生产力提高效率和减少失误.
目前,大部分工作流指的应该是公司运行中的工作相关业务流程. 但是我觉得这个概念是可以运用到IT开发中的.
所以我们要使用webpack来管理这么脚本~~~~
浏览器的回流与重绘 (Reflow & Repaint)
回流(reflow) : 当Render Tree中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档的过程称为回流。
重绘(repaint): 当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、background-color、visibility等),浏览器会将新样式赋予给元素并重新绘制它,这个过程称为重绘。
回流必将引起重绘,重绘不一定会引起回流。 回流比重绘的代价要更高。
维基 - 运行时库
运行时库(runtime library,又称运行期库),在计算机程序设计领域中,是指一种被编译器用来实现编程语言内置函数以提供该语言程序运行时(执行)支持的一种特殊的计算机程序库。
运行时库是由编译器决定,面向的是编程语言,用以提供其最基本的执行时需要.
React基础——JSX语法 preact 源码学习系列之一:JSX解析与DOM渲染
JSX的特点
JSX基本语法规则 JSX本身就和XML语法类似,可以定义属性以及子元素。唯一特殊的是可以用大括号来加入JavaScript表达式。遇到 HTML 标签(以 < 开头),就用 HTML 规则解析;遇到代码块(以 { 开头),就用 JavaScript 规则解析。
维基 - 关注点分离
关注点分离(Separation of concerns,SOC)是对只与“特定概念、目标”(关注点)相关联的软件组成部分进行“标识、封装和操纵”的能力,即标识、封装和操纵关注点的能力。是处理复杂性的一个原则。
关注点分离在计算机科学中,是将计算机程序分隔为不同部分的设计原则,是面向对象的程序设计的核心概念。
关注点分离的价值在于简化计算机程序的开发和维护。
维基 - 反面模式
在软件工程中,一个反面模式(anti-pattern或antipattern)指的是在实践中明显出现但又低效或是有待优化的设计模式,是用来解决问题的带有共同性的不良方法。
高阶组件
高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。
高阶组件(HOC)是react中的高级技术,用来重用组件逻辑。但高阶组件本身并不是React API。它只是一种模式,这种模式是由react自身的组合性质必然产生的。
对比组件将props属性转变成UI,高阶组件则是将一个组件转换成另一个组件。
维基 - 柯里化 JS函数编程指南
在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
实例:
var add = function(x) { return function(y) { return x + y; }; }; var increment = add(1); var addTen = add(10); increment(2); // 3 addTen(2); // 12
单例模式
单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。
维基 - 沙盒
在计算机安全领域,沙盒(英语:sandbox,又译为沙箱)是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。
沙盒通常严格控制其中的程序所能访问的资源,通常用来跑恶意代码。
维基 - 单一功能原则
单一功能原则(Single responsibility principle) 规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该功能平行(功能平行,意味着没有依赖)。
白话设计——浅谈迪米特法则
Only talk to your immediate friends.
**迪米特法则(Law of demeter,缩写是LOD) **要求:一个对象应该对其他对象保持最少了解, 通缩的讲就是一个类对自己依赖的类知道的越少越好,也就是对于被依赖的类,向外公开的方法应该尽可能的少。
不难发现,迪米特法则强调了一下两点:
第一要义:从被依赖者的角度来说:只暴露应该暴露的方法或者属性,即在编写相关的类的时候确定方法/属性的权限
第二要义:从依赖者的角度来说,只依赖应该依赖的对象
维基 - 测试驱动开发
测试驱动开发(英语:Test-driven development,缩写为TDD 是一种软件开发过程中的应用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名。
单元测试 (Unit Testing 又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法
集成测试 又称整合测试或者组装测试,即对程序模块采用一次性或增值方法组装起来,对系统的接口进行正确性检验的测试工作。集成测试一般在单元测试之后、系统测试之前进行。实践表明,有时模块虽然可以单独工作,但是不能保证组装起来也可以同时工作。
自动化测试 自动化测试是相对手工测试而存在的,所以自动化测试的真正含义可以理解为"一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行"
功能测试 就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
性能测试 通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统提供的最大服务级别的测试。
安全测试 安全测试是在IT软件产品的生命周期中,特别是开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。
百度 - mock测试
mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟对象来创建以便测试的测试方法
维基 - 纯函数
在程序设计中,若一个函数符合以下要求,则它可能被认为是纯函数:
此函数在相同的输入值时,需产生相同的输出。函数的输出和输入值以外的其他隐藏信息或状态无关,也和由I/O设备产生的外部输出无关。
该函数不能有语义上可观察的函数副作用,诸如“触发事件”,使输出设备输出,或更改输出值以外物件的内容等。
github-webpack中loader和plugin的区别是什么
loader
plugin
软件开发模式:瀑布与敏捷
瀑布开发 优点 - 阶段清晰.从计划到开发最后到上线,三个阶段非常清晰 - 时间顺序.每个阶段顺序必须是从上到下,严格按照时间先后进行 - 环环相扣.在每一个阶段都必须有产出物才能进入到下一阶段进行 - 黑盒模式.每个阶段都有各自的角色和分工 缺点 - 需求隔离.由于各阶段人员只能接触到自己工作范围内的东西,所以对客户的理解程度高低不一. - 变更代价大 - 束缚创造性.因为强调文档管理,所以有利于管理人员,但是束缚了开发人员的创造性 - 周期漫长
敏捷开发 Scrum 是橄榄球的一个专业术语,表示"争球".把开发流程取名为一项体育运动,能感觉到其中碰撞,冲突,激情. 敏捷开发是一种指导思想,Scrume和XP则是敏捷开发的具体流程. Scrum三大角色是:产品负责人,开发团队,流程管理员.Scrum是一个理想化的开发流程,前提是角色完整,分工明确,配合默契,沟通融洽.如果出现其中任何一个环节的故障,可能都会破坏流程的效率.比如,开发经理和流程管理员脾气一样倔强,脾气互斥,那个整个效率就打折扣.我感觉在招聘人员,团结组建的过程中,我们务必要寻找气味相投的人,这可以减少开发过程中的冲突. Scrum和瀑布的本质区别是,一个以文档为本,一个以人为本.在以为人为本的团队里,领导者的文化就是团队的文化.如果领导者不透明,喜欢玩虚假,自大,官僚气十足,这个团基本上就没什么希望了.人必须是主人,有能动性,这个高度困难.因为如何让团队觉得公司的事是我家里的事是高度困难的,因为有些开发人员自己家里的事都没怎么认真过.想要做到这点,而要老板重视,否则中层领导我感觉一般心有余力不足.
开发流程
The text was updated successfully, but these errors were encountered:
No branches or pull requests
MIT许可证(The MIT License)
维基 - MIT许可证
MIT许可协议(The MIT License)是一种比较宽松的软件许可协议.
其内容可简单概括如下
被许可人权利 : 被许可人有权利使用、复制、修改、合并、出版发行、散布、再许可和/或贩售软件及软件的副本,及授予被供应人同等权利,惟服从以下义务。
被许可人义务 : 在软件和软件的所有副本中都必须包含以上版权声明和本许可声明。
工作流
维基 - 工作流
工作流(Work Flow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。
我个人对工作的理解是:通过人脑对某项工作过程的规则和逻辑进行抽象,由此建立一个模型.再通过这个模型把其中计算机方便实现的部分交给计算机实现,把剩余只能让人来完成的部分交给人来做的一个机制.
利用工作流可以使得人无需关心整个工作流程只要做好一部分计算机无法处理的任务就行.从而解放生产力提高效率和减少失误.
目前,大部分工作流指的应该是公司运行中的工作相关业务流程.
但是我觉得这个概念是可以运用到IT开发中的.
JS 采用隐式依赖会存在的问题
所以我们要使用webpack来管理这么脚本~~~~
JS parseInt()和Number()区别
Canvas fillText()和strokeText()区别
回流和重绘
浏览器的回流与重绘 (Reflow & Repaint)
回流(reflow) : 当Render Tree中部分或全部元素的尺寸、结构、或某些属性发生改变时,浏览器重新渲染部分或全部文档的过程称为回流。
重绘(repaint): 当页面中元素样式的改变并不影响它在文档流中的位置时(例如:color、background-color、visibility等),浏览器会将新样式赋予给元素并重新绘制它,这个过程称为重绘。
回流必将引起重绘,重绘不一定会引起回流。
回流比重绘的代价要更高。
运行时库(runtime library)
维基 - 运行时库
运行时库(runtime library,又称运行期库),在计算机程序设计领域中,是指一种被编译器用来实现编程语言内置函数以提供该语言程序运行时(执行)支持的一种特殊的计算机程序库。
运行时库是由编译器决定,面向的是编程语言,用以提供其最基本的执行时需要.
JSX特点和基本语法规则
React基础——JSX语法
preact 源码学习系列之一:JSX解析与DOM渲染
JSX的特点
JSX基本语法规则
JSX本身就和XML语法类似,可以定义属性以及子元素。唯一特殊的是可以用大括号来加入JavaScript表达式。遇到 HTML 标签(以 < 开头),就用 HTML 规则解析;遇到代码块(以 { 开头),就用 JavaScript 规则解析。
关注点分享
维基 - 关注点分离
关注点分离(Separation of concerns,SOC)是对只与“特定概念、目标”(关注点)相关联的软件组成部分进行“标识、封装和操纵”的能力,即标识、封装和操纵关注点的能力。是处理复杂性的一个原则。
关注点分离在计算机科学中,是将计算机程序分隔为不同部分的设计原则,是面向对象的程序设计的核心概念。
关注点分离的价值在于简化计算机程序的开发和维护。
反模式(反面模式)
维基 - 反面模式
在软件工程中,一个反面模式(anti-pattern或antipattern)指的是在实践中明显出现但又低效或是有待优化的设计模式,是用来解决问题的带有共同性的不良方法。
react 高阶组件
高阶组件
高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。
高阶组件(HOC)是react中的高级技术,用来重用组件逻辑。但高阶组件本身并不是React API。它只是一种模式,这种模式是由react自身的组合性质必然产生的。
对比组件将props属性转变成UI,高阶组件则是将一个组件转换成另一个组件。
柯里化
维基 - 柯里化
JS函数编程指南
在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
实例:
单例模式
单例模式
单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。
沙盒
维基 - 沙盒
在计算机安全领域,沙盒(英语:sandbox,又译为沙箱)是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。
沙盒通常严格控制其中的程序所能访问的资源,通常用来跑恶意代码。
单一功能原则
维基 - 单一功能原则
单一功能原则(Single responsibility principle) 规定每个类都应该有一个单一的功能,并且该功能应该由这个类完全封装起来。所有它的(这个类的)服务都应该严密的和该功能平行(功能平行,意味着没有依赖)。
迪米特法则
白话设计——浅谈迪米特法则
Only talk to your immediate friends.
**迪米特法则(Law of demeter,缩写是LOD) **要求:一个对象应该对其他对象保持最少了解, 通缩的讲就是一个类对自己依赖的类知道的越少越好,也就是对于被依赖的类,向外公开的方法应该尽可能的少。
不难发现,迪米特法则强调了一下两点:
第一要义:从被依赖者的角度来说:只暴露应该暴露的方法或者属性,即在编写相关的类的时候确定方法/属性的权限
第二要义:从依赖者的角度来说,只依赖应该依赖的对象
测试驱动开发
维基 - 测试驱动开发
测试驱动开发(英语:Test-driven development,缩写为TDD 是一种软件开发过程中的应用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名。
测试相关
单元测试 (Unit Testing 又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法
集成测试 又称整合测试或者组装测试,即对程序模块采用一次性或增值方法组装起来,对系统的接口进行正确性检验的测试工作。集成测试一般在单元测试之后、系统测试之前进行。实践表明,有时模块虽然可以单独工作,但是不能保证组装起来也可以同时工作。
自动化测试 自动化测试是相对手工测试而存在的,所以自动化测试的真正含义可以理解为"一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行"
功能测试 就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
性能测试 通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统提供的最大服务级别的测试。
安全测试 安全测试是在IT软件产品的生命周期中,特别是开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。
mock
百度 - mock测试
mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟对象来创建以便测试的测试方法
纯函数
维基 - 纯函数
在程序设计中,若一个函数符合以下要求,则它可能被认为是纯函数:
此函数在相同的输入值时,需产生相同的输出。函数的输出和输入值以外的其他隐藏信息或状态无关,也和由I/O设备产生的外部输出无关。
该函数不能有语义上可观察的函数副作用,诸如“触发事件”,使输出设备输出,或更改输出值以外物件的内容等。
webpack中loader和plugin的区别是什么
github-webpack中loader和plugin的区别是什么
loader
plugin
敏捷开发和瀑布开发
软件开发模式:瀑布与敏捷
瀑布开发
优点
- 阶段清晰.从计划到开发最后到上线,三个阶段非常清晰
- 时间顺序.每个阶段顺序必须是从上到下,严格按照时间先后进行
- 环环相扣.在每一个阶段都必须有产出物才能进入到下一阶段进行
- 黑盒模式.每个阶段都有各自的角色和分工
缺点
- 需求隔离.由于各阶段人员只能接触到自己工作范围内的东西,所以对客户的理解程度高低不一.
- 变更代价大
- 束缚创造性.因为强调文档管理,所以有利于管理人员,但是束缚了开发人员的创造性
- 周期漫长
敏捷开发
Scrum 是橄榄球的一个专业术语,表示"争球".把开发流程取名为一项体育运动,能感觉到其中碰撞,冲突,激情.
敏捷开发是一种指导思想,Scrume和XP则是敏捷开发的具体流程.
Scrum三大角色是:产品负责人,开发团队,流程管理员.Scrum是一个理想化的开发流程,前提是角色完整,分工明确,配合默契,沟通融洽.如果出现其中任何一个环节的故障,可能都会破坏流程的效率.比如,开发经理和流程管理员脾气一样倔强,脾气互斥,那个整个效率就打折扣.我感觉在招聘人员,团结组建的过程中,我们务必要寻找气味相投的人,这可以减少开发过程中的冲突.
Scrum和瀑布的本质区别是,一个以文档为本,一个以人为本.在以为人为本的团队里,领导者的文化就是团队的文化.如果领导者不透明,喜欢玩虚假,自大,官僚气十足,这个团基本上就没什么希望了.人必须是主人,有能动性,这个高度困难.因为如何让团队觉得公司的事是我家里的事是高度困难的,因为有些开发人员自己家里的事都没怎么认真过.想要做到这点,而要老板重视,否则中层领导我感觉一般心有余力不足.
开发流程
The text was updated successfully, but these errors were encountered: