Merge pull request #1 from xingshaocheng/master

catch up
This commit is contained in:
peng weikang
2018-05-31 13:20:35 +08:00
committed by GitHub
+54 -10
View File
@@ -6,7 +6,7 @@
[![GitHub forks](https://img.shields.io/github/forks/xingshaocheng/architect-awesome.svg?style=flat&label=Fork)](https://github.com/xingshaocheng/architect-awesome/fork)
[![GitHub watchers](https://img.shields.io/github/watchers/xingshaocheng/architect-awesome.svg?style=flat&label=Watch)](https://github.com/xingshaocheng/architect-awesome/watchers)
**最后更新于20180502**
**更新于20180513**
* [数据结构](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#数据结构)
* [队列](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#队列)
* [集合](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#集合)
@@ -126,6 +126,7 @@
* [本地缓存](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#本地缓存)
* [客户端缓存](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#客户端缓存)
* [服务端缓存](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#服务端缓存)
* [Web缓存](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#web缓存)
* [Memcached](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#memcached)
* [Redis](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#redis)
* [架构](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#架构)
@@ -341,6 +342,7 @@
* [代码托管](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#代码托管)
* [文件服务](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#文件服务)
* [综合云服务商](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#综合云服务商)
* [VPS](https://github.com/xingshaocheng/architect-awesome/blob/master/README.md#vps)
**(Toc generated by [simple-php-github-toc](https://github.com/xingshaocheng/simple-php-github-toc) )**
@@ -466,7 +468,7 @@ TODO
* [《【啊哈!算法】最快最简单的排序——桶排序》](http://blog.51cto.com/ahalei/1362789)
* [《排序算法(三):计数排序与桶排序》](https://blog.csdn.net/sunjinshengli/article/details/70738527)
* 桶排序将[0,1)区间划分为n个相同的大小的子区间,这些子区间被称为桶。
* 每个通单独进行排序,然后再遍历每个桶。
* 每个桶单独进行排序,然后再遍历每个桶。
### 基数排序
@@ -548,6 +550,11 @@ KMP:Knuth-Morris-Pratt算法(简称KMP)
# 并发
## Java 并发
* [Java 并发知识合集](https://github.com/CL0610/Java-concurrency)
* [JAVA并发知识图谱](https://github.com/CL0610/Java-concurrency/blob/master/Java并发知识图谱.png)
## 多线程
* [《40个Java多线程问题总结》](http://www.importnew.com/18459.html)
@@ -678,7 +685,7 @@ KMP:Knuth-Morris-Pratt算法(简称KMP)
### 死锁
* [《“死锁”四个必要条件的合理解释》](https://blog.csdn.net/yunfenglw/article/details/45950305)
* 互斥、持有、不可剥夺、不可剥夺。
* 互斥、持有、不可剥夺、环形等待。
* [Java如何查看死锁?](https://blog.csdn.net/u014039577/article/details/52351626)
* JConsole 可以识别死锁。
@@ -722,7 +729,7 @@ TODO
## 设计模式的六大原则
* [《设计模式的六大原则》](https://blog.csdn.net/q291611265/article/details/48465113)
* 开闭原则:对扩展开放,对修改关闭,多使用抽象类和接口。
* 里氏代换原则:基类可以被子类替换,使用抽象类继承,不使用具体类继承。
* 里氏替换原则:基类可以被子类替换,使用抽象类继承,不使用具体类继承。
* 依赖倒转原则:要依赖于抽象,不要依赖于具体,针对接口编程,不针对实现编程。
* 接口隔离原则:使用多个隔离的接口,比使用单个接口好,建立最小的接口。
* 迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用,通过中间类建立联系。
@@ -1047,6 +1054,13 @@ APM — Application Performance Management
* [《H5 和移动端 WebView 缓存机制解析与实战》](https://mp.weixin.qq.com/s/qHm_dJBhVbv0pJs8Crp77w)
## 服务端缓存
### Web缓存
* [nuster](https://github.com/jiangwenyuan/nuster) - nuster cache
* [varnish](https://github.com/varnishcache/varnish-cache) - varnish cache
* [squid](https://github.com/squid-cache/squid) - squid cache
### Memcached
* [《Memcached 教程》](http://www.runoob.com/Memcached/Memcached-tutorial.html)
* [《深入理解Memcached原理》](https://blog.csdn.net/chenleixing/article/details/47035453)
@@ -1124,6 +1138,7 @@ APM — Application Performance Management
### RocketMQ
Java实现,推拉模式都是支持,吞吐量逊于Kafka。可以保证消息顺序。
* [《RocketMQ 实战之快速入门》](https://www.jianshu.com/p/824066d70da8)
* [《RocketMQ 源码解析》](http://www.iocoder.cn/categories/RocketMQ/?vip&architect-awesome)
### ActiveMQ
纯Java实现,兼容JMS,可以内嵌于Java应用中。
@@ -1168,6 +1183,8 @@ Java实现,推拉模式都是支持,吞吐量逊于Kafka。可以保证消
* [《Quartz任务调度的基本实现原理》](https://www.cnblogs.com/zhenyuyaodidiao/p/4755649.html)
* Quartz集群中,独立的Quartz节点并不与另一其的节点或是管理节点通信,而是通过相同的数据库表来感知到另一Quartz应用的
* [《Elastic-Job-Lite 源码解析》](http://www.iocoder.cn/categories/Elastic-Job-Lite/?vip&architect-awesome)
* [《Elastic-Job-Cloud 源码解析》](http://www.iocoder.cn/categories/Elastic-Job-Cloud/?vip&architect-awesome)
## RPC
@@ -1233,6 +1250,7 @@ servlet 3.0 异步特性可用于配置中心的客户端
* [《谈API网关的背景、架构以及落地方案》](http://www.infoq.com/cn/news/2016/07/API-background-architecture-floo)
* [《使用Zuul构建API Gateway》](https://blog.csdn.net/zhanglh046/article/details/78651993)
* [《Spring Cloud Gateway 源码解析》](http://www.iocoder.cn/categories/Spring-Cloud-Gateway/?vip&architect-awesome)
* [《HTTP API网关选择之一Kong介绍》](https://mp.weixin.qq.com/s/LIq2CiXJQmmjBC0yvYLY5A)
# 网络
@@ -1542,7 +1560,7 @@ MyISAM 是非聚集,InnoDB 是聚集
## 用户隐私信息保护
1. 用户密码非明文保存,加动态slat。
1. 用户密码非明文保存,加动态salt。
2. 身份证号,手机号如果要显示,用 “\*” 替代部分字符。
3. 联系方式在的显示与否由用户自己控制。
4. TODO
@@ -1607,6 +1625,7 @@ TODO
### OAuth2.0
* [《理解OAuth 2.0》](http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html)
* [《一张图搞定OAuth2.0》](https://www.cnblogs.com/flashsun/p/7424071.html)
### 双因素认证(2FA)
@@ -2007,11 +2026,22 @@ TODO
## Serverless
TODO
无需过多关系服务器的服务架构理念。
* [《什么是Serverless无服务器架构?》](http://www.jdon.com/soa/serverless.html)
* Serverless 不代表出去服务器,而是去除对服务器运行状态的关心。
* Serverless 代表一思维方式的转变,从“构建一套服务在一台服务器上,对对个事件进行响应转变为构建一个为服务器,来响应一个事件”。
* Serverless 不代表某个具体的框架。
* [《如何理解Serverless?》](http://www.infoq.com/cn/news/2017/10/how-to-understand-serverless)
* 依赖于 Baas ((Mobile) Backend as a Service) 和 Faas (Functions as a service)
## Service Mesh
TODO
* [《什么是Service Mesh?》](https://time.geekbang.org/article/2355)
* [《初识 Service Mesh》](https://www.jianshu.com/p/e23e3e74538e)
* [《什么是Service Mesh?》](https://time.geekbang.org/article/2355)
@@ -2027,7 +2057,7 @@ TODO
## 代码规范
TODO
* [《阿里巴巴Java开发手册》](https://github.com/alibaba/p3c)
## 代码 Review
@@ -2089,6 +2119,12 @@ XP - eXtreme Programming
* [《结对编程》](http://www.baike.com/wiki/%E7%BB%93%E5%AF%B9%E7%BC%96%E7%A8%8B)
## PDCA 循环质量管理
P——PLAN 策划,D——DO 实施,C——CHECK 检查,A——ACT 改进
* [《PDCA》](http://www.baike.com/wiki/PDCA)
## FMEA管理模式
TODO
@@ -2129,7 +2165,7 @@ TODO
* 权衡:权衡投入产出比;优先级和节奏控制;
* [《关于架构优化和设计,架构师必须知道的事情》](http://www.infoq.com/cn/articles/architecture-optimization-and-design-the-architect-must-know)
* 要去考虑的细节:模块化、轻耦合、无共享架构;减少各个组件之前的依懒、注意服务之间依懒所有造成的链式失败及影响等。
* 要去考虑的细节:模块化、轻耦合、无共享架构;减少各个组件之前的依赖、注意服务之间依赖所有造成的链式失败及影响等。
* 基础设施、配置、测试、开发、运维综合考虑。
* 考虑人、团队、和组织的影响。
@@ -2218,6 +2254,8 @@ TODO
* [国家数据](http://data.stats.gov.cn/)
* [TalkingData](http://www.talkingdata.com/)
## 专项网站
* 测试:
@@ -2285,6 +2323,8 @@ TODO
* 《淘宝技术这十年》[京东](https://union-click.jd.com/jdc?d=LwrDfD) [淘宝](https://s.taobao.com/search?q=淘宝技术这十年)
* 《企业IT架构转型之道-中台战略思想与架构实战》 [京东](https://union-click.jd.com/jdc?d=89pAEm) [淘宝](https://s.taobao.com/search?q=企业IT架构转型之道)
* 《高可用架构(第1卷)》[京东](https://item.jd.com/12195481.html) [淘宝](https://s.taobao.com/search?q=高可用架构)
#### 技术管理方面
* 《CTO说》[京东](https://union-click.jd.com/jdc?d=zhTZyr) [淘宝](https://s.taobao.com/search?q=CTO说)
* 《技术管理之巅》[京东](https://union-click.jd.com/jdc?d=LgRBUW) [淘宝](https://s.taobao.com/search?q=技术管理之巅)
@@ -2328,6 +2368,8 @@ TODO
* 有部分中文电子书。
* [Cheatography](https://www.cheatography.com/)
* Cheat Sheets 大全,单页文档网站。
* [Tutorialspoint](https://www.tutorialspoint.com/index.htm)
* 知名教程网站,提供Java、Python、JS、SQL、大数据等高质量入门教程。
## 在线课堂
@@ -2376,7 +2418,7 @@ TODO
## 综合云服务商
* 阿里云
* 腾讯云
* [腾讯云](https://cloud.tencent.com/redirect.php?redirect=1012&cps_key=c2665015d90871c0cb20fef91b7afc3c)
* 百度云
* 新浪云
* 金山云
@@ -2386,3 +2428,5 @@ TODO
### VPS
* [Linode](http://linode.com)