20180620
web security
owasp
tools
owasp zap
burpsuit
20180621
lagou zhaopin
team build
angularjs ui,kendo UI
SUI Mobile
http://mobileangularui.com/
angular 1.x +es6/7
20180622
res:
https://segmentfault.com/q/1010000009405513
kendo ui
coreui.io https://coreui.io/docs/components/cards/
angularjs+bootstrap
http://www.runoob.com/angularjs/angularjs-bootstrap.html
https://angular-ui.github.io/bootstrap/
This repository contains a set of native AngularJS directives based on Bootstrap's markup and CSS. As a result no dependency on jQuery or Bootstrap's JavaScript is required. The only required dependencies are:
AngularJS (requires AngularJS 1.4.x or higher, tested with 1.6.1). 0.14.3 is the last version of this library that supports AngularJS 1.3.x and 0.12.0 is the last version that supports AngularJS 1.2.x.
Angular-animate (the version should match with your angular's, tested with 1.6.1) if you plan in using animations, you need to load angular-animate as well.
Angular-touch (the version should match with your angular's, tested with 1.6.1) if you plan in using swipe actions, you need to load angular-touch as well.
Bootstrap CSS (tested with version 3.3.7). This version of the library (2.5.0) works only with Bootstrap CSS in version 3.x. 0.8.0 is the last version of this library that supports Bootstrap CSS in version 2.3.x.
Bootstrap components written in pure AngularJS by the AngularUI Team
Due to Angular's continued adoption, our creation of the Angular version of this library, and the the project maintainers' moving on to other things, this project is considered feature-complete and is no longer being maintained.
Angularjs
https://code.angularjs.org/1.7.2/docs/guide/decorators
http://www.ituring.com.cn/space/199621?sort=new&page=3
20186025
k8s
https://www.kubernetes.org.cn/practice
http://docs.kubernetes.org.cn/823.html
https://kubernetes.io/docs/tutorials/hello-minikube/
微服务(Microservices)和服务网格(Service Mesh)架构概念整理
https://www.cnblogs.com/xishuai/p/microservices-and-service-mesh.html
20180626
阿里中台
如何看待阿里巴巴最新的「大中台,小前台」组织架构?
https://www.zhihu.com/question/38278138
STIMULUS
timulus is a JavaScript framework with modest ambitions. Unlike other frameworks, Stimulus doesn’t take over your application’s entire front-end. Rather, it’s designed to augment your HTML by connecting elements to JavaScript objects automatically.
JavaScript测试驱动开发
测试金字塔的理念,即底层测试最多,高层次的端到端测试最少。
自动化验证是必须进行的
未进行合理的自动化测试就部署一个很重要的应用会大大增加经济成本。
手动测试和自动化验证都有其价值。测试有助于我们更深入地了解自己编写的代码。没有自动化验证,就不可能维持合理的开发速度。所有重要的应用都需要在正确的层进行自动化测试。虽然自动化测试需要花费时间和精力,但它仍是我们需要投资的一个技能。在编写代码之前先编写测试,如果碰到困难,可以尝试spike解决方案。
rest架构风格
架构风格与基于网络的软件架构设计
https://blog.csdn.net/on_1y/article/details/60358117
http://blog.jobbole.com/108595/
https://www.csdn.net/article/a/2010-12-10/283438
https://blog.csdn.net/u013628152/article/details/42126417
软件架构
软件架构元素
我们经常听别人谈起 “软件架构”,“系统架构”,“架构师”,这样的名词。那么,到底什么是软件架构呢?Fielding 认为,软件架构主要由三部分元素组成:数据元素,连接元素,处理元素。
数据元素是指系统中被使用,被转化的信息,例如 HTML 文档,JPEG 图片等。
连接元素是将系统中不同部分连接起来的元素,例如我们常用的一些用于组件和组件之前网络连接的库,HttpClient, OkHttp, gRPC 等。
处理元素是指对数据进行转化的元素,例如 HTTP 服务器 (Apache, Nginx), 网关,代理,浏览器等。
软件架构本身是对系统运行时的一种抽象。一方面,系统存在多个层次的抽象,每层都有自己的架构,另一方面,系统又由多个操作阶段构成,每个阶段都有自己的架构。
软件架构属性
我们设计软件架构时,在选择了数据元素,连接元素,处理元素,并且确定了他们之间的关系后,系统就会体现出一系列性质。这些性质,就是软件架构属性。
软件架构属性包括功能属性和非功能属性。功能属性表示系统是否完成了需要的功能,而非功能属性则代表了系统除了完成功能之外,还具有的一些性质,例如可扩展性,可重用性等等。
软件架构风格
一个软件架构由不同元素构成,元素之间有各种各样的约束,而软件架构风格就是指一组协作的架构约束。有了架构风格的概念,我们就可以方便地比较不同的软件架构。当我们谈到某个系统是某种架构风格时,就代表了这个系统的架构背后有一系列架构约束。
说了这么多概念,他们之间到底有什么关系呢?对我们设计系统又有什么用呢?里面有一条重要的逻辑链条,就是系统需求,约束与属性之间的关系。我们设计任何一个系统,都是要满足特定的需求,除了特定功能需求之外,有的系统需要满足高性能,有的系统需要满足高可用,有的系统需要经常进行灵活的扩展。那么,怎么设计系统才能达到这种需求呢? 那就是对系统进行一些特定的约束。特定的约束会导致特定的属性,特定的属性又会满足特定的需求。
因此,架构风格,即一组约束,导致了一组架构属性,这组架构属性构成了系统需求的一个超集。
所以,要设计好系统,就要正确地识别出,系统到底需要满足哪些需求,当需求不能都满足时,优先满足哪些。然后要了解如何对系统进行划分,如何确定组件之间的关系,有哪些约束的手段,这些约束,又会导致哪些属性。这也是论文后面会仔细探讨的问题。
总的来说,从抽象的角度看,架构风格是对架构的一种抽象,一种架构风格对应多种架构。而架构本身是对系统的抽象,同一架构对应着多种不同的系统。而这篇论文,主要探讨的,就是基于网络的应用架构以及架构风格
基于网络的应用架构
这一节介绍基于网络的应用架构,主要解决三个问题:
基于网络的应用架构是指什么
如何评估基于网络的应用架构
基于网络的应用架构中,重要的架构属性有哪些
什么是基于网络的应用架构
之前,我们已经介绍了软件架构的概念,基于网络的应用架构是在软件架构的基础上,施加了一个约束,即组件之间的通信限于消息传递。论文中,还特别说明了基于网络的应用和分布式系统的区别。一般而言,我们在使用分布式系统时,就像使用一个集中式的系统一样,网络的存在对用户来说是透明的。而基于网络的应用,“网络”的存在无需表现为对用户透明的形式,有时候还要用户感知到“网络”的存在,特别是“网络”意味着一定的性能开销时。
如何评估基于网络的应用架构
那么,我们如何评估基于网络的应用架构呢?就是从根本上讲,评估一个应用架构,就不看这个架构是否满足了系统的需求。之前我们讲系统属性的时候说过,系统属性分功能属性和非功能属性。相应地,这里看架构是否满足系统的需求,也要看是否满足了功能需求,是否满足了非功能需求。功能需求和我们的业务相关,而非功能需求,就要使用架构风格来评估。
我们知道,架构风格代表了一组架构约束,用架构风格评估架构,就是看这种约束,是否能使系统的需求得到满足。
evaluate-arch
在上图中,我们的系统有一组架构约束,分别是
缓存
无状态
统一接口
同时,我们还有一组系统需要的属性,即系统的需求,分别是
性能
简单性
可靠性
每种架构约束,会在不同程度上影响某种属性。这样,我们知道了系统的架构风格之后,就能评估架构是否满足了系统的需求。