├── .gitignore ├── README.md ├── css ├── style.css └── style.css.map ├── data ├── Preview-source-skillmap-PNG.md ├── designbyStuQ │ ├── png-AndroidArchitect-by-StuQ.png │ ├── png-Angular2-by-StuQ.png │ ├── png-Apollo.png │ ├── png-Architect-by-StuQ.png │ ├── png-BigData-by-StuQ.png │ ├── png-CTO-by-StuQ.png │ ├── png-CloudComputing-by-StuQ.png │ ├── png-Container-by-StuQ.png │ ├── png-DBA-by-StuQ.png │ ├── png-EmbeddedEngineer-by-StuQ.png │ ├── png-FrontEnd-by-StuQ.png │ ├── png-HTML5-by-StuQ.png │ ├── png-Hadoop-by-StuQ.png │ ├── png-IntelligentDevOps-by-StuQ.png │ ├── png-Kubernetes-by-StuQ.png │ ├── png-MachineLearning-by-StuQ.png │ ├── png-MicroService-by-StuQ.png │ ├── png-MobileOptimization-by-StuQ.png │ ├── png-MobileTesting-by-StuQ.png │ ├── png-OpenResty-by-StuQ.png │ ├── png-ProgrammingLanguage-by-StuQ.png │ ├── png-Security-by-StuQ.png │ └── png-iOSDev-by-StuQ.png ├── map-AngularJS2.md ├── map-Apollo.md ├── map-Architect.md ├── map-BigDataEngineer.md ├── map-CDN.md ├── map-CTO.md ├── map-CloudComputing.md ├── map-Container.md ├── map-DBA-comands.png ├── map-DBA-io.jpg ├── map-DBA.md ├── map-DevLang-Clojure.md ├── map-DevLang-Golang.md ├── map-DevLang-Haskell.md ├── map-DevLang-Java.md ├── map-DevLang-Nodejs.md ├── map-DevLang-PHP.md ├── map-DevLang-Python.md ├── map-DevLang-Ruby.md ├── map-DevLang-Total.md ├── map-DevOps.md ├── map-EmbeddedEngineer.md ├── map-FrontEndEngineer.md ├── map-Git.md ├── map-HTML5.md ├── map-Hadoop.md ├── map-IntelligentDevOps.md ├── map-Kubernetes.md ├── map-LiveTelecast.md ├── map-MachineLearning.md ├── map-Microservice.md ├── map-MobileDev-AndroidArchitect.md ├── map-MobileDev-AndroidDev.md ├── map-MobileDev-AndroidROMDev.md ├── map-MobileDev-iOSDev.md ├── map-MobilePerformanceOptimization.md ├── map-MobileWirelessTesting.md ├── map-OpenResty.md ├── map-SecurityEngineer.md ├── map-Serverless.md ├── map-dns-troubleshoot.md ├── map-testing.md └── operation-command.png ├── gulpfile.js ├── img ├── GeekTime-QRCode-100X100.png ├── GeekTime-QRCode-200X200.png ├── StuQ-QRCode-100X100.png ├── StuQWMall-QRCode-100X100.png ├── minus.png ├── plus.png ├── qq.png ├── top.svg └── wechat.png ├── index.html ├── js ├── marked.min.js └── script.js ├── package.json ├── sass ├── _base.sass └── style.sass ├── test.md └── xmind ├── DBA.xmind ├── HTML5.xmind ├── IOAM.xmind ├── Java.xmind ├── big-data.xmind ├── cloudComputing.xmind ├── dev-lang-Go.xmind ├── dev-lang-total.xmind ├── frontEnd.xmind ├── micro-service.xmind └── security.xmind /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .sass-cache 3 | node_modules 4 | *log 5 | *logs 6 | .publish 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 程序员技能图谱 2 | Github 开源项目地址:**[https://github.com/TeamStuQ/skill-map](https://github.com/TeamStuQ/skill-map)**,欢迎 **Star** :)。 3 | 4 | ## 简介 5 | 6 | 程序员技能图谱是由极客邦科技 Geekbang([https://www.geekbang.org/](https://www.geekbang.org/))发起的一个技术社区开源项目,志在汇集、整理、共建泛 IT 技术领域(人工智能,前端开发,移动开发,云计算,大数据,架构,运维,安全,后端开发,测试,智能硬件等)及互联网产品、运营等领域学习技能图谱,帮助程序员梳理知识框架结构,并尝试提供路径指导和精华资源,方便技术人学习成长。 7 | 8 | 除非特别声明,本开源项目所有领域技能图谱内容均只代表所参与贡献的技术人员个人立场,与其公司背景无关。本项目出发点旨在抛砖引玉,有任何不同意见和反馈,请提交 [Issue](https://github.com/TeamStuQ/skill-map/issues) 讨论,或发送邮件至 sean@geekbang.org,编辑会及时跟进或组织讨论,并持续更新内容版本。请理解并支持,感谢!:) 9 | 10 | 目前技能图谱已有如下领域,点击标题可以预览文本文件(.md),也可以在[『图片预览版』](https://github.com/TeamStuQ/skill-map/blob/master/data/Preview-source-skillmap-PNG.md)以技能树形式预览图片文件(.png): 11 | 12 | |**领域**([点击预览](https://github.com/TeamStuQ/skill-map/blob/master/data/source-skillmap-PNG-DesignByStuQ.md))| **核心贡献者 ID** | **原创链接** |**学习资源**| 13 | |------- | ---- | ---- | ---- | 14 | |[**# 人工智能 AI**]()|||| 15 | |[- 机器学习](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MachineLearning.md)|[@徐英凯](https://github.com/kevinhsu)|闪银机器学习工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/26)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-MachineLearning-by-StuQ.png) 16 | |[- Apollo 自动驾驶](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Apollo.md)|[@Apollo 技术布道师团队](http://apollo.auto/index_cn.html)|[原创链接](https://github.com/ApolloAuto/apollo)|[推荐](https://github.com/TeamStuQ/skill-map/issues/26)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Apollo.png) 17 | |[**# 大数据**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-BigDataEngineer.md)|[@祝海林 ](https://github.com/allwefantasy)|丁香园大数据技术专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/12)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-BigData-by-StuQ.png) 18 | ||@高扬|欢聚时代资深大数据技术专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/12)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-BigData-by-StuQ.png) 19 | |[- Hadoop ](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Hadoop.md)|[@张丹](http://blog.fens.me)|况客创始人|[原创链接](http://blog.fens.me/series-hadoop-family/)|[推荐](https://github.com/TeamStuQ/skill-map/issues/22)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Hadoop-by-StuQ.png) 20 | |[**# Web 前端**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-FrontEndEngineer.md)|[@jayli(拔赤)](https://github.com/jayli/)|阿里巴巴前端技术专家|[原创链接](https://github.com/jayli/jayli.github.com/issues/16)|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-FrontEnd-by-StuQ.png)| 21 | | |[@Jackson Tian ](https://github.com/JacksonTian)|阿里巴巴前端技术专家|[原创链接](https://github.com/JacksonTian/fks)|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-FrontEnd-by-StuQ.png)| 22 | |[- 移动性能优化](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobilePerformanceOptimization.md)|[@刘恒兵(河伯)](https://github.com/herbertliu)|腾讯前端技术专家、IvWeb 负责人|[原创链接](https://github.com/herbertliu/OMS)|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-MobileOptimization-by-StuQ.png)| 23 | |[- HTML5 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-HTML5.md)|[@Phodal(黄峰达)](https://github.com/Phodal)|ThoughtWorks 高级咨询师|[原创链接]()|[推荐](https://github.com/TeamStuQ/skill-map/issues/76)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-HTML5-by-StuQ.png)| 24 | |[- Angular 2](https://github.com/TeamStuQ/skill-map/blob/master/data/map-AngularJS2.md)|[@汤桂川](https://github.com/lightningtgc)|广发证券前端技术专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Angular2-by-StuQ.png) 25 | |[**# Server 后端**]()|||| 26 | |[- 架构师](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Architect.md)|@沈剑|58到家技术委员会主席/技术总监|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/53)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Architect-by-StuQ.png) 27 | |[- OpenResty](https://github.com/TeamStuQ/skill-map/blob/master/data/map-OpenResty.md)|[@温铭](https://github.com/moonbingbing)|OpenResty Inc. 合伙人|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/29)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-OpenResty-by-StuQ.png) 28 | |[- 直播技术](https://github.com/TeamStuQ/skill-map/blob/master/data/map-LiveTelecast.md)|[@李雨来](https://github.com/blacktear23)|SpeedyCloud 迅达云技术 VP|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/55)|[脑图]() 29 | |[- CDN 技术](https://github.com/TeamStuQ/skill-map/blob/master/data/map-CDN.md)|[@李孟](https://github.com/x8s)|SpeedyCloud 迅达云首席架构师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/72)|[脑图]() 30 | |[- DNS 排查](https://github.com/TeamStuQ/skill-map/blob/master/data/map-dns-troubleshoot.md)|[@李孟](https://github.com/x8s)|SpeedyCloud 迅达云首席架构师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/72)|[脑图]() 31 | |[**# 云计算**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-CloudComputing.md)|@费良宏|AWS 首席云计算技术顾问|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/11)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-CloudComputing-by-StuQ.png) 32 | |- OpenStack|@夏艳|UnitedStack 公共关系总监|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/19)|脑图 33 | [- 容器 Container](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Container.md)|[@林帆 ](https://github.com/linfan)|阿里巴巴研发效能部技术专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/20)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Container-by-StuQ.png) 34 | [- Serverless](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Serverless.md)|[@林帆 ](https://github.com/linfan)|阿里巴巴研发效能部技术专家|-|推荐|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Serverless-by-StuQ.png) 35 | [- 微服务 MicroService](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Microservice.md)|[@王磊 ](https://github.com/wldandan)|西安尚度元科技技术总监|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/23)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-MicroService-by-StuQ.png) 36 | |[**# 安全**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-SecurityEngineer.md)|[@余弦 ](https://github.com/evilcos) |知道创宇技术 VP|[原创链接](http://blog.knownsec.com/Knownsec_RD_Checklist/v3.0.html)|[推荐](https://github.com/TeamStuQ/skill-map/issues/13)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Security-by-StuQ.png) 37 | |[**# 智能运维**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-IntelligentDevOps.md)|[@Tanky Woo ](https://github.com/tankywoo)|知道创宇资深运维工程师|[原创链接](http://blog.knownsec.com/2015/03/how-many-basic-skills-should-a-operation-and-maintenance-engineer-get/)|[推荐](https://github.com/TeamStuQ/skill-map/issues/10)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-IntelligentDevOps-by-StuQ.png) 38 | |[- DBA](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DBA.md)|[@杨一 ]()|杭州有赞科技有限公司 DBA 专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/77)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-DBA-by-StuQ.png) 39 | [- DevOps](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevOps.md)|[@林帆 ](https://github.com/linfan)|阿里巴巴研发效能部技术专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/107)|[脑图](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-DevOps-by-StuQ.png) 40 | |[- Kubernetes](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Kubernetes.md)|[@张磊](https://github.com/resouer)|阿里巴巴高级技术专家 & CNCF 官方大使|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/10)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Kubernetes-by-StuQ.png) 41 | ||[@李响](https://github.com/xiang90)|阿里巴巴资深技术专家 & CNCF 技术监督委员会成员|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/10)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Kubernetes-by-StuQ.png) 42 | |[**# 测试**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-testing.md)|[@TesterHome 社区](https://testerhome.com/)|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/15)|脑图| 43 | |[- 移动无线测试](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileWirelessTesting.md)|[@陈晔 Monkey](https://github.com/monkeytest15)|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/15)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-MobileTesting-by-StuQ.png) 44 | |[**# 移动开发**]()||||| 45 | |[- iOS 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-iOSDev.md)|[@唐巧](https://github.com/tangqiaoboy) |猿题库小猿搜题产品技术负责人|[原创链接](https://gist.github.com/tangqiaoboy/5fadd9ba398277680b87)|[推荐](https://github.com/TeamStuQ/skill-map/issues/14)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-iOSDev-by-StuQ.png) 46 | |[- Android App 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidDev.md)|[@anly_jun](https://github.com/mingjunli) |[原创链接](http://www.jianshu.com/p/39c63eff3c36)|[推荐](https://github.com/TeamStuQ/skill-map/issues/85)|脑图 47 | |[- Android ROM 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidROMDev.md)|[@anly_jun](https://github.com/mingjunli) |[原创链接](http://www.jianshu.com/p/0a4a33e63338)|[推荐](https://github.com/TeamStuQ/skill-map/issues/85)|脑图 48 | |[- Android 架构师](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidArchitect.md)|[@顾浩鑫(ASCE1885)](https://github.com/ASCE1885)| 平安金融科技移动研发工程师 |-|[推荐](https://github.com/TeamStuQ/skill-map/issues/85)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-AndroidArchitect-by-StuQ.png) 49 | |[**# 智能硬件**]()||||| 50 | |[- 嵌入式开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-EmbeddedEngineer.md)|[@Phodal(黄峰达)](https://github.com/phodal) |ThoughtWorks 高级咨询师|[原创链接](https://github.com/phodal/eks)|[推荐](https://github.com/TeamStuQ/skill-map/issues/21)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-EmbeddedEngineer-by-StuQ.png) 51 | |[**# 开发语言**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Total.md)|[@吴坚 ](https://github.com/jamsonwoo) |南航软件工程师|[原创链接](https://github.com/jamsonwoo/StuQ_skill-map)|[推荐](https://github.com/TeamStuQ/skill-map/issues/18)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-ProgrammingLanguage-by-StuQ.png) 52 | |[- Golang](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Golang.md)|[@谢孟军 ](https://github.com/astaxie) |Apple 资深技术专家|[原创链接](https://github.com/astaxie/build-web-application-with-golang)|[推荐](https://github.com/TeamStuQ/skill-map/issues/17)|脑图 53 | |[- Clojure](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Clojure.md)|[@Loretta ](https://github.com/lorettahe) |SwiftKey 软件工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/25)|脑图 54 | |[- Python](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Python.md)|[@ZoomQuiet(大妈) ](https://github.com/ZoomQuiet) |猎豹移动技术专家|[原创链接](http://wiki.zoomquiet.io/pythonic/Path2Pythoneer)|[推荐](https://github.com/TeamStuQ/skill-map/issues/30)|脑图 55 | |[- Haskell](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Haskell.md)|[@张淞 ](https://github.com/HaskellZhangSong) |网易杭州研究院高级开发工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/36)|脑图 56 | |[- Node.js](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Nodejs.md)|[@桑世龙(i5ting) ](https://github.com/i5ting) |阿里巴巴前端技术专家|[原创链接](https://github.com/nodeonly/stack)|[推荐](https://github.com/TeamStuQ/skill-map/issues/35)|脑图 57 | |[- Ruby](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Ruby.md)|[@张汉东(Alex) ](https://github.com/ZhangHanDong) |-|[推荐](https://github.com/TeamStuQ/skill-map/issues/40)|脑图 58 | |[- Java](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Java.md)|[@Zhang Wei](https://github.com/zhangwei217245)|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/43)|脑图 59 | |[**# 开发工具**]()|||||| 60 | |[- Git](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Git.md)|[@吴坚 ](https://github.com/jamsonwoo) |南航软件工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/48)|脑图 61 | |[**# 技术管理**]()|||||| 62 | |[- CTO 技能](https://github.com/TeamStuQ/skill-map/blob/master/data/map-CTO.md)|@黄勇|特赞科技 CTO、EGO 会员|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/103)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-CTO-by-StuQ.png) 63 | 64 | 以及**正在建设中**的领域: 65 | 66 | - 服务端开发 67 | - 分布式数据库开发 68 | - IoT 物联网 69 | - PHP 语言 70 | - Swift 语言 71 | - Objective-C 语言 72 | - C++ 语言 73 | - C# 语言 74 | 75 | 欢迎**贡献**新领域技能图谱,或**推荐**学习路径与资源,有任何改进意见和建议,也可以建立 issue 讨论或发送邮件至 sean@geekbang.org。所有参与该项目的社区朋友均有机会获赠礼品/技能图谱纸质印刷 A1 版。 76 | 77 | ## 改进目标 78 | 79 | 1. 继续细化各领域的技能节点 80 | 2. 提供各领域的参考学习路径 81 | 3. 推荐各知识点相关优质资源 82 | 83 | ## 图谱 MarkDown 分级规范 84 | 85 | 为了便于编辑和纠错更新,现统一图谱 MarkDown 文件**分级规范**如下: 86 | 87 | 1. 根据内容考虑用" #,##,### "依次表示高级别主干分级 88 | 2. 次级别分支用" -,*,+ "三种符号区分 89 | 3. 所有“-”的优先级高于“*” 90 | 4. 所有“*”的优先级高于“+” 91 | 92 | ## 加入我们 93 | - 提交图谱:直接提交 Pull Request,或者联系项目负责人 Sean,可发邮件至 sean@geekbang.org 94 | 95 | ## 版本信息 96 | 97 | ### V 1.0 98 | - 更新稳定版本,新增 IT 职业技术重要领域 99 | 100 | ### v 0.2.0 101 | - IT 技术各主要领域基本覆盖 102 | 103 | ### v 0.1.2 104 | - 云计算领域新增:OpenStack,容器技术 105 | - 移动开发领域新增:iOS 开发 106 | - 测试领域新增:移动无线测试 107 | - 智能硬件领域新增:嵌入式开发 108 | 109 | ### v 0.1.1 110 | - 程序员技能图谱第一版发布 111 | 112 | ## 版权声明 113 | 本技能图谱遵循 **[CC-BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)** 协议。_*商业转载必须征求极客邦科技 Geekbang 授权同意,转载请务必注明[出处](http://www.stuq.org/subject/skill-map/)。*_ **极客邦科技 Geekbang** 保留最终解释权及法律追究权力。 114 | 115 | 欢迎关注极客邦科技 Geekbang 推出的「极客时间」App,获取更多技术干货。 116 | 117 | ![极客时间](https://github.com/TeamStuQ/skill-map/blob/master/img/GeekTime-QRCode-200X200.png) 118 | 119 | ## 特别鸣谢 120 | 121 | 「程序员技能图谱」开源项目能有精美的展示图片,背后是设计同学在百忙之中配合内容编辑不厌其烦的设计、更新和修正,在此特别鸣谢以下设计同学的贡献(排名不分先后): 122 | 123 | 陈接(Jack)、杨旸(Tammy)、谢汝冰(Ice)、王慧娟(Amy)、王硕映(Ray)、张卓(Leslie)。 124 | 125 | ## 赞助声明 126 | 127 | 程序员技能图谱项目接受企业或者个人赞助,赞助经费主要用于覆盖图谱编辑、设计、印刷和运营成本。 128 | 129 | 赞助合作请发邮件至 sean@geekbang.org 。 130 | 131 | 132 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; } 3 | 4 | html, 5 | body { 6 | display: block; 7 | position: relative; 8 | margin: 0; 9 | padding: 0; 10 | background-color: #eee; 11 | font-family: "Source Han Sans SC", "Helvetica Neue", Helvetica, Arial, "Lantinghei SC", "Hiragino Sans GB", STHeiti, "Microsoft Yahei", "Microsoft Sans Serif", sans-serif; 12 | font-size: 16px; 13 | word-wrap: break-word; 14 | word-break: break-all; } 15 | 16 | ul { 17 | margin-top: 1px; 18 | margin-bottom: 1px; 19 | margin-left: 0; 20 | padding-left: 3%; 21 | list-style-type: square; } 22 | ul li { 23 | line-height: 1.5em; } 24 | 25 | p { 26 | line-height: 1.5em; 27 | margin: 0; } 28 | 29 | h1, 30 | h2, 31 | h3 { 32 | margin: 10px 0; } 33 | 34 | .hide { 35 | display: none !important; } 36 | 37 | .root { 38 | margin: 10px; 39 | padding: 10px 40px 80px; 40 | background-color: #fff; 41 | border-width: 1px; 42 | border-style: solid; 43 | border-color: #ddd; 44 | border-radius: 5px; } 45 | .root h1 { 46 | font-size: 1.7em; } 47 | .root p span { 48 | color: #c00; } 49 | .root .join-us { 50 | width: 100%; 51 | padding: 0; 52 | margin: 1em 0 1em -6%; 53 | list-style: none; 54 | text-align: center; } 55 | .root .join-us li { 56 | display: inline-block; } 57 | .root .join-us li:first-child { 58 | margin-right: 5%; } 59 | .root ul h2 { 60 | font-weight: 400; } 61 | .root ul .node li { 62 | margin: 0.5em 0; } 63 | .root ul .node li h3, 64 | .root ul .node li h4, 65 | .root ul .node li h5 { 66 | margin: 0; 67 | padding: 0; 68 | font-weight: 400; } 69 | .root ul .node li h5 { 70 | font-size: 0.95em; } 71 | 72 | #intro h2, 73 | #end h2 { 74 | font-size: 1.17em; 75 | font-weight: 500; } 76 | 77 | #frontEndIndex h2, 78 | #cloudComputingIndex h2, 79 | #securityIndex h2, 80 | #IOAMIndex h2, 81 | #bigDataIndex h2, 82 | #language h2, 83 | #IHIndex h2 { 84 | display: inline-block; 85 | color: #17f; } 86 | #frontEndIndex h2:focus, #frontEndIndex h2:hover, 87 | #cloudComputingIndex h2:focus, 88 | #cloudComputingIndex h2:hover, 89 | #securityIndex h2:focus, 90 | #securityIndex h2:hover, 91 | #IOAMIndex h2:focus, 92 | #IOAMIndex h2:hover, 93 | #bigDataIndex h2:focus, 94 | #bigDataIndex h2:hover, 95 | #language h2:focus, 96 | #language h2:hover, 97 | #IHIndex h2:focus, 98 | #IHIndex h2:hover { 99 | color: #00f; 100 | text-decoration: underline; } 101 | 102 | #frontEndIndex h3 span, 103 | #cloudComputingIndex h3 span, 104 | #securityIndex h3 span, 105 | #IOAMIndex h3 span, 106 | #bigDataIndex h3 span, 107 | #language h3 span, 108 | #IHIndex h3 span { 109 | font-size: 0.85em; 110 | font-weight: 400; } 111 | 112 | #IH h2 { 113 | display: inline-block; 114 | color: #17f; } 115 | 116 | .to-top, .to-top::before { 117 | display: block; 118 | position: fixed; 119 | opacity: 0.98; } 120 | .to-top::before { 121 | content: ''; 122 | right: 2em; 123 | bottom: 2em; 124 | width: 4em; 125 | height: 4em; 126 | background-image: url("../img/top.svg"); 127 | background-size: contain; 128 | background-repeat: no-repeat; } 129 | .to-top:focus, .to-top:focus::before, .to-top:hover, .to-top:hover::before { 130 | cursor: pointer; } 131 | 132 | li.closed { 133 | list-style-image: url("../img/plus.png"); } 134 | 135 | li.opened { 136 | list-style-image: url("../img/minus.png"); } 137 | 138 | li.normal { 139 | list-style-image: none; } 140 | 141 | .expand-collapse { 142 | display: block; 143 | position: fixed; 144 | top: 0; 145 | right: 2em; 146 | width: 8em; 147 | height: 2em; 148 | padding: 0.5em; 149 | background-color: #fff; 150 | border-width: 1px; 151 | border-style: solid; 152 | border-color: #ddd; 153 | border-top: none; 154 | font-size: 0.8em; 155 | text-align: center; } 156 | .expand-collapse a { 157 | color: #17f; } 158 | .expand-collapse a:focus, .expand-collapse a:hover { 159 | color: #00f; 160 | cursor: pointer; 161 | text-decoration: underline; } 162 | 163 | footer { 164 | margin-left: 10px; 165 | margin-bottom: 10px; } 166 | 167 | /*# sourceMappingURL=style.css.map */ 168 | -------------------------------------------------------------------------------- /css/style.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"style.css","sources":["style.sass","_base.sass"],"sourcesContent":["// list.sass\n\n\n@import \"base\";\n\n.root {\n margin: 10px;\n padding: 10px 40px 80px;\n background: {\n color: #fff; }\n border: {\n width: 1px;\n style: solid;\n color: #ddd;\n radius: 5px; }\n\n h1 {\n font-size: 1.7em; }\n\n p {\n span {\n color: #c00; } }\n\n .join-us {\n width: 100%;\n padding: 0;\n margin: 1em 0 1em -6%;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n &:first-child {\n margin-right: 5%; } } }\n\n ul {\n h2 {\n font: {\n weight: 400; } }\n\n .node {\n li {\n margin: 0.5em 0;\n\n h3,\n h4,\n h5 {\n margin: 0;\n padding: 0;\n font: {\n weight: 400; } }\n\n h5 {\n font: {\n size: 0.95em; } } } } } }\n\n#intro,\n#end {\n h2 {\n font: {\n size: 1.17em;\n weight: 500; } } }\n\n#frontEndIndex,\n#cloudComputingIndex,\n#securityIndex,\n#IOAMIndex,\n#bigDataIndex,\n#language,\n#IHIndex {\n h2 {\n display: inline-block;\n color: #17f;\n\n &:focus,\n &:hover {\n color: #00f;\n text-decoration: underline; } }\n\n h3 {\n span {\n font: {\n size: 0.85em;\n weight: 400; } } } }\n\n#IH {\n h2 {\n display: inline-block;\n color: #17f; } }\n\n.to-top {\n display: block;\n position: fixed;\n opacity: 0.98;\n\n &::before {\n @extend .to-top;\n content: '';\n right: 2em;\n bottom: 2em;\n width: 4em;\n height: 4em;\n background: {\n image: url('../img/top.svg');\n size: contain;\n repeat: no-repeat; } }\n\n &:focus,\n &:hover {\n cursor: pointer; } }\n\nli.closed {\n list-style-image: url('../img/plus.png'); }\nli.opened {\n list-style-image: url('../img/minus.png'); }\nli.normal {\n list-style-image: none; }\n\n.expand-collapse {\n display: block;\n position: fixed;\n top: 0;\n right: 2em;\n width: 8em;\n height: 2em;\n padding: 0.5em;\n background: {\n color: #fff; }\n border: {\n width: 1px;\n style: solid;\n color: #ddd;\n top: none; }\n font-size: 0.8em;\n text-align: center;\n\n a {\n color: #17f;\n\n &:focus,\n &:hover {\n color: #00f;\n cursor: pointer;\n text-decoration: underline; } } }\n\nfooter {\n margin-left: 10px;\n margin-bottom: 10px; }\n","// base.sass\n\n\n* {\n box-sizing: border-box; }\n\nhtml,\nbody {\n display: block;\n position: relative;\n margin: 0;\n padding: 0;\n background: {\n color: #eee; }\n font: {\n family: \"Source Han Sans SC\", \"Helvetica Neue\", Helvetica, Arial, \"Lantinghei SC\", \"Hiragino Sans GB\", STHeiti, \"Microsoft Yahei\", \"Microsoft Sans Serif\", sans-serif;\n size: 16px; }\n word: {\n wrap: break-word;\n break: break-all; } }\n\nul {\n margin: {\n top: 1px;\n bottom: 1px;\n left: 0; }\n padding: {\n left: 3%; }\n list-style: {\n type: square; }\n li {\n line-height: 1.5em; } }\n\np {\n line-height: 1.5em;\n margin: 0; }\n\nh1,\nh2,\nh3 {\n margin: 10px 0; }\n\n.hide {\n display: none !important; }\n"],"mappings":"ACGA,CAAC,CAAC;EACA,UAAU,EAAE,UAAW,GAAG;;AAE5B,IAAI;AACJ,IAAI,CAAC;EACH,OAAO,EAAE,KAAM;EACf,QAAQ,EAAE,QAAS;EACnB,MAAM,EAAE,CAAE;EACV,OAAO,EAAE,CAAE;EACX,UAAU,AAAC,CAAC,AACV,KAAK,EAAE,IAAK;EACd,IAAI,AAAC,CAAC,AACJ,MAAM,EAAE,6JAA8J;EADxK,IAAI,AAAC,CAAC,AAEJ,IAAI,EAAE,IAAK;EACb,IAAI,AAAC,CAAC,AACJ,IAAI,EAAE,UAAW;EADnB,IAAI,AAAC,CAAC,AAEJ,KAAK,EAAE,SAAU,GAAK;;AAE1B,EAAE,CAAC;EACD,MAAM,AAAC,CAAC,AACN,GAAG,EAAE,GAAI;EADX,MAAM,AAAC,CAAC,AAEN,MAAM,EAAE,GAAI;EAFd,MAAM,AAAC,CAAC,AAGN,IAAI,EAAE,CAAE;EACV,OAAO,AAAC,CAAC,AACP,IAAI,EAAE,EAAG;EACX,UAAU,AAAC,CAAC,AACV,IAAI,EAAE,MAAO,GAEW;EAV5B,EAAE,CASA,EAAE,CAAC;IACD,WAAW,EAAE,KAAM,GAAG;;AAE1B,CAAC,CAAC;EACA,WAAW,EAAE,KAAM;EACnB,MAAM,EAAE,CAAE,GAAG;;AAEf,EAAE;AACF,EAAE;AACF,EAAE,CAAC;EACD,MAAM,EAAE,MAAO,GAAG;;AAEpB,KAAK,CAAC;EACJ,OAAO,EAAE,eAAgB,GAAG;;ADtC9B,KAAK,CAAC;EACJ,MAAM,EAAE,IAAK;EACb,OAAO,EAAE,cAAe;EACxB,UAAU,AAAC,CAAC,AACV,KAAK,EAAE,IAAK;EACd,MAAM,AAAC,CAAC,AACN,KAAK,EAAE,GAAI;EADb,MAAM,AAAC,CAAC,AAEN,KAAK,EAAE,KAAM;EAFf,MAAM,AAAC,CAAC,AAGN,KAAK,EAAE,IAAK;EAHd,MAAM,AAAC,CAAC,AAIN,MAAM,EAAE,GAAI,GAwCsB;EAjDtC,KAAK,CAWH,EAAE,CAAC;IACD,SAAS,EAAE,KAAM,GAAG;EAZxB,KAAK,CAcH,CAAC,CACC,IAAI,CAAC;IACH,KAAK,EAAE,IAAK,GAAG;EAhBrB,KAAK,CAkBH,QAAQ,CAAC;IACP,KAAK,EAAE,IAAK;IACZ,OAAO,EAAE,CAAE;IACX,MAAM,EAAE,aAAc;IACtB,UAAU,EAAE,IAAK;IACjB,UAAU,EAAE,MAAO,GAKS;IA5BhC,KAAK,CAkBH,QAAQ,CAON,EAAE,CAAC;MACD,OAAO,EAAE,YAAa,GAEE;MA5B9B,KAAK,CAkBH,QAAQ,CAON,EAAE,AAEC,YAAY,CAAC;QACZ,YAAY,EAAE,EAAG,GAAG;EA5B5B,KAAK,CA8BH,EAAE,CACA,EAAE,CAAC;IACD,IAAI,AAAC,CAAC,AACJ,MAAM,EAAE,GAAI,GAAK;EAjCzB,KAAK,CA8BH,EAAE,CAKA,KAAK,CACH,EAAE,CAAC;IACD,MAAM,EAAE,OAAQ,GAYQ;IAjDhC,KAAK,CA8BH,EAAE,CAKA,KAAK,CACH,EAAE,CAGA,EAAE;IAvCV,KAAK,CA8BH,EAAE,CAKA,KAAK,CACH,EAAE,CAIA,EAAE;IAxCV,KAAK,CA8BH,EAAE,CAKA,KAAK,CACH,EAAE,CAKA,EAAE,CAAC;MACD,MAAM,EAAE,CAAE;MACV,OAAO,EAAE,CAAE;MACX,IAAI,AAAC,CAAC,AACJ,MAAM,EAAE,GAAI,GAAK;IA7C7B,KAAK,CA8BH,EAAE,CAKA,KAAK,CACH,EAAE,CAWA,EAAE,CAAC;MACD,IAAI,AAAC,CAAC,AACJ,IAAI,EAAE,MAAO,GAAK;;AAE9B,MAAM,CAEJ,EAAE;AADJ,IAAI,CACF,EAAE,CAAC;EACD,IAAI,AAAC,CAAC,AACJ,IAAI,EAAE,MAAO;EADf,IAAI,AAAC,CAAC,AAEJ,MAAM,EAAE,GAAI,GAAK;;AAEvB,cAAc,CAOZ,EAAE;AANJ,oBAAoB,CAMlB,EAAE;AALJ,cAAc,CAKZ,EAAE;AAJJ,UAAU,CAIR,EAAE;AAHJ,aAAa,CAGX,EAAE;AAFJ,SAAS,CAEP,EAAE;AADJ,QAAQ,CACN,EAAE,CAAC;EACD,OAAO,EAAE,YAAa;EACtB,KAAK,EAAE,IAAK,GAKsB;EAdtC,cAAc,CAOZ,EAAE,AAIC,MAAM,EAXX,cAAc,CAOZ,EAAE,AAKC,MAAM;EAXX,oBAAoB,CAMlB,EAAE,AAIC,MAAM;EAVX,oBAAoB,CAMlB,EAAE,AAKC,MAAM;EAVX,cAAc,CAKZ,EAAE,AAIC,MAAM;EATX,cAAc,CAKZ,EAAE,AAKC,MAAM;EATX,UAAU,CAIR,EAAE,AAIC,MAAM;EARX,UAAU,CAIR,EAAE,AAKC,MAAM;EARX,aAAa,CAGX,EAAE,AAIC,MAAM;EAPX,aAAa,CAGX,EAAE,AAKC,MAAM;EAPX,SAAS,CAEP,EAAE,AAIC,MAAM;EANX,SAAS,CAEP,EAAE,AAKC,MAAM;EANX,QAAQ,CACN,EAAE,AAIC,MAAM;EALX,QAAQ,CACN,EAAE,AAKC,MAAM,CAAC;IACN,KAAK,EAAE,IAAK;IACZ,eAAe,EAAE,SAAU,GAAG;;AAdpC,cAAc,CAgBZ,EAAE,CACA,IAAI;AAhBR,oBAAoB,CAelB,EAAE,CACA,IAAI;AAfR,cAAc,CAcZ,EAAE,CACA,IAAI;AAdR,UAAU,CAaR,EAAE,CACA,IAAI;AAbR,aAAa,CAYX,EAAE,CACA,IAAI;AAZR,SAAS,CAWP,EAAE,CACA,IAAI;AAXR,QAAQ,CAUN,EAAE,CACA,IAAI,CAAC;EACH,IAAI,AAAC,CAAC,AACJ,IAAI,EAAE,MAAO;EADf,IAAI,AAAC,CAAC,AAEJ,MAAM,EAAE,GAAI,GAAK;;AAEzB,GAAG,CACD,EAAE,CAAC;EACD,OAAO,EAAE,YAAa;EACtB,KAAK,EAAE,IAAK,GAAG;;AAEnB,OAAO,EAAP,OAAO,AAKJ,QAAQ,CALH;EACN,OAAO,EAAE,KAAM;EACf,QAAQ,EAAE,KAAM;EAChB,OAAO,EAAE,IAAK,GAgBS;EAnBzB,OAAO,AAKJ,QAAQ,CAAC;IAER,OAAO,EAAE,EAAG;IACZ,KAAK,EAAE,GAAI;IACX,MAAM,EAAE,GAAI;IACZ,KAAK,EAAE,GAAI;IACX,MAAM,EAAE,GAAI;IACZ,UAAU,AAAC,CAAC,AACV,KAAK,EAAE,qBAAG;IADZ,UAAU,AAAC,CAAC,AAEV,IAAI,EAAE,OAAQ;IAFhB,UAAU,AAAC,CAAC,AAGV,MAAM,EAAE,SAAU,GAAK;EAf7B,OAAO,AAiBJ,MAAM,EAjBT,OAAO,AAiBJ,MAAM,AAZN,QAAQ,EALX,OAAO,AAkBJ,MAAM,EAlBT,OAAO,AAkBJ,MAAM,AAbN,QAAQ,CAaD;IACN,MAAM,EAAE,OAAQ,GAAG;;AAEvB,EAAE,AAAA,OAAO,CAAC;EACR,gBAAgB,EAAE,sBAAG,GAAsB;;AAC7C,EAAE,AAAA,OAAO,CAAC;EACR,gBAAgB,EAAE,uBAAG,GAAuB;;AAC9C,EAAE,AAAA,OAAO,CAAC;EACR,gBAAgB,EAAE,IAAK,GAAG;;AAE5B,gBAAgB,CAAC;EACf,OAAO,EAAE,KAAM;EACf,QAAQ,EAAE,KAAM;EAChB,GAAG,EAAE,CAAE;EACP,KAAK,EAAE,GAAI;EACX,KAAK,EAAE,GAAI;EACX,MAAM,EAAE,GAAI;EACZ,OAAO,EAAE,KAAM;EACf,UAAU,AAAC,CAAC,AACV,KAAK,EAAE,IAAK;EACd,MAAM,AAAC,CAAC,AACN,KAAK,EAAE,GAAI;EADb,MAAM,AAAC,CAAC,AAEN,KAAK,EAAE,KAAM;EAFf,MAAM,AAAC,CAAC,AAGN,KAAK,EAAE,IAAK;EAHd,MAAM,AAAC,CAAC,AAIN,GAAG,EAAE,IAAK;EACZ,SAAS,EAAE,KAAM;EACjB,UAAU,EAAE,MAAO,GASmB;EAzBxC,gBAAgB,CAkBd,CAAC,CAAC;IACA,KAAK,EAAE,IAAK,GAMsB;IAzBtC,gBAAgB,CAkBd,CAAC,AAGE,MAAM,EArBX,gBAAgB,CAkBd,CAAC,AAIE,MAAM,CAAC;MACN,KAAK,EAAE,IAAK;MACZ,MAAM,EAAE,OAAQ;MAChB,eAAe,EAAE,SAAU,GAAG;;AAEpC,MAAM,CAAC;EACL,WAAW,EAAE,IAAK;EAClB,aAAa,EAAE,IAAK,GAAG","names":[],"sourceRoot":"/source/"} -------------------------------------------------------------------------------- /data/Preview-source-skillmap-PNG.md: -------------------------------------------------------------------------------- 1 | # 程序员技能图谱(图片预览版) 2 | 3 | ### 项目简介 4 | 5 | 「程序员技能图谱是由极客邦科技 Geekbang([https://www.geekbang.org/](https://www.geekbang.org/))发起的一个技术社区开源项目,志在汇集、整理、共建泛 IT 技术领域(人工智能,前端开发,移动开发,云计算,大数据,架构,运维,安全,后端开发,测试,智能硬件等)及互联网产品、运营等领域学习技能图谱,帮助程序员梳理知识框架结构,并尝试提供路径指导和精华资源,方便技术人学习成长。 6 | 7 | 「程序员技能图谱」Github 开源项目地址:**[https://github.com/TeamStuQ/skill-map](https://github.com/TeamStuQ/skill-map)**,欢迎 Star :)。 8 | 9 | ### 版权声明 10 | 本技能图谱遵循 **[CC-BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)** 协议。_*商业转载必须征求极客邦科技 Geekbang 授权同意,转载请务必注明[出处](http://www.stuq.org/subject/skill-map/)。*_ **极客邦科技 Geekbang** 保留最终解释权及法律追究权力。 11 | 12 | ## SkillMap 图片预览(Design by Geekbang) 13 | 14 | - ![机器学习工程师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-MachineLearning-by-StuQ.png) 15 | 16 | - ![大数据工程师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-BigData-by-StuQ.png) 17 | 18 | - ![架构师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-Architect-by-StuQ.png) 19 | 20 | - ![前端工程师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-FrontEnd-by-StuQ.png) 21 | 22 | - ![云计算工程师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-CloudComputing-by-StuQ.png) 23 | 24 | - ![CTO 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-CTO-by-StuQ.png) 25 | 26 | - ![DevOps 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-DevOps-by-StuQ.png) 27 | 28 | - ![移动性能优化技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-MobileOptimization-by-StuQ.png) 29 | 30 | - ![HTML5 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-HTML5-by-StuQ.png)| 31 | 32 | - ![Angular2 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-Angular2-by-StuQ.png) 33 | 34 | - ![Hadoop 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-Hadoop-by-StuQ.png) 35 | 36 | - ![OpenResty 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-OpenResty-by-StuQ.png) 37 | 38 | - ![Container 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-Container-by-StuQ.png) 39 | 40 | - ![微服务技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-MicroService-by-StuQ.png) 41 | 42 | - ![Web 安全技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-Security-by-StuQ.png) 43 | 44 | - ![智能运维技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-IntelligentDevOps-by-StuQ.png) 45 | 46 | - ![DBA 工程师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-DBA-by-StuQ.png) 47 | 48 | - ![Kubernetes 技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-Kubernetes-by-StuQ.png) 49 | 50 | - ![移动无线测试技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-MobileTesting-by-StuQ.png) 51 | 52 | - ![iOS 工程师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-iOSDev-by-StuQ.png) 53 | 54 | - ![Android 架构师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-AndroidArchitect-by-StuQ.png) 55 | 56 | - ![嵌入式开发工程师技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-EmbeddedEngineer-by-StuQ.png) 57 | 58 | - ![开发语言综述技能图谱](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-ProgrammingLanguage-by-StuQ.png) 59 | 60 | 以上设计图片会持续更新,欢迎**贡献**新领域技能图谱,**推荐**学习路径与资源(赠礼品),有任何改进意见和建议,也可以建立 issue 讨论或发送邮件至 Raymond@geekbang.org。 61 | 62 | ## 图谱 MarkDown 分级规范 63 | 64 | 为了便于编辑和纠错更新,现统一图谱 MarkDown 文件**分级规范**如下: 65 | 66 | 1. 根据内容考虑用" #,##,### "依次表示高级别主干分级 67 | 2. 次级别分支用" -,*,+ "三种符号区分 68 | 3. 所有“-”的优先级高于“*” 69 | 4. 所有“*”的优先级高于“+” 70 | 71 | ## 加入我们 72 | - 提交图谱:直接提交 Pull Request,或者联系项目负责人雷蒙德,可发邮件至 Raymond@geekbang.org 73 | - QQ群讨论:254521819,加群时请备注“姓名+职业角色”,如“Ray+前端” 74 | - 微信群讨论:请加StuQ小助手(StuQxiaozhushou)并备注“技能图谱”,小助手会邀请您入群 75 | 76 | ## 版本信息 77 | 78 | ### V 1.0 79 | - 更新稳定版本,新增 IT 职业技术重要领域 80 | 81 | ### v 0.2.0 82 | - IT 技术各主要领域基本覆盖 83 | 84 | ### v 0.1.2 85 | - 云计算领域新增:OpenStack,容器技术 86 | - 移动开发领域新增:iOS 开发 87 | - 测试领域新增:移动无线测试 88 | - 智能硬件领域新增:嵌入式开发 89 | 90 | ### v 0.1.1 91 | - StuQ 技能图谱第一版发布 92 | 93 | ## 版权声明 94 | 本技能图谱遵循 **[CC-BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)** 协议。_*商业转载必须征求极客邦科技 Geekbang 授权同意,转载请务必注明[出处](http://www.stuq.org/subject/skill-map/)。*_ **极客邦科技 Geekbang** 保留最终解释权及法律追究权力。 95 | 96 | 欢迎关注极客邦科技 Geekbang 推出的「极客时间」App,获取更多技术干货。 97 | 98 | ![极客时间](https://github.com/TeamStuQ/skill-map/blob/master/img/GeekTime-QRCode-200X200.png) 99 | 100 | ## 特别鸣谢 101 | 102 | 「程序员技能图谱」开源项目能有精美的展示图片,背后是设计同学在百忙之中配合内容编辑不厌其烦的设计、更新和修正,在此特别鸣谢以下设计同学的贡献(排名不分先后): 103 | 104 | 陈接(Jack)、杨旸(Tammy)、谢汝冰(Ice)、王慧娟(Amy)、王硕映(Ray)、张卓(Leslie)。 105 | 106 | ## 赞助声明 107 | 108 | 程序员技能图谱项目接受企业或者个人赞助,赞助经费主要用于覆盖图谱编辑、设计、印刷和运营成本。 109 | 110 | 赞助合作请发邮件至 Raymond@geekbang.org 。 111 | -------------------------------------------------------------------------------- /data/designbyStuQ/png-AndroidArchitect-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-AndroidArchitect-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-Angular2-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-Angular2-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-Apollo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-Apollo.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-Architect-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-Architect-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-BigData-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-BigData-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-CTO-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-CTO-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-CloudComputing-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-CloudComputing-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-Container-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-Container-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-DBA-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-DBA-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-EmbeddedEngineer-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-EmbeddedEngineer-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-FrontEnd-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-FrontEnd-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-HTML5-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-HTML5-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-Hadoop-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-Hadoop-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-IntelligentDevOps-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-IntelligentDevOps-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-Kubernetes-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-Kubernetes-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-MachineLearning-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-MachineLearning-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-MicroService-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-MicroService-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-MobileOptimization-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-MobileOptimization-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-MobileTesting-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-MobileTesting-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-OpenResty-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-OpenResty-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-ProgrammingLanguage-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-ProgrammingLanguage-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-Security-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-Security-by-StuQ.png -------------------------------------------------------------------------------- /data/designbyStuQ/png-iOSDev-by-StuQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/designbyStuQ/png-iOSDev-by-StuQ.png -------------------------------------------------------------------------------- /data/map-AngularJS2.md: -------------------------------------------------------------------------------- 1 | # Angular 2 技能图谱 2 | 3 | ## 模块 4 | 5 | ### 自定义模块 6 | 7 | - 根模块 8 | 9 | - 特性模块 10 | 11 | - 共享模块 12 | 13 | - 核心模块 14 | 15 | ### 内置模块 16 | 17 | - ApplicationModule 模块 18 | 19 | - CommonModule 模块 20 | 21 | - BrowserModule 模块 22 | 23 | - FormsModule 模块 24 | 25 | - ReactiveFormsModule 模块 26 | 27 | - RouterModule 模块 28 | 29 | - HttpModule 模块 30 | 31 | ### 元数据 32 | 33 | - providers 34 | 35 | - declarations 36 | 37 | - imports 38 | 39 | - exports 40 | 41 | - bootstrap 42 | 43 | - id 44 | 45 | - schemas 46 | 47 | - entryComponents 48 | 49 | ## 指令 50 | 51 | ### 组件 52 | 53 | ### 结构指令 54 | 55 | - 改变 DOM 树的结构,如 NgIf 56 | 57 | ### 属性指令 58 | 59 | - 改变元素的外观和行为,如 NgStyle 60 | 61 | ### 生命周期钩子 62 | 63 | - OnInit 64 | 65 | - OnChanges 66 | 67 | - DoCheck 68 | 69 | - OnDestroy 70 | 71 | ### 内置指令 72 | 73 | - 通用指令 74 | 75 | * NgClass 76 | 77 | * NgStyle 78 | 79 | * NgIf 80 | 81 | * NgSwitch 82 | 83 | * NgFor 84 | 85 | * NgTemplateOutLet 86 | 87 | * NgPlural 88 | 89 | - 表单指令 90 | 91 | * FormsModule 模块 92 | 93 | + NgForm 94 | 95 | + NgModelGroup 96 | 97 | + NgModel 98 | 99 | + InternalFormsSharedModule 模块 100 | 101 | * ReactiveFormsModule 模块 102 | 103 | + FormControlDirective 104 | 105 | + FormGroupDirective 106 | 107 | + FormControlName 108 | 109 | + FormGroupName 110 | 111 | + FormArrayName 112 | 113 | + InternalFormsSharedModule 模块 114 | 115 | * InternalFormsSharedModule 模块 116 | 117 | + 表单元素访问器指令 118 | 119 | + 表单选择框选项指令 120 | 121 | + 表单验证指令 122 | 123 | + 控件状态指令 124 | 125 | - 路由指令 126 | 127 | * RouterLink 128 | 129 | + RouterLinkWithHref(a[routerLink]) 130 | 131 | + RouterLink(:not(a)[routerLink]) 132 | 133 | * RouterLinkActive 134 | 135 | * RouterOutlet 136 | 137 | ### 自定义指令 138 | 139 | ## 组件 140 | 141 | ### 元数据 142 | 143 | - selector 144 | 145 | - moduleId 146 | 147 | - inputs 148 | 149 | - outputs 150 | 151 | - host 152 | 153 | - exportAs 154 | 155 | - providers 156 | 157 | - viewProviders 158 | 159 | - changeDetection 160 | 161 | - queries 162 | 163 | - entryComponents 164 | 165 | - templateUrl 166 | 167 | - template 168 | 169 | - encapsulation 170 | 171 | - styles 172 | 173 | - styleUrls 174 | 175 | - animations 176 | 177 | - interpolation 178 | 179 | ### 生命周期钩子 180 | 181 | - OnChanges 182 | 183 | - OnInit 184 | 185 | - DoCheck 186 | 187 | - AfterContentInit 188 | 189 | - AfterContentChecked 190 | 191 | - AfterViewInit 192 | 193 | - AfterViewChecked 194 | 195 | - OnDestroy 196 | 197 | ### 模板 198 | 199 | ## 模板 200 | 201 | ### 表达式操作符 202 | 203 | - 管道(|) 204 | 205 | * 内置管道 206 | 207 | * 自定义管道 208 | 209 | * 纯管道 210 | 211 | * 非纯管道 212 | 213 | - 安全导航(?.) 214 | 215 | ### 数据绑定 216 | 217 | - 属性绑定 - [] 218 | 219 | * 插值 - {{}} 220 | 221 | * Property 绑定 222 | 223 | * Attribute、 class 与 style 绑定 224 | 225 | - 事件绑定 - () 226 | 227 | - 双向绑定 - [()] 228 | 229 | ### 表单 230 | 231 | - 模板局部变量(# 或 ref-) 232 | 233 | - 表单校验 234 | 235 | * 内置校验器 236 | 237 | * 自定义检验器 238 | 239 | - 表单状态 240 | 241 | - 表单指令 242 | 243 | ### 内置元素标签 244 | 245 | - \ 246 | 247 | - \ 248 | 249 | ## 路由 250 | 251 | ### 路由指令 252 | 253 | ### 路由策略 254 | 255 | - PathLocationStrategy 256 | 257 | - HashLocationStrategy 258 | 259 | - PreloadingStrategy 260 | 261 | * PreloadAllModules 262 | 263 | * NoPreloading(默认) 264 | 265 | * 自定义预加载策略 266 | 267 | ### 路由拦截 268 | 269 | - CanActivate(激活拦截) 270 | 271 | - CanActivateChild(激活子路由配置项) 272 | 273 | - CanDeactivate(反激活拦截) 274 | 275 | - CanLoad(模块加载拦截) 276 | 277 | - Resolve(数据预加载拦截) 278 | 279 | ### 路由跳转 280 | 281 | - 指令跳转 282 | 283 | * RouterLink 284 | 285 | - 代码跳转 286 | 287 | * navigateByUrl() 288 | 289 | * navigate() 290 | 291 | ### 路由状态 292 | 293 | - ActivatedRouteSnapshot 294 | 295 | - RouterStateSnapshot 296 | 297 | ## 依赖注入 298 | 299 | ### 注入器(树) 300 | 301 | ### Provider 302 | 303 | - 类 Provider(useClass) 304 | 305 | - 值 Provider(useValue) 306 | 307 | - 别名 Provider (useExisting) 308 | 309 | - 工厂 Provider(useFactory) 310 | 311 | ### forwardRef() 312 | 313 | ### 可选依赖 - @Optional 314 | 315 | ## 服务 316 | 317 | ### 内置服务 318 | 319 | - JsonpModule 模块 320 | 321 | * Jsonp 322 | 323 | * BrowserJsonp 324 | 325 | * RequestOptions 326 | 327 | * ResponseOptions 328 | 329 | * JSONPBackend 330 | 331 | - HttpModule 模块 332 | 333 | * HTTP 334 | 335 | * BrowserXhr 336 | 337 | * XHRBackend 338 | 339 | * XSRFStrategy 340 | 341 | * RequestOptions 342 | 343 | * ResponseOptions 344 | 345 | ### 自定义服务 346 | 347 | ## RxJS 348 | 349 | ### Observable 350 | 351 | ### Observer 352 | 353 | ### Subscription 354 | 355 | ### Subject 356 | 357 | ### operators 358 | 359 | - 创建操作符 360 | 361 | - 转化操作符 362 | 363 | - 过滤操作符 364 | 365 | - 组合操作符 366 | 367 | - 错误处理操作符 368 | 369 | - 工具操作符 370 | 371 | - 条件操作符 372 | 373 | ### Scheduler 374 | 375 | ## 装饰器 376 | 377 | ### 类装饰器 378 | 379 | - @Component 380 | 381 | - @Directive 382 | 383 | - @Pipe 384 | 385 | - @Injectable 386 | 387 | - @NgModule 388 | 389 | ### 属性装饰器 390 | 391 | - @Input 392 | 393 | - @Output 394 | 395 | - @HostBinding 396 | 397 | - @HostListener 398 | 399 | - @ContentChild 400 | 401 | - @ContentChildren 402 | 403 | - @ViewChild 404 | 405 | - @ViewChildren 406 | 407 | ### 参数装饰器 408 | 409 | - @Inject 410 | 411 | - @Optional 412 | 413 | - @Self 414 | 415 | - @SkipSelf 416 | 417 | - @Host 418 | 419 | - @Attribute 420 | 421 | ## 动画 422 | 423 | - AnimationKeyframe 424 | 425 | - AnimationPlayer 426 | 427 | - AnimationSequencePlayer 428 | 429 | - AnimationGroupPlayer 430 | 431 | - AnimationQueue 432 | 433 | - AnimationTransition 434 | 435 | - AnimationTransitionEvent 436 | 437 | ## 变化检测 438 | 439 | ### Zone.js 440 | 441 | - ngZone 442 | 443 | * onUnstable 444 | 445 | * onMicrotaskEmpty 446 | 447 | * onStable 448 | 449 | * onError 450 | 451 | ### 异步操作 452 | 453 | - 用户事件:Click/Change... 454 | 455 | - 通信:XHR/WebSocket 456 | 457 | - 定时任务:setTimeout/requestAnimationFrame 458 | 459 | ### ChangeDetectorRef 460 | 461 | ## 测试 462 | 463 | ### 单元测试 464 | 465 | - Jasmine 测试框架 466 | 467 | - Karma 管理工具 468 | 469 | ### 端到端测试 470 | 471 | - Protractor 472 | 473 | - Benchpress 474 | 475 | ###  内置工具集 476 | 477 | - TestBed 478 | 479 | - inject 480 | 481 | - ComponentFixture 482 | 483 | - fakeAsync 484 | 485 | - flushMicrotasks 486 | 487 | - tick 488 | 489 | - discardPeriodicTasks 490 | 491 | ## 升级 492 | 493 | - UpgradeAdapter 494 | 495 | - UpgradeAdapterRef 496 | 497 | ## 模板编译器 498 | 499 | - 动态 - JIT 500 | 501 | - 静态 - AoT 502 | 503 | + ngc 504 | 505 | ## 调试 506 | 507 | - Augury 508 | 509 | - 断点调试 510 | 511 | ## 质量检查工具 512 | 513 | - TSLint 514 | 515 | - Codelyzer 516 | 517 | ## 构建工具 518 | 519 | - webpack 520 | 521 | - Gulp 522 | 523 | - RollUp 524 | 525 | - System.js 526 | 527 | ## 编码工具 528 | 529 | - VS Code 530 | 531 | - WebStorm 532 | 533 | - Atom 534 | 535 | - Sublime Text  536 | 537 | - Vim 538 | 539 | ## 开发语言 540 | 541 | - TypeScript 542 | 543 | - ES6 / ES5 544 | 545 | - Dart 546 | 547 | ## 周边生态圈 548 | 549 | - Angular Material 2 550 | 551 | - Universal 552 | 553 | - Angular-CLI 554 | 555 | - Ionic 2 556 | 557 | - NativeScript 558 | 559 | - Angular Mobile Toolkit 560 | 561 | - AngularFire 2 562 | 563 | - Angular Electron 564 | 565 | 566 | -------------------------------------------------------------------------------- /data/map-Apollo.md: -------------------------------------------------------------------------------- 1 | # Apollo 自动驾驶工程师技能图谱 2 | 3 | 本图谱核心贡献者:Apollo 技术布道师团队 4 | 5 | > 基于 Apollo 技术框架的自动驾驶工程师技能图谱:跟公布的技术框架结构保持一致,强调了 Apollo 软件之外的硬件能力。 6 | 7 | ## Toolbox(Basic) 8 | - Bazel 9 | - Protobuf 10 | - Docker 11 | - ROS 12 | - OpenCV 13 | 14 | ## Language(Basic) 15 | - C++ 16 | - Bash 17 | - Python 18 | + Keras 19 | - JavaScript 20 | + Node.js 21 | + React 22 | 23 | ## Machine Learning Frameworks(Basic) 24 | - PaddlePaddle 25 | - Caffe 26 | - TensorFlow 27 | 28 | ## 硬件(芯片)编程 (Basic) 29 | - CPU 30 | - GPU(CUDA) 31 | - FPGA 32 | 33 | ## Cloud Service Platform(Apollo) 34 | - HD Map 35 | + OpenDrive 36 | - Simulation 37 | + Matlab/Simulink 38 | + GameEngine(UE4) 39 | - Data Platform 40 | - 虚拟化 41 | - 异构计算 42 | - 分布式计算 43 | - 分布式存储 44 | - Security 45 | - OTA 46 | - DuerOS 47 | 48 | ## Open Modules(Apollo) 49 | + Localization 50 | + Perception 51 | - Deep Learning:CNN 52 | - Low-level Vision 53 | - 图形学与视觉几何 54 | - 状态估计与滤波 55 | - 最优化问题求解 56 | + Planning 57 | - Smoothing Curves 58 | - Vehicle Kinematics 59 | - Station-time 2D Model 60 | - Optimization Algorithms:Dynamic Programming 61 | - Quadratic Programming 62 | - Smoothing Spline 63 | - A* 64 | - Probability Math Models:Bayesian 65 | - Markov Process 66 | - MDP 67 | - Machine Learning: 68 | + CNN 69 | + RNN 70 | + Reinforcement Learning 71 | - Motion Planning Background:Sampling Based Motion Planning 72 | - Optimization Based Motion Planning 73 | - ComputerScience:Parallel Programming 74 | - For Planning Focused:Basic Motion Planning Technique 75 | - Dynamic Programming 76 | - Computation Geometry 77 | - 深度学习算法、BP 算法 78 | + Control 79 | - Basic Control Theory 80 | - Linear-Quadratic Regulator (LQR) 81 | - Model Predictive Control(MPC) 82 | - PID Basic Control Theory 83 | + End-to-End 84 | * Deep Learning 85 | * CV 86 | * 逆向汽车动力学模型 87 | * 端到端驾驶模型: 88 | - 横向模型:CNN 89 | - 纵向模型:Convolutional-LSTM 90 | - 横 + 纵向模型:LRCN 91 | 92 | ## Hardware & Sensors (Apollo) 93 | - Computing Unit 94 | + IPC(Intel Nvidia ...) 95 | + 专用自动驾驶计算单元(PX2 TX2 ...) 96 | - Perception 97 | + Camera(单目/双目) 98 | + LiDAR 99 | + Radar 100 | + Ultrasonic Radar 101 | - Localization 102 | + GPS 103 | + IMU 104 | + other perception sensors 105 | - CAN Card 106 | - HMI Device 107 | - V2X Device 108 | - Safety 109 | + Black Box 110 | - 传感器知识与技能 111 | + 搭建方式 112 | + 配置流程 113 | + 数据形式 114 | + 能够通过数据判断传感器是否正常工作 115 | - 无人车知识与技能 116 | + 基本的硬件组成 117 | + 各 Sensors 流程 118 | + 通讯信息接口 119 | + 各个传感器优点、能力与局限 120 | + 知道本模块对于硬件的需求 121 | + 算法对于硬件的依赖、瓶颈 122 | + 硬件的基本参数性能、调参方法 123 | + 熟悉上车开发调试环境 124 | 125 | ## Vehicle(Apollo) 126 | - 线控车辆 127 | - 车辆电子控制系统 128 | + Protocol 129 | - Can 130 | - Lin 131 | - FlexRay 132 | + 动力系统控制 133 | + 制动系统控制 134 | + 转向系统控制 135 | - 车载语音交互系统 136 | - AUTOSAR 137 | -------------------------------------------------------------------------------- /data/map-Architect.md: -------------------------------------------------------------------------------- 1 | # 架构师技能图谱 V1.2 2 | 3 | ## 系统架构能力 4 | 5 | ### 基本理论 6 | - 扩展性设计 7 | - 可用性设计 8 | - 可靠性设计 9 | - 一致性设计 10 | - 负载均衡设计 11 | - 过载保护设计 12 | - 灾难恢复和备份 13 | 14 | ### 协议设计 15 | - 二进制协议 16 | - 文本协议 17 | 18 | ### 接入层架构设计 19 | - DNS 轮询 20 | - 动静态分离 21 | - 静态化 22 | - 反向代理 23 | - LVS 24 | - F5 25 | - CDN 26 | 27 | ### 逻辑层架构设计 28 | - 连接池 29 | - 串行化技术 30 | - 影子 Master 架构 31 | - 批量写入 32 | - 配置中心 33 | - 去中心化 34 | - 通讯机制 35 | * 同步与异步 36 | * MQ 37 | * Cron 38 | * RMI 39 | * RPC 40 | - 数据层架构设计 41 | * 缓存优化 42 | + 高可用 43 | + 允许 cache miss 44 | * DAO & ORM 45 | * 双主架构 46 | * 主从同步 47 | * 读写分离 48 | 49 | ## 架构性能优化 50 | 51 | ### 代码级别 52 | - 关联代码优化 53 | - Cache 对齐 54 | - 分支预测 55 | - Copy on Write 56 | - 内联优化 57 | 58 | ### 工具优化 59 | - OProfile 60 | - Gprof 61 | - JDK 工具 62 | 63 | ### 系统优化 64 | - Cache 65 | - 延迟计算 66 | - 数据预读 67 | - 异步 68 | - 轮询与通知 69 | - 内存池 70 | - 模块化 71 | - 并发 72 | 73 | ## 工程架构能力 74 | 75 | ### 开发语言 76 | - 站点开发 77 | - 服务开发 78 | - 脚本处理 79 | 80 | ### 设计模式 81 | ### 数据结构与算法 82 | ### 开发工具 83 | ### 调试工具 84 | 85 | ### 测试工具 86 | - 单元测试 87 | - 接口测试 88 | - 性能测试 89 | - 集成测试 90 | - 自动化测试 91 | 92 | ### 运维与监控 93 | - 监控 94 | * 系统监控 95 | * 日志监控 96 | * 流量监控 97 | * 接口监控 98 | * 数据库监控 99 | - 告警 100 | - 日志 101 | 102 | ### 应用技术 103 | - 硬件知识 104 | * CPU 105 | * MEM 106 | * Disk 107 | * Net 108 | - 第三方库 109 | - 数据结构与算法 110 | - 操作系统 111 | * Linux 112 | - 接入层 113 | * Nginx 114 | * Apache 115 | * Lighttpd 116 | * Tomcat 117 | * Node.js 118 | - 框架 119 | * SpringMVC 120 | * Dubbo 121 | * Thrift 122 | - 缓存 123 | * Redis 124 | * Memcache 125 | - NoSQL 126 | * MongoDB 127 | * HDFS 128 | * Cassandra 129 | - 存储 130 | * MySQL 131 | * SQL Server 132 | * Oracle 133 | - 中间件 134 | - 消息总线 135 | 136 | ## 架构师软素质 137 | - 沟通能力 138 | - 解决问题能力 139 | - 学习能力 140 | - 创新能力 141 | - 项目管理能力 142 | - 文档论文阅读能力 143 | - 总结归纳能力 144 | 145 | -------------------------------------------------------------------------------- /data/map-BigDataEngineer.md: -------------------------------------------------------------------------------- 1 | # 大数据工程师技能图谱 2 | ## 大数据通用处理平台 3 | - Spark 4 | - Flink 5 | - Hadoop 6 | - Drill 7 | 8 | ## 分布式协调 9 | - ZooKeeper 10 | 11 | ## 分布式存储 12 | - HDFS 13 | - Alluxio(tachyon) 14 | - Ignite 15 | 16 | ## 存储格式 17 | - Parquet 18 | - ORC 19 | - CarbonData 20 | - Kudu 21 | 22 | ## 数据库 23 | - HBase 24 | 25 | ## 资源调度 26 | - Yarn 27 | - Mesos 28 | - Kubernetes 29 | 30 | ## 工作流调度 31 | - Oozie 32 | - Azkaban 33 | 34 | ## 机器学习工具 35 | - Mahout 36 | - Spark Mlib 37 | - TensorFlow 38 | - DeepLearning4J 39 | - Torch 40 | - Theano 41 | - Caffe 42 | - MxNet 43 | - Keras 44 | - CNTK 45 | - Amazon Machine Learning 46 | - DMTK (微软分布式机器学习工具) 47 | 48 | ## 数据安全 49 | - Sentry 50 | - Apache Eagle  51 | 52 | ## 部署工具 53 | - Cloudera Manager 54 | - Ambari 55 | 56 | ## 数据分析/数据仓库(SQL类) 57 | - Pig 58 | - Kylin 59 | - Presto 60 | - Impala 61 | - Hive 62 | - Spark SQL/DataFrame/DataSet 63 | - Phoenix 64 | - ELK 65 | - ElasticSearch 66 | - Logstash 67 | - Kibana 68 | 69 | ## 消息队列 70 | - Kafka(纯日志类,大吞吐量) 71 | - RocketMQ 72 | - ZeroMQ 73 | - ActiveMQ 74 | - RabbitMQ 75 | 76 | ## 流式计算 77 | - Storm/JStorm 78 | - Spark Streaming 79 | - Fink 80 | 81 | ## 日志收集 82 | - Scribe 83 | - Flume 84 | - Sqoop 85 | 86 | ## 编程语言 87 | - Java/Scala 88 | - Python 89 | - R 90 | 91 | ## 数据分析挖掘 92 | - MATLAB 93 | - SPSS 94 | - SAS 95 | 96 | 97 | ## 数据探索/可视化 98 | - R 99 | - D3.js 100 | - ECharts 101 | - Excle 102 | - Tableau 103 | - Zeppelin 104 | - Hue 105 | 106 | 107 | ## 机器学习 108 | 109 | ### 机器学习基础 110 | - 聚类 111 | - 时间序列 112 | - 推荐系统 113 | - 回归分析 114 | - 文本挖掘 115 | - 决策树 116 | - 支持向量机 117 | - 贝叶斯分类 118 | - 神经网络 119 | 120 | ## 算法 121 | ### 一致性 122 | - paxos 123 | - raft 124 | - gossip 125 | 126 | ### 数据结构 127 | - 栈,队列,链表 128 | - 散列表 129 | - 二叉树,红黑树,B树 130 | - 图 131 | 132 | ### 常用算法 133 | - 排序 134 | - 插入排序 135 | - 桶排序 136 | - 堆排序 137 | - 快速排序 138 | - 最大子数组 139 | - 最长公共子序列 140 | - 最小生成树 141 | - 最短路径 142 | - 矩阵的存储和运算 143 | 144 | ## 云计算 145 | - 云服务 146 | - SaaS 147 | - PaaS 148 | - IaaS 149 | - OpenStack 150 | - Docker 151 | 152 | -------------------------------------------------------------------------------- /data/map-CDN.md: -------------------------------------------------------------------------------- 1 | # CDN 技能图谱 2 | 3 | ## 服务 4 | - Potal 5 | - 客户管理 6 | - 频道管理 7 | - GSLB配置 8 | - SLB配置 9 | - 设备管理 10 | - 监控平台 11 | - 告警平台 12 | - 计费系统 13 | - 日志系统 14 | 15 | ## 调度 16 | - 调度方式 17 | - DNS 18 | - ECS 19 | - 二层 20 | - LVS 21 | - 隧道 22 | - 三层 23 | - Anycast 24 | - LVS 25 | - SDN 26 | - 隧道VPN 27 | - 四层 28 | - 四层负载均衡 29 | - 七层 30 | - HTTP 302 redirect 31 | - 七层负载均衡 32 | - 内置于应用端 33 | - HTTPDNS 34 | 35 | - 调度范围 36 | - 全局级别 GSLB 37 | - 节点级别 SLB 38 | 39 | - 调度依据 40 | - 网络位置远近 41 | - 地理位置 42 | - ISP 43 | - 链接质量好坏 44 | - RTT 45 | - 带宽 46 | - 链接质量 47 | - 设备状态 48 | - 连接数 49 | - 负载 50 | - TCP建联时间 51 | - 首包时间 52 | - 传输速度 53 | - 节点带宽单价 54 | - 业务重要性 55 | 56 | ## 分发系统 57 | - Cache 58 | - 反向代理 59 | - 分发方式 60 | - 反向代理被动式拉源信息 61 | - 预加载主动推送 62 | - 视频拉流 63 | - 视频推流 64 | 65 | ## 技术 66 | - DNS 67 | 68 | 69 | ## 评判指标 70 | - 主要质量指标 71 | - 域名解析时长 72 | - TCP建连时间 73 | - 首字节时间 74 | - 传输速度 75 | - 回源率 76 | - 主要性能指标 77 | - 网络吞吐 78 | - 并发连接数 79 | - CPU负载 80 | - 磁盘IO吞吐 81 | - 缓冲命中率 82 | - 主要质量指标变化 83 | 84 | ## 业务性质 85 | - 文件性质 86 | - 小文件 87 | - 大文件 88 | - 流文件 89 | - 资源分发缓冲特征 90 | - 动态资源不可分发不缓冲 91 | - 静态资源可分发可缓冲 92 | - 直播可分发不缓冲 93 | - 协议 94 | - HTTP 95 | - HTTPS 96 | - 视频流 97 | - 连接使用 98 | - 一次性 短连接 99 | - 复用长连接 100 | - 多路复用 SPDY 101 | - 主要业务性质 102 | - 页面 103 | - 图片 104 | - 下载 105 | - 点播 106 | - 直播 107 | 108 | ## TCP 109 | - 单边优化 110 | - 双边优化 111 | 112 | ## 第三方测试 113 | - 基调 114 | - 博瑞 115 | - ...... 116 | 117 | ## Cache关键附属功能 118 | - 刷新 119 | - 预加载 120 | 121 | ## 开源软件 122 | - 测试工具 123 | - curl 124 | - wget 125 | - ab 126 | - nc 127 | - ping 128 | - dig 129 | - nslookup 130 | - traceroute 131 | - mtr 132 | - iperf 133 | - ...... 134 | - Cache 135 | - nginx 136 | - squit 137 | - ATS 138 | - varnish 139 | - ...... 140 | - 负载均衡 141 | - Haproxy 142 | - LVS 143 | - ...... 144 | - DNS 145 | - BIND View geo 146 | - powerdns+geo backend 147 | - ...... 148 | - 告警 149 | - Zabbix 150 | - ...... 151 | 152 | 153 | -------------------------------------------------------------------------------- /data/map-CTO.md: -------------------------------------------------------------------------------- 1 | # CTO 技能图谱 2 | 3 | ### 岗位职责 4 | * 建立技术团队文化 5 | * 规划技术发展路线 6 | * 落地产品研发成果 7 | * 宣传公司技术品牌 8 | * 吸引优秀技术人才 9 | 10 | ### 基本素质 11 | * 正直诚实的道德修养 12 | * 谦虚谨慎的工作态度 13 | * 随机应变的处事风格 14 | * 统领全局的战略思维 15 | 16 | ### 硬技能 17 | 18 | #### 技术能力 19 | * 具备一定的技术深度 20 | * 具备较强的技术广度 21 | * 追求技术选型合理性 22 | * 对技术发展嗅觉敏锐 23 | 24 | #### 业务能力 25 | * 能深度理解业务本质 26 | * 能用技术来帮助业务 27 | * 让技术驱动业务发展 28 | 29 | #### 架构能力 30 | * 能站在业务上设计架构 31 | * 架构规范合理且易落地 32 | * 能为架构设计提出意见 33 | 34 | #### 产品能力 35 | * 具备一定的产品价值观 36 | * 能准确地抓住用户刚需 37 | * 能为产品设计提出意见 38 | 39 | #### 管理能力 40 | - 团队管理 41 | * 招人:知道如何吸引所需的人? 42 | * 识人:知道如何识别已有队员? 43 | * 育人:知道如何让队员们成长? 44 | * 开人:知道如何请人愉快离开? 45 | * 留人:知道如何留住该留的人? 46 | * 挖人:知道如何挖到需要的人? 47 | - 项目管理 48 | * 估算:知道项目成本如何估算? 49 | * 分工:知道工作任务如何分配? 50 | * 排期:知道项目计划如何制定? 51 | * 实施:知道项目实施如何开展? 52 | * 发布:知道项目发布如何执行? 53 | * 回顾:知道项目回顾如何进行? 54 | - 绩效管理 55 | * 制定:知道如何制定考核标准? 56 | * 执行:知道如何执行绩效考核? 57 | * 优化:知道如何提升团队绩效? 58 | - 时间管理 59 | * 制定:知道如何制定团队计划? 60 | * 管理:知道如何管理团队任务? 61 | * 权衡:知道如何权衡优先级别? 62 | - 情绪管理 63 | * 控制:知道如何控制自我情绪? 64 | * 转化:知道如何化悲观为乐观? 65 | * 使用:知道如何善用自我情绪? 66 | 67 | ### 软技能 68 | 69 | #### 领导能力 70 | - 决策能力 71 | * 不要害怕做决定 72 | * 做出正确的决定 73 | * 敢于为决定负责 74 | - 影响能力 75 | * 不要改变别人而是激发别人 76 | * 用自己的行为和态度去激发 77 | * 持续不断提高自己的影响力 78 | - 沟通能力 79 | + 向上沟通(与公司创始人) 80 | * 领会老板真实意图 81 | * 站在老板角度思考 82 | * 不要强迫改变老板 83 | + 向下沟通(与本部门同事) 84 | * 是沟通而不是命令 85 | * 站在下属立场沟通 86 | * 不要吝啬夸赞队员 87 | - 横向沟通(与跨部门同事) 88 | * 突出对方的重要性 89 | * 先要共识才能共赢 90 | * 懂得圆满大于完美 91 | 92 | #### 执行能力 93 | * 理解执行目标 94 | * 提高执行效率 95 | * 确保执行效果 96 | 97 | #### 学习能力 98 | * 对新知识充满好奇心 99 | * 能够快速学习新技能 100 | * 拥有触类旁通的能力 101 | 102 | #### 组织能力 103 | * 积极主动并有活力 104 | * 做事情敢于放得开 105 | * 能够调用所需资源 106 | 107 | #### 洞察能力 108 | * 善于抓住事物本质 109 | * 善于观察人性心理 110 | * 善于预见未来变化 111 | 112 | #### 抗压能力 113 | * 学会释放压力 114 | * 化压力为动力 115 | * 化消极为积极 116 | 117 | #### 自省能力 118 | * 能够不断自我反省 119 | * 能够从失败中总结 120 | * 能够在总结中提高 121 | 122 | #### 战略能力 123 | * 能够深刻理解公司战略 124 | * 能够站在更高层次思考 125 | * 结合战略形成技术壁垒 126 | 127 | #### 社交能力 128 | * 善于表达自己 129 | * 善于结交朋友 130 | * 善于公众演讲 131 | 132 | #### 谈判能力 133 | * 能够通过谈判得到对方认同 134 | * 能够从谈判中找到共赢方式 135 | * 能够在谈判场合中保持镇定 136 | 137 | #### 政治能力 138 | * 能够对政治持有敏感度 139 | * 能够处理办公室小政治 140 | * 能够主动避免政治风险 141 | 142 | -------------------------------------------------------------------------------- /data/map-CloudComputing.md: -------------------------------------------------------------------------------- 1 | # 云计算工程师技能图谱 2 | 3 | ## 运维 4 | ### DevOps 5 | - 持续交付 6 | - 持续集成 7 | 8 | ### 部署 9 | - 蓝绿部署 10 | - 灰度发布 11 | - 金丝雀发布 12 | - Canary 部署 13 | - PHOENIX 部署 14 | - AWS CloudFormation 15 | 16 | ### 配置 17 | - Chef 18 | - Puppet 19 | - Ansible 20 | - AWS OpsWorks 21 | 22 | ## 开发 23 | 24 | - 流程 25 | - Scrum 26 | - Crystal 27 | - FDD 28 | 29 | - 语言 30 | - Java 31 | - Python 32 | - Go 33 | - JavaScript 34 | - PHP 35 | - Ruby 36 | - Clojure 37 | - Julia 38 | 39 | ## 架构 40 | 41 | - 分布式消息 42 | - 消息队列 43 | - ZeroMQ 44 | - ActiveMQ 45 | - RabbitMQ 46 | - AWS SQS 47 | 48 | - 事件/消息驱动 49 | - AWS SWS 50 | - AWS Lambda 51 | - AKKA 52 | 53 | - RPC 54 | - Thrift 55 | - Protobuf 56 | - Microservices 57 | - RESTFull 58 | - CAP 理论 59 | 60 | 61 | ## 应用 62 | - 前端应用 63 | - Web 应用 64 | - JavaScript/Ajax 65 | - HTML/CSS 66 | - 桌面虚拟化 67 | - 移动应用 68 | - IOT 69 | 70 | - 后端应用 71 | - 高性能计算 72 | - 渲染 73 | 74 | - 行业应用 75 | - CRM 76 | - ERP 77 | - 生物科学 78 | 79 | ## 基础架构 80 | - 计算 81 | - 自动扩展 82 | - AWS Autoscaling 83 | - OpenStack/Hoo! 84 | 85 | - 负载均衡 86 | - AWS ELB 87 | - HAProxy 88 | - Nginx 89 | 90 | - 虚拟化 91 | - Hypervisor 92 | - Xen 93 | - KVM 94 | - Hyper-V 95 | 96 | - 容器 97 | - Docker 98 | - CoreOS 99 | - UnixLXC 100 | 101 | - 网络 102 | - TCP/IP 103 | - VLANs 104 | - DNS/CDN 105 | - HTTP/HTTPS 协议 106 | 107 | - 存储 108 | - 网络存储 109 | - AWS EBS 110 | - NFS v4 111 | - Ceph 112 | - Apache CloudStack 113 | 114 | - 对象存储 115 | - AWS S3 116 | - OpenStack Swift 117 | 118 | - 块存储 119 | - SAN 120 | - AWS EBS 121 | - RAID 概念 122 | 123 | - 灾难恢复 124 | - 文件系统 125 | - ext4 126 | - XFS 127 | 128 | ## 平台 129 | - 操作系统 130 | - Linux 131 | - RedHat/CentOS 132 | - Ubuntu 133 | - Debian 134 | - SUSE 135 | - Windows Server 136 | 137 | - 数据管理 138 | - SQL 139 | - AWS RDS 140 | - MySQL 141 | - PostgreSQL 142 | 143 | - NoSQL 144 | - DynamoDB 145 | - MongoDB 146 | - Cassandra 147 | 148 | - 缓存 149 | - Memcached 150 | - Redis 151 | - AWS ElastiCache 152 | 153 | - 检索 154 | - Solr 155 | - Elasticsearch 156 | - AWS Elasticsearch 157 | 158 | - 大数据 159 | - 语言、工具 160 | - R 161 | - Python 162 | - Java 163 | - Scala 164 | - Clojure 165 | 166 | - MapReduce 167 | - Hadoop 168 | - HDFS 169 | - HBase 170 | - Hive 171 | - Spark 172 | 173 | - 数据流 174 | - AWS Kinesis 175 | - Storm 176 | 177 | - 机器学习 178 | - Spark ML 179 | - scikit learn 180 | - AWS ML 181 | 182 | - 身份认证 183 | - SAML 184 | - OpenID 185 | - Microsoft AD 186 | - AWS IAM 187 | 188 | - 管理 189 | - 日志 190 | - AWS CloudTrail 191 | - Logstash 192 | - Fluentd 193 | 194 | - 监控 195 | - ZABBIX 196 | - OBSERVIUM 197 | - INICGA 198 | - AWS CloudWatch 199 | 200 | ## 安全 201 | - Firewall 202 | - DDoS 203 | - iptables 204 | - WAF 205 | - IDS/IPS 206 | - VPN 207 | 208 | ## OpenStack 209 | - 核心功能 210 | - 计算:NOVA 211 | - 网络:NEUTRON 212 | - 对象存储:SWIFT 213 | - 块存储:CINDER 214 | - 认证:KEYSTONE 215 | - 镜像:GLANCE 216 | 217 | - 可选功能 218 | - 仪表板:Horizon 219 | - 数据库:Trove 220 | - 大数据:Sahara 221 | - 编排:Heat 222 | - 监控:Ceilometer 223 | - 消息服务:Zaqar 224 | - 裸机配置:Ironic 225 | - 密钥管理:Barbican 226 | - DNS服务:Designate 227 | - Governance Service:Congress 228 | - Shared Filesystems:Manila 229 | - Container Service:Magnum 230 | - Workflow Service:Mistral 231 | - Application Catalog:Murano 232 | 233 | -------------------------------------------------------------------------------- /data/map-Container.md: -------------------------------------------------------------------------------- 1 | # Container 技能图谱 2 | 3 | ## 容器化工具 4 | 5 | - [Docker](https://www.docker.com/) 6 | - [LXC](https://linuxcontainers.org/) 7 | - [RunC](https://github.com/opencontainers/runc) 8 | - [Rkt](https://github.com/coreos/rkt) 9 | - [Systemd-nspawn](www.freedesktop.org/wiki/Software/systemd/) 10 | - [Garden](https://github.com/cloudfoundry/garden) 11 | - [Vagga](https://github.com/tailhook/vagga) 12 | - [VMWare Photon](https://github.com/vmware/photon) 13 | - [gVisor](https://gvisor.dev) 14 | - [Pouch Container](https://pouchcontainer.io) 15 | - [Kata Containers](https://katacontainers.io) 16 | 17 | ## 监控和数据收集 18 | 19 | - [Sysdig Monitor](https://sysdig.com/products/monitor) 20 | - [cAdvisor](https://github.com/google/cadvisor) 21 | - [Weave Scope](https://www.weave.works/oss/scope/) 22 | - [Prometheus](https://github.com/prometheus) 23 | - [TICK-Stack](https://influxdata.com) 24 | - [Docker-Alertd](https://github.com/deltaskelta/docker-alertd) 25 | - [Grafana](https://grafana.com) 26 | - [Cockpit](http://cockpit-project.org) 27 | 28 | ## 基础设施集成 29 | 30 | - [Magnum](https://github.com/openstack/magnum) 31 | - [Boot2Docker](https://github.com/boot2docker/boot2docker) 32 | - [MaestroNG](https://github.com/signalfuse/maestro-ng) 33 | - [CloudFoundry Containers Service Broker](https://github.com/cf-platform-eng/cf-containers-broker) 34 | 35 | ## 编排和调度 36 | 37 | - [Crane](https://github.com/michaelsauter/crane) 38 | - [Mesos](http://mesos.apache.org/) 39 | - [Marathon](https://github.com/mesosphere/marathon) 40 | - [Compose](https://docs.docker.com/compose/) 41 | - [Yarn](https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html) 42 | - [Kubernetes](https://github.com/kubernetes/kubernetes) 43 | - [Openshift Origin](https://github.com/openshift/origin) 44 | - [Rancher](http://www.rancher.io) 45 | - [K3s](https://k3s.io/) 46 | - [Nomad](https://github.com/hashicorp/nomad) 47 | - [SwarmKit](https://github.com/docker/swarmkit) 48 | - [Nebula](https://github.com/nebula-orchestrator) 49 | - [Dokku](https://github.com/progrium/dokku/) 50 | - [Flynn](http://Flynn.io) 51 | 52 | ## 商业平台 53 | 54 | - [AWS Container Service](https://aws.amazon.com/ecs/details/) 55 | - [Google Container Engine](https://cloud.google.com/container-engine/) 56 | - [Azure Container Service](https://docs.microsoft.com/en-us/azure/container-service) 57 | - [阿里云容器服务](https://www.aliyun.com/product/containerservice) 58 | - [腾讯云容器服务](https://cloud.tencent.com/product/tke) 59 | - [华为云容器引擎](https://support.huaweicloud.com/cce/index.html) 60 | 61 | ## 容器镜像仓库 62 | 63 | - [Repository](https://github.com/docker/distribution) 64 | - [Nexus](http://www.sonatype.org/nexus) 65 | - [Habor](http://vmware.github.io/harbor) 66 | - [Portus](https://github.com/SUSE/Portus) 67 | - [Dragonfly](https://github.com/alibaba/Dragonfly) 68 | 69 | ## 服务发现和容器 70 | 71 | - [Consul](http://www.consul.io/) 72 | - [Etcd](https://github.com/coreos/etcd) 73 | - [ZooKeeper](https://zookeeper.apache.org/) 74 | - [Eureka](https://github.com/Netflix/eureka) 75 | - [Traefik](https://traefik.io) 76 | - [Registrator](https://github.com/gliderlabs/registrator) 77 | 78 | ## 容器日志收集处理 79 | 80 | - [Splunk](www.splunk.com) 81 | - [Elastic Stack](https://www.elastic.co/products) 82 | - [Fluentd](www.fluentd.org/) 83 | - [Flume](https://flume.apache.org/) 84 | - [Graylog](https://www.graylog.org/products/open-source) 85 | - [Rsyslog](https://www.rsyslog.com/) 86 | 87 | ## 容器相关的系统发行版 88 | 89 | - [Container Linux (CoreOS)](http://coreos.com/) 90 | - [Project Atomic](http://www.projectatomic.io/) 91 | - [RancherOS](https://rancher.com/rancher-os/) 92 | - [ClearLinux](https://clearlinux.org/) 93 | - [VMWare Photon](https://vmware.github.io/photon/) 94 | - [Talos](https://github.com/talos-systems/talos) 95 | - [k3os](https://k3os.io/) 96 | - [LinuxKit](https://github.com/linuxkit/kubernetes) 97 | - [SmartOS](https://www.joyent.com/smartos) 98 | 99 | ## 容器网络 100 | 101 | - [Pipework](https://github.com/jpetazzo/pipework) 102 | - [Flannel](https://github.com/coreos/flannel) 103 | - [Calico](http://www.projectcalico.org) 104 | - [Weave](https://github.com/zettio/weave) 105 | - [Kubenet](https://www.kubenet.net) 106 | - [Contiv](https://contiv.io) 107 | - [OpenContrail](www.opencontrail.org) 108 | - [MacVlan](https://docs.docker.com/network/macvlan) 109 | - [Canal](https://github.com/projectcalico/canal) 110 | - [Romana](http://romana.io) 111 | - [Submariner](https://submariner.io/) 112 | 113 | ## 容器安全 114 | 115 | - [Anchore Engine](https://anchore.com/engine) 116 | - [Aqua Microscanner](https://github.com/aquasecurity/microscanner) 117 | - [Clair](https://github.com/coreos/clair) 118 | - [Dagda](https://github.com/eliasgranderubio/dagda) 119 | - [Twistlock](https://www.twistlock.com/platform/vulnerability-management-tools/) 120 | - [OpenSCAP](https://www.open-scap.org) 121 | - [Notary](https://github.com/docker/notary) 122 | - [Twistlock](https://www.twistlock.com) 123 | - [SELinux](https://selinuxproject.org) 124 | - [AppArmor](http://wiki.apparmor.net/index.php/Main_Page) 125 | 126 | ## 容器数据持久化 127 | 128 | - [Ceph](http://ceph.com/) 129 | - [Convoy](https://github.com/rancher/convoy) 130 | - [REX-Ray](https://github.com/codedellemc/rexray) 131 | - [Netshare](https://github.com/ContainX/docker-volume-netshare) 132 | - [OpenStorage](https://github.com/libopenstorage/openstorage) 133 | 134 | ## 容器相关标准 135 | 136 | - [OCI Runtime Spec](https://github.com/opencontainers/runtime-spec) 137 | - [OCI Image Spec](https://github.com/opencontainers/image-spec) 138 | - [OCI Distribution Spec](https://github.com/opencontainers/distribution-spec) 139 | - [Container Network Interface](https://github.com/containernetworking/cni) 140 | - [Container Storage Interface](https://github.com/container-storage-interface/spec) 141 | -------------------------------------------------------------------------------- /data/map-DBA-comands.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/map-DBA-comands.png -------------------------------------------------------------------------------- /data/map-DBA-io.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/map-DBA-io.jpg -------------------------------------------------------------------------------- /data/map-DBA.md: -------------------------------------------------------------------------------- 1 | # DBA技能图谱 2 | 3 | ## 网络 4 | - TCP/IP协议 5 | - 工具 6 | * tcpdump 7 | * ss 8 | 9 | ## 数据库类型 10 | - 关系型 11 | * Oracle,MySQL,DB2,SQLserver 12 | - KV型 13 | * Redis,RocksDB 14 | - 文档型 15 | * MongoDB 16 | - 列存储 17 | * HBase,Cassandra 18 | - 内存数据库 19 | * SQLite,TimesTen 20 | 21 | ## 运维工具 22 | - 部署 23 | * saltstack,puppet,ansible 24 | - 监控 25 | * cati,zabbix,nigos 26 | 27 | ## linux基础 28 | - 常用命令 29 | * ![alt 常用命令](https://github.com/MiliOnE/skill-map/blob/master/data/map-DBA-comands.png?raw=true) 30 | - 文件系统 31 | * ext4 32 | * xfs 33 | - io调度 34 | * deadline,noop,cfq 35 | * The Linux I/O Stack Diagram 36 | * ![alt io调度](https://github.com/MiliOnE/skill-map/blob/master/data/map-DBA-io.jpg?raw=true) 37 | 38 | ## 硬件 39 | - RAID卡 40 | * 读写策略 41 | + WB 42 | + WT 43 | + FORCE WB 44 | * BBU 45 | - SSD 46 | - 网卡 47 | - PCI-E/NVMe 48 | 49 | ## 开发语言 50 | - python,shell,perl 51 | - java,C/C++,go 52 | 53 | ## 数据库技能 54 | - 理论知识 55 | * B*树/B-树/hash/索引原始结构等 56 | * 事务ACID 57 | * MVCC 58 | * 锁机制 行锁/死锁/mutex锁等 59 | * innodb读写相关操作的原理 60 | * 分布式事务 61 | - 备份/恢复 62 | * xtrabackup 63 | * mysqldump 64 | * mydumper/myloader 65 | * mysqlpump/mysqlimport(5.7版本) 66 | * rsync/qpress压缩 67 | - 高可用 68 | * HA 69 | + MHA 70 | + keepalive 71 | + PXC 72 | + zookeeper 73 | * sharding 74 | + 水平拆分 75 | + 垂直拆分 76 | - 中间件 77 | * TDDL 78 | * Cobar 79 | * OneProxy 80 | * Atlas 81 | * mango乐视 82 | * Mycat 83 | * fabric 84 | - 优化 85 | * 原则 空间换时间 86 | * 业务逻辑设计 87 | * 库/表结构 索引设计 88 | * 慢查询 89 | * 拆分 90 | - 工具集 91 | * pt-tools 92 | * orzdba,iotop,ytop 93 | * pstack 94 | 95 | ## 关联软件 96 | - 消息队列 97 | * nsq 98 | * RabbitMq 99 | * kafka 100 | - 缓存 101 | * memcache,tair,redis 102 | - DNS 103 | - 搜索 104 | * ELK,Solr 105 | 106 | ## 软技能 107 | - 能说 108 | - 会写 109 | 110 | -------------------------------------------------------------------------------- /data/map-DevLang-Clojure.md: -------------------------------------------------------------------------------- 1 | # Clojure 技能图谱 2 | 3 | ## Clojure语言环境搭建 4 | - Clojure安装 5 | - 新建Clojure项目 6 | - 命令行运行-main(Java main方法)函数 7 | - 使用REPL 8 | - Clojure开发工具 9 | 10 | ## Clojure语言编程基础 11 | - 语法(S-expression) 12 | - 函数 (function) 13 | - 命名空间 (namespaces) 14 | - 流程控制 (flow control) 15 | - 数据结构 (data structures) 16 | - 读取器宏 (reader macro) 17 | - 惰性序列 (lazy sequences) 18 | - 递归 (recursion) 19 | - 使用java类库 (call java libraries) 20 | - 面向对象 (OO) 21 | - 多重方法 (multimethods) 22 | - 宏 (macros) 23 | - 测试 (testing) 24 | 25 | ## Clojure并发编程 26 | - Refs 27 | - Agents 28 | - Atoms 29 | - core.async 30 | 31 | ## 其余Clojure编程方式 32 | - core.typed (类型系统) 33 | - core.logic (逻辑编程) 34 | - core.match (模式匹配) 35 | - algo.monads 36 | 37 | -------------------------------------------------------------------------------- /data/map-DevLang-Golang.md: -------------------------------------------------------------------------------- 1 | # Golang 开发技能图谱 2 | 3 | ## Go 语言环境搭建 4 | - Go 安装 5 | - GOPATH 与工作空间 6 | - Go 命令 7 | - Go开发工具 8 | 9 | ## GO 语言编程基础 10 | - 关键词和语法(Language Syntax) 11 | - 数据类型(Arrays, Slices and Maps) 12 | - 流程控制(if/else,for/range) 13 | - Go 函数(Function) 14 | - 面向对象(Methods, Interfaces and Embedding) 15 | - 包处理(Packaging and Exporting) 16 | - Go 指针(Using Pointers) 17 | - 程序测试(Testing and Debugging) 18 | - 对象合成(Composition) 19 | - 错误处理(Error Handling) 20 | - 标准库(Standard Library) 21 | - 反射(Reflection) 22 | 23 | ## 并发编程 24 | - Go 并发基础(Concurrency, Race Conditions and Channels) 25 | - 并发模式(Concurrency Patterns) 26 | 27 | ## Go Web 编程 28 | - Web基础 29 | - Web工作方式 30 | - Go 搭建一个简单的web服务 31 | - Go 的 HTTP 包详解 32 | - 表单 33 | - 处理表单的输入 34 | - 验证表单的输入 35 | - 预防跨站脚本 36 | - 防止多次递交表单 37 | - 处理文件上传 38 | - 数据库 39 | - database/sql接口 40 | - 使用MySQL数据库 41 | - 使用PostgreSQL数据库 42 | - 使用beedb库进行ORM开发 43 | - NOSQL数据库操作 44 | - Session 和数据存储 45 | - Session 和 Cookie 46 | - Go 如何使用 Session 47 | - Session 存储 48 | - 预防 Session 劫持 49 | - 文本文件处理 50 | - XML 处理 51 | - JSON 处理 52 | - 正则处理 53 | - 模板处理 54 | - 文件操作 55 | - 字符串处理 56 | - Web服务 57 | - Socket 编程 58 | - WebSocket 59 | - REST 60 | - RPC 61 | - 安全与加密 62 | - 预防 CSRF 攻击 63 | - 确保输入过滤 64 | - 避免 XSS 攻击 65 | - 避免 SQL 注入 66 | - 存储密码 67 | - 加密和解密数据 68 | - 国际化和本地化 69 | - 设置默认地区 70 | - 本地化资源 71 | - 国际化站点 72 | - 错误处理,调试和测试 73 | - 错误处理 74 | - 使用GDB调试 75 | - Go怎么写测试用例 76 | - 部署与维护 77 | - 应用日志 78 | - 网站错误处理 79 | - 应用部署 80 | - 备份和恢复 81 | - 如何设计一个Web框架  82 | - 项目规划  83 | - 自定义路由器设计 84 | - Controller 设计 85 | - 日志和配置设计 86 | - 实现博客的增删改 87 | - 扩展Web框架 88 | - 静态文件支持 89 | - Session 支持 90 | - 表单支持 91 | - 用户认证 92 | - 多语言支持 93 | - pprof支持 94 | 95 | ## Go 应用 96 | - Docker 97 | - Bee Go 98 | - NSQ 99 | - NewSQL 100 | 101 | ## Go 实战案例 102 | 103 | -------------------------------------------------------------------------------- /data/map-DevLang-Haskell.md: -------------------------------------------------------------------------------- 1 | # Haskell 技能图谱 2 | 3 | ## Haskell语言编程基础 4 | - 类型 (type) 5 | - 函数 (function) 6 | - 类型类 (type class) 7 | - Prelude中的类型与函数的使用 8 | 9 | ## Haskell语言初级部分 10 | - 递归 (recursion) 11 | - 列表内包 (list comprehension) 12 | - 高阶函数 (higher order function) 13 | - 定义类型 (define types) 14 | - 定义类型类 (define type class) 15 | 16 | ## Haskell语言中级部分 17 | - 使用Monad 18 | - 使用IO Monad 19 | - 使用State, Writer, Reader Monad 20 | - 使用Monad转换器 (monad transformer) 21 | - 使用更多的Monad 22 | - 使用Monad, 再使用Monad ... 23 | - MonadIO, MonadBase ... 24 | - 使用Monad与Monad转换器管理代码 25 | 26 | ## Haskell进阶部分 27 | 28 | ### 类型系统 29 | - 类型系统 (type system) 30 | - 类型推断 (type inference) 31 | - Kind推断 (kind inference) 32 | - 多态Kind (kind polymorphism) 33 | - 可类型化 (typeable) 34 | - 单一同态限定 (monomorphism restriction) 35 | - 类型家族 (type family) 36 | 37 | ###通用编程 38 | - 代数数据类型通用编程 (algebric data type generic) 39 | - 摒弃模板化代码 (Scrap you boilerplate (SYB)) 40 | 41 | ### 元编程 42 | - 模板元编程 (meta template programming) 43 | - 准引用 (quasi quotes) 44 | 45 | ## 在工程中使用Haskell 46 | 47 | ### 并行、并发还有异步 48 | - 确定性并发 49 | - 微线程 50 | - Semarphore 51 | - 软件事务内存 (software transactional memory) 52 | - 通信顺序式进程 (communicating sequential process) 53 | - 分布式编程 (distributed programming) 54 | 55 | ### 外部函数接口 56 | 57 | ### 数据库 58 | ### 前端 59 | ### 网络库 60 | 61 | 62 | ### 测试 63 | #### 正确性测试 64 | - 单元测试 (unit test) 65 | - 随机测试 (QuickCheck) 66 | - 穷举测试 67 | - 反例搜寻测试 68 | - 完全性测试 69 | - SMT精化类型 70 | 71 | #### 性能测试 72 | - criterion库 73 | - threadscope的使用 74 | 75 | ## Haskell理论部分 76 | - Arrow 77 | - 函数反应式编程 78 | - Haskell的依赖类型 79 | - 编程语言原理 80 | - 范畴论 (category theory) 81 | -------------------------------------------------------------------------------- /data/map-DevLang-Java.md: -------------------------------------------------------------------------------- 1 | # Java Software Engineer Skill Map 2 | ## Basic 3 | ### Core Java 4 | - Java The Complete Reference Ninth Edition.pdf 5 | * Core 6 | + Basic Language Characteristics 7 | - Data Types 8 | - Syntax 9 | - Control Flow 10 | + Object-Oriented 11 | - Class 12 | - Object 13 | - Method 14 | - Interface 15 | - Inheritance 16 | + Miscellaneous 17 | - Generics 18 | - Autoboxing 19 | - Enumerations 20 | - Annotations 21 | + Parallelism 22 | - Multithreaded Programming 23 | + Functional Programming 24 | - Lambda Expression 25 | - Stream API 26 | * Commonly-used Libraries 27 | + String Handling 28 | - java.lang.String 29 | - StringBuffer and StringBuilder 30 | - Regular Expression 31 | + java.lang.* 32 | + java.util.* 33 | - Collections Framework 34 | - Concurrency Framework 35 | - i18n or g11n 36 | * Currency 37 | * Data & Time 38 | * Language Locale 39 | - Miscellaneous Utilities 40 | + java.io.* 41 | + java.nio.* 42 | + java.net.* 43 | + java.rmi.* 44 | + java.sql.* 45 | + javax.sql.* 46 | 47 | ### Algorithms & Data Structure 48 | - Algorithms * 49 | * https://www.coursera.org/learn/java-data-structures-algorithms-2 50 | * https://www.coursera.org/learn/introduction-to-algorithms 51 | - Data Structures * 52 | * https://en.wikipedia.org/wiki/List_of_data_structures 53 | * http://www.tutorialspoint.com/data_structures_algorithms/ 54 | - Object Oriented Programming * 55 | * head_first_design_patterns.pdf 56 | * Effective Java 2nd Edition.pdf 57 | - Computer Architecture 58 | * Memory Hierarchy 59 | * Parallelism 60 | * Multiprocessor Systems 61 | - Operating System 62 | * Memory Management 63 | * MemProcess Management 64 | * MemFile System * 65 | - Computer Network 66 | * OSI Model 67 | * TCP/IP 68 | * HTTP / HTTPS 69 | * HTTP 1.X / HTTP 2 70 | 71 | ### Essentials 72 | - Linux/Unix 73 | * Shell commands (bash) (http://linuxcommand.org/index.php) 74 | + Text Processing 75 | - AWK / SED 76 | + File Operation 77 | - cd/ls/find/ (Pipe and I/O Redirection) 78 | * VIM / Emacs ( Either of them) 79 | * Shell Script(bash) 80 | - Java Commonly-used 3rd-party Libraries 81 | * Logging 82 | + log4j 83 | + slf4j 84 | + logback 85 | * Unit Test 86 | + Junit 87 | + Mockito 88 | + TestNG 89 | * Code Coverage 90 | + jacoco 91 | + Clover 92 | + EMMA 93 | * Apache Commons 94 | + commons-io 95 | + commons-lang 96 | + commons-math 97 | + commons-codec 98 | + commons-collections 99 | + commons-beanutils 100 | + commons-logging 101 | + ... 102 | * Apache HttpComponents 103 | * Google Guava 104 | - Software Engineering 105 | * Project Organization 106 | + Maven 107 | + Gradle 108 | + Ant + Ivy (Optional) 109 | * Versioning 110 | + git 111 | + svn 112 | * UML 113 | 114 | ### Front-end (Web) 115 | - Web Development (http://www.w3schools.com) 116 | * HTML 117 | + HTML4 118 | + xhtml 119 | + HTML5 120 | * css 121 | + css2 122 | + CSS3 123 | * Data Representation 124 | + XML 125 | + JSON 126 | + JSONP 127 | * Javascript 128 | + ECMAScript 6 129 | + Basics (https://developer.mozilla.org/en-US/docs/Web/JavaScript) 130 | + Ajax 131 | + AngularJS (plus) 132 | + JQuery (plus) 133 | * TypeScript 134 | * Responsive Web Page development (plus) 135 | 136 | ### Back-end Development(Server side) 137 | - JavaEE 138 | * JSP * 139 | * JSTL 140 | * Java Servlet * 141 | * JavaServer Faces * 142 | * JPA * 143 | * JTA * 144 | * JAX-RS * 145 | * Managed Beans / CDI 1.1/ DI /IOC 146 | * Bean Validation 147 | * JAX-WS 148 | * JavaMail 149 | * JACC 150 | * JASPIC 151 | * Java WebSocket 152 | * Java JSON Processing 153 | * Concurrency Utilities for JavaEE 154 | * Batch processing framework 155 | - Java Containers 156 | * Tomcat / TomEE 157 | * GlassFish 158 | * Jetty 159 | - Java mid-ware 160 | * Spring 161 | + Spring-Framework (Dependency Injection & AOP) 162 | + Spring-Web 163 | + Spring-Data 164 | + Spring-security 165 | + Spring-boot (Micro-service Architecture) 166 | * Struts(MVC) 167 | * SpringMVC 168 | * Hibernate/JPA (Data Persistency) 169 | * MyBatis 170 | - Java Performance Tuning 171 | * java performance the definitive guide.pdf 172 | - Database 173 | * MySQL 174 | * SqlServer 175 | * Oracle 176 | * Nosql 177 | + Memcache 178 | + Redis 179 | + MongoDB 180 | + Neo4j 181 | - Serialization 182 | * Google protobuf 183 | * Apache Avro 184 | - Java RPC 185 | * Apache Thrift 186 | * Motan 187 | - MessageQueue 188 | * AMQP - RabbitMQ 189 | * Apache ActiveMQ 190 | * Apache Kafka 191 | - Messaging 192 | * XMPP 193 | - Searching/Indexing 194 | * Apache Lucene 195 | * Apache Solr 196 | * Elasticsearch 197 | * CoreNLP 198 | - Big Data(Optional) 199 | * Hadoop 200 | + Yarn (MapReduce) 201 | + HDFS 202 | + HBase 203 | + Hive 204 | + Mahout 205 | * Spark 206 | + Spark-Core 207 | + Spark-SQL 208 | + Spark-machine learning 209 | + Spark Streaming 210 | * Apache Storm 211 | - Cloud 212 | * Scalable Architecture 213 | + VM 214 | - OpenStack 215 | + Container 216 | - Docker 217 | * Hands-on 218 | + Amazon AWS 219 | - EC2 220 | - S3 221 | - DynamoDB 222 | - JVM-based Programming Language 223 | * Scala 224 | * Groovy 225 | * Clojure 226 | * Kotlin 227 | * http://www.oracle.com/technetwork/articles/java/architect-languages-2266279.html 228 | 229 | ### IDE 230 | - IntelliJ IDEA 231 | - NetBeans 232 | - Eclipse 233 | 234 | ### Typical Java Applications 235 | - Online Chatting (Web/Desktop System) 236 | - Library Management System (Web System) 237 | - Ticket Booking System(RESTful Web Service) 238 | - HTTP File Downloader (Console / Desktop) 239 | - P2P File Sharing (Console / Desktop) 240 | - Blogging System (Web / REST) 241 | - RDBMS UI Toolkit (Web /Desktop) 242 | 243 | ### Desktop Development 244 | - awt 245 | - Applet 246 | - swing 247 | - Netbeans Platform 248 | - JavaFX 249 | - swt 250 | 251 | ### Mobile Development 252 | - Android 253 | - JavaME 254 | -------------------------------------------------------------------------------- /data/map-DevLang-Nodejs.md: -------------------------------------------------------------------------------- 1 | # Node.js 开发技能图谱 2 | 3 | ## Node.js 语言环境搭建 4 | 5 | - Node.js 安装(3m大法:nvm、npm、nrm) 6 | - Node.js 命令 7 | - Node.js开发工具(推荐vscode) 8 | 9 | ## Node.js 语言编程要点 10 | 11 | - 使用Node.js 4.x或5.x里的ES 6特性,如果想玩更高级的,可以使用[babel](babeljs.com)编译支持ES 7特性 12 | - 合理使用[standard](https://github.com/feross/standard) 代码风格约定 13 | - ES 6语法 14 | - 需要大家重视OO(面向对象)写法的学习和使用 15 | 16 | ## 核心模块 17 | 18 | - Buffer 19 | - Child Processes 20 | - Cluster 21 | - Crypto 22 | - DNS 23 | - Domain 24 | - Events 25 | - File System 26 | - HTTP 27 | - HTTPS 28 | - Net (TCP) 29 | - OS 30 | - Path 31 | - Process 32 | - Punycode 33 | - Query Strings 34 | - Readline 35 | - Stream 36 | - String Decoder 37 | - TLS/SSL 38 | - TTY 39 | - UDP 40 | - URL 41 | - VM 42 | - ZLIB 43 | 44 | ## Koa Web 编程 45 | 46 | - koa 1.0 && 2.0 (koa2.0刚发布不久,喜欢折腾的可以考虑) 47 | - mongoose(mongodb) 48 | - bluebird(Promise/A+实现、Generator、Async) 49 | - jade(视图层模板) 50 | - ava(测试) 51 | - vscode(调试) 52 | 53 | ### 了解http协议,尤其是表单和ajax传值,在req里如何接收 54 | 55 | - 绝对地址和相对地址 56 | - querystring 57 | - url 和 uri 58 | - http status code 59 | - http verbs 60 | - req取参数的3种方法 61 | - 3种不同类型的post 62 | - 命令行玩法 63 | - supertest用法 64 | - what is rest? 65 | 66 | ### 了解db相关操作,先以mongoose为主 67 | 68 | - crud(增删改查) 69 | - 了解分页 70 | - 了解关系(1对1,1对多)在mongoose里如何实现 71 | - 了解statics方法和methods的区别 72 | - 了解pre和post的差别 73 | - 了解mongoose的插件机制 74 | - 了解mvc里m的作用,以及什么样的代码该放到模型里 75 | - 了解索引优化 76 | - 了解mongodb的部署 77 | 78 | ### 了解Generator、Async和Promise/A+规范,合理规避回调陷阱 79 | 80 | - 了解的node的异步、generator和async(ES7) 81 | - 了解异步的恶心 82 | - 了解异步基本场景,比如waterfall这样的路程使用async如何处理 83 | - 了解q和bluebird用法(如果有angularjs经验,推荐q,其他只推荐bluebird) 84 | - 了解bluebird的promisifyAll用法 85 | - 了解如何重构流程,以及代码的可读性 86 | 87 | ### 使用tdd/bdd测试,最小化问题 88 | 89 | - 理解最小问题思想,培养程序员该有的强大的内心 90 | - ava的基本用法 91 | - 理解断言的用法(注内置断言,不需要assert/should/expect等) 92 | - 理解测试生命周期 93 | - 理解箭头函数、generator、promise等用法 94 | - 理解如何模拟数据 95 | - 理解http下的supertest测试 96 | - 理解测试覆盖率 97 | - 理解基于gulp自动化测试方法 98 | 99 | ### 你无论如何都要会的:调试 100 | 101 | - node debug(太挫了,如果不是c,了解gdb、adb之类的人不推荐用) 102 | - node-inspector(推荐4※) 103 | - tdd/bdd(推荐5※) 104 | - vscode编辑器(推荐5※) 105 | 106 | ## Node.js 应用 107 | 108 | - 网站(如express/koa等) 109 | - im即使聊天(socket.io) 110 | - api(移动端,pc,h5) 111 | - http proxy(淘宝首页) 112 | - 前端构建工具(grunt/gulp/bower/webpack/fis3...) 113 | - 写操作系统(NodeOS) 114 | - 跨平台打包工具(nw.js、electron) 115 | - 命令行工具(比如cordova) 116 | - 编辑器(vscode) 117 | 118 | ## Node.js 实战案例 119 | 120 | -------------------------------------------------------------------------------- /data/map-DevLang-PHP.md: -------------------------------------------------------------------------------- 1 | # PHP 工程师技能图谱 2 | ## 基础知识 3 | 4 | - HTTP 5 | - HEADER 6 | - REQUEST 7 | - RESPONSE 8 | - GET/POST/PUT/DELETE/PATCH/CONNECT/OPTIONS 9 | - HTTPS 10 | - TCP/UDP 11 | - DNS 12 | - SESSION/COOKIE 13 | - CGI/Fast-CGI/PHP-FPM 14 | - 重定向 15 | - Restful API 16 | - 基础语法 17 | - 命名空间 18 | - 生成器(Generator) 19 | - 引用 20 | - 魔术常量 21 | - 类与对象 22 | - 魔术方法 23 | - 重载 24 | - Trait 25 | 26 | 27 | ## 框架 28 | 29 | - Yaf/Phalcon 30 | - Swoole 31 | - Laravel 32 | - Symfony 33 | - Yii/CI/THinkPHP 34 | 35 | ## PHP手册&代码规范 36 | 37 | - [PHP手册](http://php.net/manual/zh/) 38 | - [php-langspec](https://github.com/php/php-langspec) 39 | - [PHP-FIG](https://github.com/php-fig/fig-standards) 40 | 41 | 42 | ## Extentions 43 | 44 | - PHP 扩展开发 45 | - 常用扩展 46 | - mysqli 47 | - pdo_mysql 48 | - phpredis 49 | - yaf 50 | - swoole 51 | - opcache 52 | 53 | ## PHP Debugging 54 | 55 | - print_r/var_dump/var_export/debug_zval_dump 56 | - Xdebug 57 | - error_reporting/display_errors/error_log/log_errors 58 | - XHProf 59 | - Chrome Console 60 | 61 | ## 技术周边 62 | 63 | - Nginx/Apache 64 | - Mysql/Redis/MongoDB/Memched 65 | - Composer 66 | - Lvs/Haproxy 67 | - Docker 68 | - Thrift/Grpc/Yar 69 | - Sphinx/Solr/Elasticsearch 70 | 71 | ## 开发工具 72 | 73 | - zsh/shell 74 | - VIM/Sublime 75 | - SVN/Git 76 | 77 | ## PHP源码 & 内核 78 | 79 | - PHP生命周期 80 | - SAPI 81 | - 词法分析和语法分析 82 | - 内存管理 83 | - Opcode 84 | - 线程安全 85 | - Zend 86 | 87 | -------------------------------------------------------------------------------- /data/map-DevLang-Python.md: -------------------------------------------------------------------------------- 1 | # **Python 工程师技能图谱** 2 | 3 | ## **入门** 4 | - 笨办法学Py 5 | - 官方教程 6 | - Hitchhiker 7 | - coursera 8 | * codeskulptor.org 9 | 10 | ## **进阶/脚本** 11 | 12 | ### Pythonic 13 | 14 | ### docopt 15 | - pocoo 16 | * Werkzeug 17 | * click 18 | * Flask 19 | + RESTful 20 | * Jinja2 21 | + RESTful 22 | * Sphinx 23 | + txt2tags 24 | + AsciiDoc 25 | + Pelican 26 | + moinmoin 27 | * Pygments 28 | 29 | ### CLI 30 | - docopt 31 | - x/84 32 | - Twilio 33 | - Urwid 34 | - Ncurses 35 | 36 | ### IPython 37 | - IP[y]:NB 38 | 39 | ### UTF-8 40 | 41 | ### virtualenv 42 | - pyenv 43 | * PEX 44 | 45 | ## **高级/工程** 46 | 47 | ### 专家 48 | - Pythonic 49 | - PyPy 50 | - Cython 51 | * Psyco 52 | * pyrex 53 | * Pyston 54 | * PyParallel 55 | - PEP 56 | - FP 57 | * lambda 58 | * functools 59 | * toolz 60 | * fn 61 | * pp 62 | - pdb 63 | * pyperform 64 | * Profiling 65 | * FlameGraph 66 | 67 | ### Web 68 | - Flask 69 | * RESTful 70 | - Jinja2 71 | * RESTful 72 | - Django 73 | * RESTful 74 | - Bottle 75 | * RESTful 76 | - Tornado 77 | * RESTful 78 | * gevent 79 | * uWSGI 80 | * gUnicorn 81 | * Twisted 82 | 83 | ### DevOps 84 | - Werkzeug 85 | - TDD 86 | * nose 87 | * pytest 88 | * mock 89 | - DB 90 | * SQLAlchemy 91 | - PEP8 92 | * PyLint 93 | * PyFlakes 94 | - Hg 95 | - Bazaar 96 | - CI 97 | * Ansible 98 | * Bitten 99 | * Fabric 100 | * SaltStack 101 | * Buildout 102 | * pip 103 | 104 | ### IDE 105 | - IP[y]:NB 106 | - Anaconda 107 | - PyCharm 108 | - Ulipad 109 | - NetBeans 110 | - IDLE 111 | - SublimeText 112 | - Komodo 113 | 114 | ### PIL 115 | - 3D 116 | * terry 117 | * RenderMan 118 | * Tractor 119 | - gnuplot 120 | - Game 121 | * PyGame 122 | * PySonic 123 | 124 | ### GUI 125 | - Tkinter 126 | - wxPython 127 | - PyQt 128 | - PyGTK 129 | 130 | ### Mobile 131 | - Kivy 132 | - QPython 133 | 134 | ### DataScience 135 | - Visualizaion 136 | * matplotlib 137 | * bokeh 138 | * ggplot 139 | * searborn 140 | - Pandas 141 | * Scikit-lean 142 | * numpy 143 | + Theano 144 | * scipy 145 | * NLTK 146 | * Networkx 147 | - PySpark 148 | 149 | ### Zope 150 | 151 | ### Jython 152 | 153 | ### IronPython 154 | 155 | ### Leo 156 | -------------------------------------------------------------------------------- /data/map-DevLang-Ruby.md: -------------------------------------------------------------------------------- 1 | # Ruby 技能图谱 2 | 3 | 说明: 本图谱只捡重点的列举,并非包含全部。文中所列举或没有列举的资源信息都可以在[awesome-ruby](https://github.com/markets/awesome-ruby)中找到。 4 | 5 | ## Ruby应用生态 6 | 7 | * [Web开发](#Web开发) 8 | * [自动化测试](#自动化测试) 9 | * [安全](#安全) 10 | * [云计算基础](#云计算基础) 11 | * [嵌入式](#嵌入式) 12 | 13 | ### Web开发 14 | 15 | - Rails全栈式Web框架 16 | - 轻量级Web开发框架(Sinatra,Cuba等) 17 | - 异步无阻塞Ruby Server框架:Goliath 18 | 19 | ### 自动化测试 20 | 21 | - RSpec: BDD测试框架 22 | - Cucumber: BDD验收测试框架 23 | - Watir: Web应用测试工具 24 | 25 | 26 | ### 安全 27 | 28 | - Metasploit:也许是最好的渗透测试框架 29 | - Gitrob: Github敏感信息收集工具 30 | 31 | ### 云计算基础 32 | 33 | - chef: 自动化运维工具 34 | - puppet: 自动化运维工具 35 | - fog: 强大的云服务库 36 | 37 | ### 嵌入式 38 | 39 | - mruby: Ruby的轻量版本,为嵌入式开发而生 40 | - [mruby-cli](https://github.com/hone/mruby-cli): 为linux等平台构建本地命令行应用 41 | 42 | ## Web开发需要学习的主力框架 43 | 44 | - Rails: 全栈Web开发框架 45 | - Sinatra: 轻量级的Web开发框架 46 | - Goliath: 异步非阻塞Ruby Server框架 47 | 48 | ## 彻底掌握Ruby所需要的「道」与「术」 49 | 50 | ### 「道」 51 | 52 | - 面向对象基础 53 | - 深入理解Ruby背后的设计哲学和设计原则 54 | - 深入理解Ruby对象模型 55 | - 深入理解block和闭包 56 | - 深入理解Ruby的作用域 57 | - 深入理解Ruby的方法查找机制 58 | - 深入理解Ruby的内存管理(变量和对象内存布局,GC算法和工作机制) 59 | - 进阶:有余力的可以研究Ruby底层的实现 60 | - 进阶:通过学习lisp(Elixir亦可),来反观Ruby中block(函数式编程风格),以及元编程的实现(Lisp是暴露AST的宏,Ruby是利用Block和作用域隐式操作AST的宏) 61 | 62 | 63 | ### 「术」 64 | 65 | - 各种具体类型的处理方法和方式,比如字符串和相关编码、正则表达式、IO等处理 66 | - 并发与并行: 67 | - 彻底了解Ruby的GIL及其机制 68 | - 彻底了解Ruby线程的发展变化及其工作机制(从用户线程到本地线程) 69 | - 彻底了解Fiber及其应用(重点在Goliath中的应用,终结异步回调地狱) 70 | - 彻底了解进程相关(重点在各种Ruby多进程应用服务器的工作机制) 71 | - 尝试了解基于actor模型的Ruby并发库Celluloid。 72 | - 社区中各种Gem的实现原理及其用法 73 | 74 | ## 学习资源 75 | 76 | 77 | - [「诱人的Ruby」视频教程](http://edu.51cto.com/lecturer/index/user_id-140924.html) 78 | - [Ruby Weekly订阅](http://rubyweekly.com/) 79 | - 其他请自行Google: Ruby books 80 | -------------------------------------------------------------------------------- /data/map-DevLang-Total.md: -------------------------------------------------------------------------------- 1 | # 开发语言综述 2 | 3 | ## 范式 4 | 5 | ### 声明式 6 | - 函数式 7 | - Common Lisp 8 | - Clojure 9 | - Haskell 10 | - Erlang 11 | - Scala 12 | - LISP 13 | - Logo 14 | - F# 15 | - 逻辑式 16 | - Prolog 17 | 18 | ### 命令式 19 | - 非结构化 20 | - COBOL 21 | - 结构化 22 | - 面向对象 23 | - Visual Basic 24 | - Objective-C 25 | - Smalltalk 26 | - Python 27 | - Ruby 28 | - Eiffel 29 | - Java 30 | - C++ 31 | - C# 32 | - 过程式 33 | - Delphi/Object Pascal 34 | - Fortran 35 | - BASIC 36 | - Pascal 37 | - Go 38 | - C 39 | - 原型 40 | - IO 41 | 42 | ### 元编程 43 | - 泛型/模板 44 | - Eiffel 45 | - C++ 46 | - D 47 | - 反射化 48 | - ECMAScript 49 | - Python 50 | - Java 51 | - Ruby 52 | - PHP 53 | - Perl 54 | - R 55 | 56 | ## 移动 57 | - IOS 58 | - Swift 59 | - AppleScript 60 | - Objective-C 61 | - 黑莓 62 | - JAVA 63 | - HTML 64 | - C/C++ 65 | - Adobe Air 66 | - Android 67 | - JAVA 68 | - windows phone 69 | - C# 70 | - VB 71 | - C++ 72 | - javascript 73 | 74 | ## 平台 75 | - .NET框架 76 | - Visual Basic .NET 77 | - Visual C# 78 | - ASP.NET 79 | - C# 80 | - F# 81 | - J# 82 | 83 | - Java VM 84 | - Groovy 85 | - Clojure 86 | - JRuby 87 | - Ceylon 88 | - Jython 89 | - Scala 90 | - Kawa 91 | - Java 92 | 93 | ## 脚本语言 94 | - Lua 95 | - Perl 96 | - JSP 97 | - PHP 98 | - ASP 99 | - Shell 100 | - sh 101 | - csh 102 | - ksh 103 | - sed 104 | - awk 105 | - bash 106 | - Ruby 107 | - Tcl/Tk 108 | - Python 109 | - VBScript 110 | - AppleScript 111 | - ECMAScript派生 112 | - Dart 113 | - JScript 114 | - JavaScript 115 | - ActionScript 116 | - CoffeeScript 117 | 118 | ## 其他 119 | - Ada 120 | - Forth 121 | - AAuto 122 | - 易语言 123 | - ALGOL 124 | - 汇编语言 125 | - x86/amd64汇编指令 126 | - Intel汇编 127 | - AT&T汇编 128 | 129 | ## 专业工具 130 | - 标记 131 | - Curl 132 | - SGML 133 | - XML 134 | - SVG 135 | - XSLT 136 | - SSML 137 | - SGML 138 | - HTML 139 | - XHTML 140 | - DHTML 141 | - XML Schema 142 | - 数据库 143 | - LINQ 144 | - T-SQL 145 | - XQuery 146 | - PL/SQL 147 | - Visual FoxPro 148 | - 样式格式描述 149 | - XSL 150 | - CSS 151 | - 工业与辅助设计 152 | - AutoCAD 153 | - 科学与统计计算 154 | - R 155 | - MATLAB 156 | - FORTRAN 157 | - Mathematica 158 | 159 | -------------------------------------------------------------------------------- /data/map-DevOps.md: -------------------------------------------------------------------------------- 1 | # DevOps技能图谱 2 | 3 | 4 | ## 方法和文化 5 | 6 | ### 核心文化 7 | - CALMS原则 8 | - The Three Ways 9 | - 自动化 10 | - 可视化 11 | - 度量化 12 | 13 | ### 敏捷方法论 14 | - 以人为本 15 | - 敏捷宣言 16 | - 极限编程 17 | - SCRUM方法 18 | - 迭代改进 19 | - 需求管理 20 | 21 | ### 精益方法论 22 | - 最小可行产品 23 | - 单一关键指标 24 | - 精益画布 25 | - 精益看板 26 | - 风险管理 27 | - 超越预算 28 | - 投资组合 29 | 30 | ### 持续集成和持续交付 31 | - 流水线 32 | - 版本控制 33 | - 依赖管理 34 | - 内建质量 35 | - 环境管理 36 | - 零停机发布 37 | - 灰度发布 38 | 39 | 40 | ## 设计和架构 41 | 42 | ### 云原生架构 43 | - 十二要素 44 | - CAP理论 45 | - BASE理论 46 | - 云基础设施 47 | - 无状态服务 48 | - 高可用设计 49 | - 自动扩缩容 50 | - 平台即服务 51 | 52 | ### 微服务架构 53 | - 康威定律 54 | - 服务治理 55 | - 服务发现 56 | - 配置管理 57 | - 故障熔断 58 | - 日志管理 59 | - 性能监控 60 | - 链路监控 61 | - 服务网关 62 | 63 | ### 领域驱动设计 64 | - 统一语言 65 | - 业务实体 66 | - 值对象 67 | - 聚合 68 | - 工厂 69 | - 仓储 70 | - 领域服务 71 | - 限界上下文 72 | - 上下文地图 73 | - 分层架构 74 | - 事件风暴 75 | 76 | ### 设计思维 77 | - 以用户为中心 78 | - 发散性思考 79 | - 头脑风暴 80 | - 交互原型 81 | - 测试反馈 82 | 83 | 84 | ## 技术和工具 85 | 86 | ### 版本控制 87 | - Subversion 88 | - Mercurial 89 | - Bazaar 90 | - Git 91 | - Gitlab 92 | - Gogs 93 | - SourceTree 94 | - Visual SourceSafe 95 | 96 | ### 基础设施自动化 97 | - Ansible 98 | - Chef 99 | - Puppet 100 | - SaltStack 101 | - Fabric 102 | - Terraform 103 | - StackStorm 104 | - Docker 105 | 106 | ### 交付流程可视化 107 | - Jenkins 108 | - Buildbot 109 | - Drone 110 | - GoCD 111 | - TeamCity 112 | - Gitlab CI 113 | - Bamboo 114 | - Travis 115 | - CircleCI 116 | - Shippable 117 | 118 | ### 团队协作和项目可视化 119 | - Jira 120 | - Redmine 121 | - Trello 122 | - Basecamp 123 | - Teambition 124 | - Confluence 125 | - Gitbook 126 | - Team Foundation 127 | 128 | ### 测试和质量管理 129 | - SonarQube 130 | - Fortify 131 | - Swagger 132 | - Cucumber 133 | - RobotFramework 134 | - Selenium 135 | - Gauge 136 | - JMeter 137 | - Gatling 138 | - LoadRunner 139 | - Tsung 140 | 141 | ### 日志和监控 142 | - Zabbix 143 | - Nagios 144 | - Prometheus 145 | - TICK Stack 146 | - Grafana 147 | - Elastic Stack 148 | - Flume 149 | - Splunk 150 | - Scribe 151 | - Fluentd 152 | - Chukwa 153 | - OneAPM 154 | - 听云 155 | 156 | ### 安全和密钥管理 157 | - Threat Modeling 158 | - OWASP ZAP 159 | - OpenTPX 160 | - Passive Total 161 | - Critical Stack 162 | - Vault 163 | - BlackBox 164 | - Transcrypt 165 | - Keybase 166 | - Git Secrets -------------------------------------------------------------------------------- /data/map-EmbeddedEngineer.md: -------------------------------------------------------------------------------- 1 | # 嵌入式工程师 2 | 3 | ## 硬件核心(Hardware Core) 4 | 5 | ### Controller(控制器) 6 | - CPU 7 | - AMD x86 x64 8 | - Intel x86 x64 9 | - MCU 10 | - MCS-51 11 | - HCS12 12 | - AVR XMEGA 13 | - ESP 14 | - Coldfire 15 | - ARM 16 | - STM32 17 | - FreeScale K60 K40 18 | - PIC32 PIC12/14/16 19 | - TM4C123 TM4C129X 20 | - Stellaris lm4f120 21 | - CC3200 22 | - Renesas R-Car Boards 23 | - MIPS Creator CI20 24 | - MPU 25 | - SOC 26 | - OMAP 27 | - BCM2835(Raspberry Pi A+、B、B+) 28 | - BCM2836(Raspberry Pi 2B) 29 | - CPLD 30 | - Altera EPM7128S 31 | - Lattice LC4128V 32 | - Xilinx XC9500 33 | - FPGA 34 | - Altera Cyclone 35 | - Lattice MachXO2 MachXO3 36 | - PowerPC 37 | - MPC505、821、850、860、8240、8245 38 | - QUICC ⅡMPC826 39 | - QUICC Ⅲ MPC8560 40 | - DSC 41 | - TMS320F28x 42 | - MC56 F83x 43 | - MIPS 44 | 45 | ### Actuator(执行器) 46 | - 直流电机 47 | - 有刷直流电机 48 | - 无刷直流电机 49 | - 交流电机 50 | - 单相电机 51 | - 三相电机 52 | - 步进电机 53 | - 直线电机 54 | - 舵机 55 | - 伺服电机 56 | 57 | ### Sensor(传感器) 58 | - RIP(人体红外) 59 | - Temperature(温度) 60 | - humidity sensor(湿度传感器) 61 | - geomagnetic sensor(地磁传感器) 62 | - acceleration transducer(加速度传感器) 63 | - optoelectronic switch (光电开关) 64 | - pneumatic sensor (气流传感器) 65 | - current sensor (电流传感器) 66 | - soil sensor (土壤传感器) 67 | - llumination sensor (光照传感器) 68 | - laser sensor (激光传感器) 69 | - Motion(运动) 70 | - Moisture sensor (土壤温度传感器) 71 | - 电压传感器 72 | - three-axis gyroscope(三轴陀螺仪) 73 | - Camera 感光元件(图像传感器) 74 | - baroceptor(气压传感器) 75 | - gas sensor(气敏传感器) 76 | - Dust concentration sensor(粉尘浓度传感器)PM2.5 77 | - Water level sensor(水位传感器) 78 | - Pulse sensor(脉搏传感器) 79 | - EEG sensor(脑皮质电位传感器) 80 | - Flex Sensor (弯曲传感器) 81 | - proximity sensor (近距离传感器) 82 | - Atmospheric Pressure Sensor (气压传感器) 83 | 84 | ## Electronic Component(电子元件) 85 | - 电容 86 | - 保护装置 87 | - 端子与连接器 88 | - 电线 89 | - 开关 90 | - Switch 91 | - Keypad 92 | - Relay 93 | - 电阻 94 | - Thermistor (热敏电阻) 95 | - Varistor(压敏电阻) 96 | - Photosensitive resistance(光敏电阻) 97 | - 电磁感应装置 98 | - network 99 | - 电阻排 100 | - 忆阻器 101 | - 压电装置、晶体谐振器 102 | - 电源 103 | - 二极管 104 | - 晶体管 105 | 106 | ## MCU/CPU/DSP/SOC peripherals 107 | - ADC / DAC 108 | - RTC 109 | - Timer / Watchdog Timer (定时器) 110 | - Flash / NAND Flash 111 | - ROM / EEPROM 112 | - RAM 113 | - SDRAM 114 | - DDR1 DDR2 DDR3 DDR4 115 | - Cache 116 | - PWM 117 | - I/O / GPIO 118 | - UART 119 | - Modem 120 | - DTMF 121 | - CAN 122 | - SPI 123 | - I2C 124 | - IEEE 125 | - CRC 126 | - Interrupt (中断) 127 | 128 | ## Communication(通信) 129 | - 硬件间无线通信 130 | - Bluetooth 131 | - Xbee / Zigbee 132 | - Z-Wave 133 | - 6LoWPAN 134 | - NFC 135 | - Wifi 136 | - Radio 137 | - IR (红外) 138 | - 802.11 139 | - Sub-GHZ 1Ghz以下RF 140 | - 硬件通信 141 | - UART 142 | - I2C 143 | - RS232C/RS485 144 | - HDLC 145 | - SPI/SCI/SI 146 | - CAN 147 | - USB 148 | - FireWire 149 | - 1-wire 150 | - 网络协议 151 | - HTTP 152 | - CoAP 153 | - MQTT 154 | - XMPP 155 | - WebSocket 156 | - UDP 157 | - TCP 158 | 159 | ## 软件编程 160 | - Common 161 | - ISR 162 | - Driver 163 | - DMA 164 | - I2C 165 | - OS 166 | - uCOS 167 | - Contiki 168 | - TinyOS 169 | - VXWorks 170 | - FreeRTOS 171 | - mbed OS 172 | - emOS 173 | - Salvo 174 | - MQX 175 | - RIOT 176 | - rt-thread 177 | - Linux 178 | - uCLinux 179 | - openWRT 180 | - Windows 181 | - Windows CE 182 | - Windows 10 IoT Core 183 | - non-OS 184 | - LwIP 185 | 186 | ## 电路 187 | - 基础 188 | - 焊电路 189 | - 模拟电路 190 | - 数字电路 191 | - PCB设计 192 | - 设计工具 193 | - Eagle 194 | - Cadence 195 | - Protel 196 | - Altium 197 | - Mentor 198 | - Kicad 199 | - gEAD 200 | - ZUKEN 201 | - PADS 202 | - FreePCB 203 | - Fritzing 204 | - PCBmodE 205 | - 布线/布线 206 | - 电路仿真 207 | - 原理仿真软件 208 | - Multisim 209 | - Proteus 210 | - Pspice 211 | - 信号仿真软件 212 | - ADS 213 | - HFSS 214 | - HyperLynx 215 | - Sigrity 216 | - MATLAB 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | -------------------------------------------------------------------------------- /data/map-FrontEndEngineer.md: -------------------------------------------------------------------------------- 1 | # 前端工程师技能图谱 2 | 3 | ## 浏览器 4 | - IE6/7/8/9/10/11 (Trident) 5 | - Firefox (Gecko) 6 | - Chrome/Chromium (Blink) 7 | - Safari (WebKit) 8 | - Opera (Blink) 9 | 10 | ## 编程语言 11 | - JavaScript/Node.js 12 | - CoffeeScript 13 | - TypeScript 14 | 15 | ## 切页面 16 | - HTML/HTML5 17 | - CSS/CSS3 18 | - Sass/LESS/Stylus 19 | - PhotoShop/Paint.net/Fireworks/GIMP/Sketch 20 | 21 | ## 开发工具 22 | 23 | ### 编辑器和IDE 24 | - VIM/Sublime Text2 25 | - Notepad++/EditPlus 26 | - WebStorm 27 | - Emacs EmacsWiki 28 | - Brackets 29 | - Atom 30 | - Lime Text 31 | - Light Table 32 | - Codebox 33 | - TextMate 34 | - Neovim 35 | - Komodo IDE / Edit 36 | - Eclipse 37 | - Visual Studio/Visual Studio Code 38 | - NetBeans 39 | - Cloud9 IDE 40 | - HBuilder 41 | - Nuclide 42 | 43 | ### 调试工具 44 | - Firebug/Firecookie 45 | - YSlow 46 | - IEDeveloperToolbar/IETester 47 | - Fiddler/Charles 48 | - Chrome Dev Tools 49 | - Dragonfly 50 | - DebugBar 51 | - Venkman 52 | 53 | ### 版本管理 54 | - Git/SVN/Mercurial 55 | - Github/GitLab/Bitbucket/Gitorious/GNU Savannah/Launchpad/SourceForge/TeamForge 56 | 57 | ## 代码质量 58 | 59 | ### Coding style 60 | - Eslint/JSLint/JSHint/jscs 61 | - CSSLint 62 | - Markup Validation Service 63 | - HTML Validators 64 | 65 | ### 单元测试 66 | - QUnit/Jasmine 67 | - Mocha/Should/Chai/Expect 68 | - Unit JS 69 | 70 | ### 自动化测试 71 | - WebDriver/Protractor/Karma Runner/Sahi 72 | - phantomjs 73 | - SourceLabs/BrowserStack 74 | 75 | ## 前端库/框架 76 | - jQuery/Underscore/Mootools/Prototype.js 77 | - YUI3/Dojo/ExtJS/KISSY 78 | - Backbone/KnockoutJS/Emberjs 79 | - AngularJS 80 | - Batarang 81 | - Bootstrap 82 | - Semantic UI 83 | - Juice UI 84 | - Web Atoms 85 | - Polymer 86 | - Dhtmlx 87 | - qooxdoo 88 | - React 89 | - Brick 90 | - Vue.js 91 | 92 | ## 前端标准/规范 93 | - HTTP/1.1: RFCs 7230-7235 94 | - HTTP/2 95 | - ECMAScript 5/6/7 96 | - W3C: DOM/BOM/XHTML/XML/JSON/JSONP/... 97 | - CommonJS Modules/AMD 98 | - HTML5/CSS3 99 | - Semantic Web 100 | - MicroData 101 | - RDFa 102 | - Web Accessibility 103 | - WCAG 104 | - Role Attribute 105 | - WAI-ARIA 106 | 107 | ## 性能 108 | - JSPerf 109 | - YSlow 35 rules 110 | - PageSpeed 111 | - HTTPWatch 112 | - DynaTrace's Ajax 113 | - 高性能JavaScript 114 | 115 | ## SEO 116 | 117 | ## 编程知识储备 118 | - 数据结构 119 | - OOP/AOP 120 | - 原型链/作用域链 121 | - 闭包 122 | - 编程范型 123 | - 设计模式 124 | - Javascript Tips 125 | 126 | ## 部署流程 127 | 128 | ### 压缩合并 129 | - YUI Compressor 130 | - Google Clousure Complier 131 | - UglifyJS 132 | - CleanCSS 133 | 134 | ### 文档输出 135 | - JSDoc 136 | - Dox/Doxmate/Grunt-Doxmate 137 | 138 | ### 项目构建工具 139 | - make/Ant 140 | - GYP 141 | - Grunt 142 | - Gulp 143 | - Yeoman 144 | - FIS 145 | - Mod 146 | - Webpack 147 | 148 | ## 代码组织 149 | 150 | ### 类库模块化 151 | - CommonJS/AMD/ES6 Module 152 | - YUI3模块 153 | 154 | ### 业务逻辑模块化 155 | - bower/component 156 | 157 | ### 文件加载 158 | - LABjs 159 | - SeaJS/Require.js/Webpack 160 | 161 | ### 模块化预处理器 162 | - Browserify 163 | 164 | ## 安全 165 | - CSRF/XSS 166 | - CSP 167 | - Same-origin policy 168 | - ADsafe/Caja/Sandbox 169 | 170 | ## 移动Web 171 | - HTML5/CSS3 172 | - 响应式网页设计 173 | - Zeptojs/iScroll 174 | - V5/Sencha Touch 175 | - PhoneGap (Cordova) 176 | - Ionic 177 | - jQuery Mobile 178 | - W3C Mobile Web Initiative 179 | - W3C mobileOK Checker 180 | - Open Mobile Alliance 181 | - React Native/Weex 182 | 183 | ## 前沿技术社区/会议 184 | - D2/WebRebuild 185 | - NodeParty/W3CTech/HTML5梦工厂 186 | - JSConf/沪JS(JSConf.cn) 187 | - QCon/Velocity/SDCC 188 | - JSConf/NodeConf 189 | - CSSConf 190 | - YDN/YUIConf 191 | - HybridApp 192 | - WHATWG 193 | - MDN 194 | - codepen 195 | - w3cplus 196 | - CNode 197 | 198 | ## 计算机知识储备 199 | - 编译原理 200 | - 计算机网络 201 | - 操作系统 202 | - 算法原理 203 | - 软件工程/软件测试原理 204 | - Unicode 205 | 206 | ## 软技能 207 | - 知识管理/总结分享 208 | - 沟通技巧/团队协作 209 | - 需求管理/PM 210 | - 交互设计/可用性/可访问性知识 211 | 212 | ## 可视化 213 | - SVG/Canvas/VML 214 | - SVG: D3/Raphaël/Snap.svg/DataV 215 | - Canvas: CreateJS/KineticJS 216 | - WebGL/Three.JS 217 | 218 | -------------------------------------------------------------------------------- /data/map-Git.md: -------------------------------------------------------------------------------- 1 | 2 | # Git 3 | 4 | ## 分布式世界 5 | 6 | 7 | ### 1. 版本控制之道 8 | 9 | - 版本库 10 | - 集中式(CVS、SVN) 11 | - 分布式(git) 12 | - 工作目录树 13 | - 断面视图 14 | - 工作拷贝 15 | - 1、初始化(init).git目录 16 | - 2、克隆(clone) 17 | - 代码修改与文件同步 18 | - 跟踪项目、目录和文件 19 | - 使用标签跟踪里程碑 20 | - 使用分支来跟踪并行演进 21 | - 合并 22 | - 锁机制 23 | 24 | ### 2. 安装与设置 25 | 26 | - 安装 27 | - Linux 28 | - Mac:sudo port install git-core +svn +doc 29 | - Windows 30 | - Cygwin 31 | - MSys 32 | - 设置 git config 33 | - 提 交 者:git config --global user.name "Jamsonwoo" 34 | - 邮件地址:git config --global user.email "Jamsonwoo@126.com" 35 | - 查看:git config --global --list 36 | - 颜色:git config --global color.ui "auto" (auto/always/false)(注:MSys建议用always) 37 | - GUI 38 | - Tcl/TK:git gui(备注:工作目录树) 39 | - gitk --all(备注:工作目录树) 40 | - GitX (Mac) 41 | - 内置帮助 42 | - git help 43 | - git-doc 44 | 45 | ### 3. Hello Git 46 | 47 | - 创建版本库:git int 48 | - 修改代码 49 | - 1、添加索引:git add index.html 50 | - 2、提交记录:git commit -m "add in hello git HTML" (备注:提交留言至少应该体现出进行本次修改的原因。先用一句简单的话来概括该提交;然后用几句话全面解释。) 51 | - 3、查看日志 52 | - git log <-1>(扩展:SHA-1哈希码) 53 | - git log --pretty=oneline 54 | - 视图状态:git status (备注:存放代码) 55 | - 1、工作目录树 56 | - 2、索引(暂存区) 57 | - 3、版本库 58 | - 分支 59 | - 1、创建分支:git branch 新分支名称 父分支名称 60 | git branch RB_1.0 master 61 | - 2、提交修改:git commit -a(-a:提交全部修改过的文件) 62 | - 3、切换分支:git checkout 分支名称 63 | git checkout RB_1.0 64 | - 处理发布 65 | - 1、打标签:git tag 标签名称 打标签的点 66 | git tag 1.0 RB_1.0 67 | - 2、变基命令:git rebase 分支名称(合并到主分支) 68 | git rebase RB_1.0 69 | - 3、删除分支:git branch -d 分支名称 70 | git branch -d RB_1.0 71 | - 4、创建归档:git archive --format=输出格式 --prefix=包内容 需要归档的标签名称 | gzip > 压缩结果重定向 72 | - git archive --format=tar --prefix=mysite-1.0/ 1.0 | gzip > mysite-1.0.tar.gz 73 | - git archive --format=zip --prefix=mysite-1.0/ 1.0 > mysite-1.0.zip 74 | - 克隆远程版本库:git clone 远程版本库的位置 存放该版本库的本地目录 75 | git clone git://github.com/tswicegood/mysit.git mysite-remote 76 | 77 | 78 | ## Git用法 79 | 80 | 81 | ### 1. 添加与提交 82 | 83 | - 添加文件到暂存区 84 | - 1、启动交互命令提示符:git add -i 85 | - 2、直接进入补丁模式:git add -p 86 | - 提交修改 87 | - 1、跟踪空目录:git不单独记录和跟踪目录,解决:在空目录里添加一个句点开头的空文件 88 | - 2、git commit 的提交留言编辑器 -v 89 | - 如果输入不带-m参数的git commit命令,Git将启动编辑器来编辑提交留言。为启动编辑器,Git会按照一下顺序查找编辑器的设置: 90 | - 1、环境变量 GIT_EDITOR 的值。 91 | - 2、Git 的设置 core.editor 的值。 92 | - 3、环境变量 VISUAL 的值。 93 | - 4、环境变量 EDITOR 的值。 94 | - 5、如果上述值均为空,Git 会尝试启动 vi 编辑器。 95 | - 提交三法 96 | - 备注 a、提交暂存后的修改(先暂存后提交) 97 | - 备注 b、提交工作目录树中的所有修改(把修改直接提交) 98 | - 备注 c、提交工作目录树中执行的修改(把修改直接提交) 99 | - 1、添加到暂存区 100 | - 1、git add 文件 101 | - 2、git commit -m "留言" 102 | - 2、提交所有修改到版本库:git commit -m "留言" -a 103 | - 3、指定提交文件(列表):git commit -m "留言" 文件 104 | Git别名: 105 | git commit 简写为:git ci 106 | git config --global alias.ci "commit" 107 | - 查看修改内容 108 | - 1、查看当前状态:git status 109 | Changes to be committed. 待提交变更 110 | Changed but not updated. 未更新到索引的变更 111 | - 2、查看文件改动:git diff 112 | - a、git diff 无参 工作目录树 VS 暂存区 113 | - b、git diff --cached 暂存区 VS 版本库 114 | - b、git diff HEAD 工作目录树(暂存+未暂存) VS 版本库 115 | - 管理文件 116 | - 1、文件重命名与移动:git mv 原文件名称 新文件名称 117 | - 2、复制文件:无git cp命令,无需复制 118 | - 3、忽略文件: 119 | - a、版本级:文件加入.gitignore文件中,支持通配符* 120 | - b、本地级:.git/info/exclude 121 | 122 | ### 2. 分支 123 | 124 | - 什么叫分支 125 | - 分支重命名:git branch -m 分支原名称 新名称 126 | git branch -m master mymaster 127 | - 显示本地版本库所有本地分支名称:git branch 128 | - 创建分支:1、试验性更改 2、增加新功能 3、Bug修复 129 | - 创建新分支 130 | - 创建分支:git branch 新分支名称 131 | git branch newBranchName 132 | - 检出分支:git checkout 分支名称 133 | git checkout newBranchName 134 | - 创建并检出:git checkout -b 新分支名称 新分支源分支 135 | git checkout -b newBranchName2 master 136 | - 合并分支 137 | - 合并(merge)方法 138 | - 1、直接合并:把两条分支上的历史轨迹合并,交汇到一起 139 | - 2、压合合并:一条分支上若干提交条目压合成一个提交条目,提交到另一条分支的末梢 140 | - 3、拣选合并:拣选另一条分支上的某个提交条目的改动带到当前分支上 141 | - 直接合并 142 | - git merge 分支名称 143 | git checkout alternate 144 | git add about.html 145 | git commit -m "add about page" 146 | git checkout master 147 | git merge alternate 148 | - 压合合并 149 | - git merge --squash 分支名称 150 | git checkout -b contact master 151 | git add contact.html 152 | git commit -m "add contact file" 153 | git commit -m "add contact file 2" -a 154 | git checkout master 155 | git merge --squash contact 156 | git status 157 | git commit -m "add contact page" -m "has primary and secondary email" 158 | - 拣选合并 159 | - git cherry-pick 提交名称 160 | git checkout contact 161 | git commit -m "add contact 3" -a 162 | [contact 6dbaf82]...... 163 | git checkout master 164 | git cherry-pick 6dbaf82 / git cherry-pick -n 6dbaf82 165 | - 冲突处理 166 | - git merge 167 | git checkout -b about master 168 | 编辑about.html 169 | git add about.html 170 | git commit -m "add about.html " 171 | git branch about2 about 172 | 编辑about.html 173 | git commit -m "add about.html 1" -a 174 | git checkout about2 175 | 编辑about.html 176 | git commit -m "add about.html 2" -a 177 | git checkout about 178 | git merge about2 179 | git mergetool 180 | git commit 181 | - 处理冲突软件(kdiff3):git config --global merge.tool kdiff3 182 | - git mergetool 183 | - 删除分支 184 | - git branch -d 分支名称 (成功合并到当前分支时) 185 | git branch -d about2 186 | - git branch -D 分支名称 (强制删除) 187 | - 分支重命名 188 | - git branch -m 原分支名称 新分支名称 (不允许重名) 189 | git branch -m contact abc 190 | - git branch -M 原分支名称 新分支名称 (强制覆盖) 191 | git branch -m master contact 192 | 193 | ### 3. 查询历史记录 194 | 195 | - 查看日志 196 | - git log 197 | - j 向下浏览;k 向上浏览;q 退出 198 | - 提交名称、提交人、提交日期、提交留言 199 | - git log -p (显示版本之间的代码差异) 200 | - git log -1(数字表示提交日志条数) 201 | - git log 7b1558c (指定提交名称缩写[前7位]) 202 | - 指定查找范围 203 | - git log --since/before="英文格式日期" 204 | - git log --since="5 hours" (最近5小时内) 205 | - git log --before="2012-8.20" -1 (20120820之前的最后一条) 206 | - git log 最老版本..最新版本 207 | - git log 18f822e..0bb3dfb 208 | - 注:日志结果不包括最老,包括最新 209 | - git log 18f822e..HEAD / git log 18f822e.. 210 | - git log 标签名称 211 | - git log --pretty=format:"%h %s" 1.0..HEAD 212 | - git log --pretty=oneline 1.0..HEAD 213 | - \^:回溯一个版本 214 | - git log 18f822e^^ 215 | - 注:1、windows系统下,^需要添加双引号 git log “18f822e^^”。 216 | - 注:2、当遇到某个节点(通常是版本合并后的节点)有并列的多个父节点时,“^1”代表第一个父节点,“^2”代表第二个,以此类推。而“^”是“^1”的简写。 217 | - *~N:回溯N个版本 218 | - git log -1 HEAD^^^ / git log -1 HEAD^~2 / git log -1 HEAD~1^ / git log -1 HEAD~3 219 | - git log -1 HEAD~10..HEAD 220 | - 查看版本间差异 221 | - git diff 版本名称(与当前工作目录树的差异) 222 | - git diff 18f822e 223 | - git diff --stat 1.0(数据统计) 224 | - 查明提交者 225 | - git blame 文件名(特定代码块历史) 226 | - git blame hello.html 227 | - 注:1、格式:提交名称 初始文件名(提交人 提交时间 行号) 代码行 228 | - 注:2、^脱字号开头表示版本库中第一个递交 229 | - git blame -L <开始>,<结束> 文件名(特定代码行历史) 230 | - git blame -L 12,13 hello.html 231 | - git blame -L 12,+2 hello.html 232 | - git blame -L 12,-2 hello.html 233 | - git blame -L 正则表达式 文件名(特定代码行历史) 234 | - git blame -L "/<\/body>/",+2 hello.html 235 | - >git blame -L "/<\/body>/",-2 "4333289e^" -- index.html 236 | - 跟踪内容 237 | - 检查在同一个文件内移动或复制的代码行:git blame -M 文件名 238 | - 查看文件之间的复制:git blame -C -C 文件名 239 | - 查看显示代码的具体变动的历史记录:git log -C -C -1 -p 240 | - 撤销修改 241 | - 增补提交:git commit -C HEAD -a --amend 242 | - --amend:增补提交 243 | - -C:复用指定提交的提交留言 244 | - -c:打开编辑器,在已有提交留言基础上修改 245 | - 反转提交:git revert -n 提交名称 246 | - 参数:--no-edit 247 | - 复位:git reset 提交名称 248 | - 提交名称默认值:HEAD 249 | - 提交名称可用^和~修饰符 250 | - 参数--soft:暂存所有因复位带来的差异,但不提交它 251 | - 参数--hard:慎用,从版本库和工作目录树中同时删除提交 252 | - 重新改写历史记录 253 | - 重新排序提交:git rebase -i HEAD~3 254 | - 将多个提交压合成一个提交:git rebase -i 0bb3dfb^ 255 | - 将一个提交分解成多个提交:git rebase --continue 256 | 257 | ### 4. 与远程版本库协作 258 | 259 | - 网络协议 260 | - SSH:用户名@服务器名/版本库路径 261 | git@github.com/tswicegood/mysite-chp6.git 262 | - git:协议://服务器名/版本库路径 (使用9418端口、匿名、无须加密、只读) 263 | git://github.com/tswicegood/mysite-chp6.git 264 | - HTTP/HTTPS:需架设WebDAV服务 265 | - 最快:git 266 | - 安全:SSH 267 | - 不受防火墙限制:HTTP(S) 268 | - 克隆远程版本库:git clone git://github.com/tswicegood/mysite-chp6.git 269 | - 版本库同步 270 | - 取来(fetch):git fetch 271 | - 查看远程分支:git branch -r 272 | - 取来合并:git pull 远程版本库名称 须要拖入的远程分支名 273 | - 远程分支名前缀origin/表示远程版本库上的分支名称,origin是默认远程版本库别名 274 | - 推入改动 275 | - 推入默认版本库origin:git push 276 | - 查看推入哪些提交:git push --dry-run 277 | - 推入指定版本库:git push 278 | git push origin mybranch:master 279 | - 添加新的远程版本库 280 | - 一次拖入:git pull git://ourcompany.com/dev-erin.git 281 | - 使用别名:git remote add 别名 路径 282 | - 查看远程版本库详细信息:git remote show 283 | - 删除别名:git remote rm 284 | 285 | ### 5. 管理本地版本库 286 | 287 | - 使用标签标记里程碑 288 | - 标签只读、标签名不能包含空格 289 | - 查看已存在标签:git tag 290 | - 新建标签:git tag 标签名 291 | - git tag 标签名 提示名称/分支名称 292 | - 发布分支的处理 293 | - 发布分支通常以RB_为前缀并包含版本号,RB_1.3 294 | - git branch RB_1.0.1 1.0 295 | - 标签与分支的有效名称 296 | - 不能以“/”结尾 297 | - 不能以“.”开头 298 | - 不能使用特殊字符:空格~^:?*[控制符删除键 299 | - 不能出现“..” 300 | - 记录和跟踪多个项目 301 | - 多个项目共享一个版本库 302 | - 多项目多版本库 303 | - 使用Git子模块跟踪外部版本库 304 | - 添加新子模块 305 | - 查看该版本库的子模块:git submodule 306 | - 添加新子模块:git submodule add 源版本库 存储路径 307 | git submodule add git://github.com/tswicegood/hocus.git hocus 308 | - 初始化子模块:git submodule init hocus 309 | - 克隆含子模块的版本库:git submodule update 子模块名 310 | cd work 311 | git clone magic new-magic 312 | cd new-magic 313 | 314 | git submodule 315 | git submodule init hocus 316 | git submodule update hocus 317 | - 改变子模块的版本 318 | - 使用子模块时要提防的错误 319 | - git add 确保结尾没有“\” 320 | - submodule update 先检查提交 321 | - 添加新内容到本地自模块版本库,要检出正确分支 322 | - 修改提交,确保改动被送回远程版本库 323 | 324 | ### 6. 高级功能 325 | 326 | - 压缩版本库 327 | - git gc 整理版本库、优化Git内部存储历史记录 328 | - git gc <--aggressive> 重新计算增量存储单元 329 | - 到处版本库 330 | - 创建版本快照:git archive 格式类型 指定版本 331 | - git archive --format= <--prefix=父目录> 转换格式 332 | git archive --format=zip --prefix=mysite-release/ HEAD > mysite-release.zip 333 | git archive --format=tar --prefix=mysite-release/ HEAD | gzip > mysite-release.tar.gz 334 | - 分支变基 335 | - git rebase --continue/--skip/--abort 336 | - git rebase --onto master contacts search 337 | - 重现隐藏的历史:git reflog 338 | - 二分查找 339 | - git bisect start 340 | - git bisect bad 341 | - git bisect good 1.0 342 | - git bisect reset 343 | - git bisect visualize 344 | - git bisect log 345 | - git bisect replay <文件> 346 | - git bisect run 347 | 348 | 349 | 350 | 351 | -------------------------------------------------------------------------------- /data/map-HTML5.md: -------------------------------------------------------------------------------- 1 | # HTML5 开发技能图谱 2 | ![HTML5 脑图](https://github.com/TeamStuQ/skill-map/blob/master/data/designbyStuQ/png-HTML5-by-StuQ.png) 3 | 4 | Md 文字版 5 | ---- 6 | 7 | ## 基础篇 8 | 9 | - HTML/CSS 10 | 11 | - JavaScript 12 | 13 | - DOM 14 | 15 | ## 中级篇 16 | 17 | - 数据格式(如JSON、XML) 18 | 19 | - RESTful API交互(如jQuery Ajax,Fetch API,ReactiveX) 20 | 21 | - 正则表达式 22 | 23 | - HTML语义化 24 | 25 | - 命令行 26 | 27 | - Node.js 28 | 29 | - DIV/CSS 30 | 31 | - SCSS/SASS 32 | 33 | - 矢量图形/矢量图形动画(如SVG) 34 | 35 | - 单页面应用 36 | 37 | ## 高级篇 38 | 39 | - ES6/TypeScript 40 | 41 | - CSS3 42 | 43 | - 面向对象编程 44 | 45 | - 函数式编程 46 | 47 | - MVC/MVVM/MV* 48 | 49 | - 安全性(如跨域) 50 | 51 | - 授权(如HTTP Basic,JWT等) 52 | 53 | ## 工程化 54 | 55 | - 代码质量(如JSLint,ESLint,TSLint,CSLint) 56 | 57 | - 代码分析(如Code Climate) 58 | 59 | - 测试覆盖率 60 | 61 | - 构建系统(gulp,grunt,webpack等) 62 | 63 | - 自动构建(脚本) 64 | 65 | ## 兼容性 66 | 67 | - 跨浏览器测试(如Chrome,IE,Safari,Firefox等) 68 | 69 | - 跨平台测试(如Windows,GNU/Linux,Mac OS等) 70 | 71 | - 跨设备测试(如Desktop,Android,iOS,Windows phone等) 72 | 73 | - 跨版本测试(同一浏览器的不同版本) 74 | 75 | ## SEO 76 | 77 | - Sitemap(站点地图) 78 | 79 | - 内部链接建设 80 | 81 | - MicroData/MicroFormat 82 | 83 | - 页面静态内容生成 84 | 85 | - H1,H2,H3和strong使用 86 | 87 | - Title,Description优化 88 | 89 | - 页面静态内容生成 90 | 91 | ## 设计 92 | 93 | - 切页面 94 | 95 | - 线框图(Wireframe) 96 | 97 | - 响应式设计 98 | 99 | - 网格布局(Grid Layout) 100 | 101 | - Flexbox布局 102 | 103 | ## 性能与优化 104 | 105 | - PageSpeed/Yslow优化 106 | 107 | - 加载优化(如gzip压缩,缓存等) 108 | 109 | - 性能测试(特别是移动Web) 110 | 111 | - 可用性 112 | 113 | - 压缩(如Minify,Uglify,CleanCSS等) 114 | 115 | ## 测试 116 | 117 | - 单元测试 118 | 119 | - 服务测试 120 | 121 | - UI测试 122 | 123 | - 集成测试 124 | 125 | ## 调试 126 | 127 | - 浏览器调试 128 | 129 | - Debug工具 130 | 131 | - Wireshark/Charles抓包 132 | 133 | - 远程设备调试(如Chrome Inspect Devices) 134 | 135 | ## 软件工程 136 | 137 | - 版本管理(如git,svn) 138 | 139 | - 包管理(如npm,bower) 140 | 141 | - 依赖管理 142 | 143 | - 模块化(如CommonJS,WebPack) 144 | 145 | ## 前端特定 146 | 147 | - CSS/CSS3动画 148 | 149 | - JavaScript动画 150 | 151 | - Web字体嵌入 152 | 153 | - Icon字体 154 | 155 | - 图形和图表 156 | 157 | - CSS Sprite(如glue) 158 | 159 | - DOM操作(如jQuery,React等) 160 | 161 | - 模板引擎(如JSX ,Handlebars,JSP,Mustache等) 162 | 163 | -------------------------------------------------------------------------------- /data/map-Hadoop.md: -------------------------------------------------------------------------------- 1 | ---- 2 | # Hadoop 家族技能图谱 3 | - Hadoop 4 | - Zookeeper 5 | - Avro 6 | - Chukwa 7 | - Ambari 8 | - Whirr 9 | - Bigtop 10 | - HCatalog 11 | - Hue 12 | - HBase 13 | - Pig 14 | - Sqoop 15 | - Cassandra 16 | - Hama 17 | - Flume 18 | - Giraph 19 | - Oozie 20 | - Crunch 21 | - Hive 22 | - Mahout 23 | 24 | ---- 25 | 26 | ## Hive 技能图谱 27 | ### Hive介绍 28 | ### Hive系统架构 29 | - MetaStore 30 | - Derby 31 | - MySQL 32 | - HDFS 33 | - /user/hive/warehouse 34 | - MapReduce 35 | 36 | ### Hive配置文件 37 | - hive-env.sh 38 | - hive-site.xml 39 | - hive-log4j.properties 40 | 41 | ### Hive命令行 42 | 43 | - hive-config 44 | - hive shell 45 | - quit,exit 46 | - reset 47 | - set 48 | - add,list,delete FILES 49 | - ! <命令> 50 | - dfs <命令> 51 | - HQL 52 | - source FILES 53 | - hive service 54 | - hive-service cli 55 | - hive-service hiveserver 56 | - hive-service metastore 57 | - hive-service hwi 58 | - hive-service jar 59 | 60 | ### HiveQL 61 | 62 | - 语法关键字 63 | - show databases 64 | - show PARTITIONS 65 | - show tables 66 | - create table 67 | - load data(local) inpath 68 | - Select*from 69 | - desc,alert,drop 70 | - limit,as,case when then,union 71 | - like,group by,having 72 | - order by,sort by 73 | - cluster by 74 | 75 | - 数据类型 76 | - 简单类型 77 | - tinyint,smallint,int,bigint 78 | - float,double 79 | - boolean 80 | - string 81 | - timestamp 82 | - binary 83 | 84 | - 复杂类型 85 | - arry 86 | - map 87 | - struct 88 | 89 | - 表 90 | - 内部表 91 | - 外部表 92 | - HDFS 93 | - HBase 94 | - Cassandra 95 | - DynamoDB 96 | 97 | - 表查询 98 | - 单表查询 99 | - lnner joins 100 | - Outer joins 101 | - Semi joins 102 | - Map joins 103 | - 子查询 104 | - 视图 105 | 106 | ### 数据表设计 107 | - 每日一表 108 | - 每日一表分区 109 | - 按桶分散数据 110 | 111 | ### Hive优化 112 | - 表分区Partitions 113 | - 表存储桶buckets 114 | - 表压缩 115 | - 索引 116 | - bitmap indexes 117 | - 执行计划 118 | - 控制Mapper.Reduce数量 119 | 120 | ### 访问方式 121 | - Hive Shell 122 | - Java JDBC API 123 | - Thrift Client 124 | - RHive 125 | 126 | ### 自定义函数 127 | - 自定义函数UDF 128 | - 自定义聚合函数UADF 129 | 130 | ### Hive安全 131 | - 认证 132 | - hive.files.umask.value 133 | - hive.metastore.authorization.storage.checks 134 | - hive.metastore.execute.setugi 135 | 136 | - 授权 137 | - hive.security.authorization.enabled 138 | - hive.security.authorization.createtable.owner.grants 139 | - hive.security.authorization.createtable.user.grants 140 | 141 | - 权限模型 142 | - User 143 | - Group 144 | - Role 145 | 146 | ### Web控制台 147 | - hwi:9999 148 | 149 | ### 软件集成 150 | - Zookeeper 151 | - Thrift 152 | - Ooize 153 | - HCatalog 154 | - AWS 155 | 156 | ### Hive案例 157 | 158 | ---- 159 | 160 | ## Mahout 技能图谱 161 | ### Mahou介绍 162 | 163 | ### 推荐 164 | - 协同过滤 165 | - 基于用户协同过滤 166 | - 基于物品协同过滤 167 | 168 | - 相似度矩阵 169 | - 欧氏距离 170 | - Pearson距离 171 | - 余弦距离cosine 172 | - Spearman’s rank correlation coefficient 173 | - Tanimoto coefficient 174 | - log-likelihood 175 | 176 | - 近邻算法 177 | - 按值取近邻 178 | - 按比例取近邻 179 | 180 | - 推荐算法 181 | - UserBasedRecommender 182 | - ItemBasedRecommender 183 | - SlopeOneRecommender 184 | - SVDRecommender 185 | - KnnltemBasedRecommender 186 | - TreeClusteringRecommender 187 | 188 | - 算法检验 189 | - 全查率Recall 190 | - 准查率Precision 191 | 192 | - 数据模型 193 | - UserID,ltemID,PreferenceValue 194 | - UserID,ItemID 195 | 196 | - Hadoop集群部署 197 | 198 | ### 聚类 199 | - 数据模型 200 | - DenseVector 201 | - RandomAccessSparseVector 202 | - SequentialAccessSpareVector 203 | 204 | - 距离算法 205 | - 欧式距离 206 | - 欧式平方距离 207 | - 马氏距离 208 | - 余弦距离 209 | - Tanimoto距离 210 | - 带权重距离 211 | 212 | - 标准化距离 213 | - normalization 214 | 215 | - 聚类算法 216 | - k-means 217 | - Canopy 218 | - Fuzzy k-means 219 | - Dirichlet 220 | - Topic moseling on LDA 221 | 222 | - Hadoop集群部署 223 | 224 | ### 分类 225 | - 系统模块 226 | - 训练营 227 | - 测试营 228 | - 分类算法 229 | - 训练过程 230 | - 建立分类器 231 | - 验证模块 232 | - 真实数据 233 | - 调整参数 234 | - 执行分类过程 235 | - 预测结果 236 | - 检验结果 237 | - 自动构建 238 | 239 | - 工作流 240 | - 训练模型 241 | - 定义目标变量 242 | - 历史数据 243 | - 定义预测变量 244 | - 分类算法 245 | - 通过学习算法训练分类器 246 | - 验证模型 247 | - 运行测试集 248 | - 参数调优 249 | - 生产环境 250 | - 启动模型对真实数据计算 251 | - 分类模型 252 | - 分类算法 253 | - Stochastic gradient descent(SGD) 254 | * Online_ogisticRession 255 | * CrossFoldLearner 256 | * Adaptivel_ogisticRegression 257 | - Support vector machine(SVM) 258 | - Naive Bayes 259 | - Complemetary naive Bayes 260 | - Random forests 261 | 262 | 263 | 264 | 265 | 266 | -------------------------------------------------------------------------------- /data/map-IntelligentDevOps.md: -------------------------------------------------------------------------------- 1 | 2 | # 运维工程师 3 | 4 | ## Linux基础 5 | - Linux FHS : Filesystem Hierarchy Standard 6 | - Linux 基本操作命令 7 | - Linux 内置编辑器: 8 | - vi 9 | - nano 10 | - Linux 系统 11 | - Centos 12 | - Debian 13 | - Ubuntu 14 | 15 | ## 脚本 16 | - Shell 17 | - Python 18 | - Perl 19 | 20 | 21 | ## 运维命令 22 | ![运维命令](https://github.com/TeamStuQ/skill-map/blob/master/data/operation-command.png) 23 | 24 | 运维命令图片引用自 Brendan Gregg 《Linux Performance Analysis and Tools》。原文链接:http://www.brendangregg.com/linuxperf.html 。 25 | 26 | ## 基础服务 27 | 28 | - LAMP或LNMP :Apache/Nginx,MySQL,PHP/Python/Perl LAMP (software bundle) 29 | - FTP 30 | - DNS 31 | - SAMBA 32 | - EMAIL 33 | - NTP 34 | - DHCP 35 | 36 | 37 | ## 运维平台工具 38 | - SSH证书 39 | - Nagios 40 | - Puppet 41 | - Zabbix 42 | - Cacti 43 | - SaltStack 44 | - pssh/dsh 45 | - Fabric 46 | 47 | ## 安全 48 | - 防火墙配置 49 | - iptables 50 | - ipset 51 | 52 | ## 网络 53 | - TCP/IP 协议 54 | - 抓包 tcpdump 55 | 56 | 57 | ## 底层 58 | 59 | - Linux C 60 | - Linux 内核 61 | 62 | ## KVM 虚拟化 63 | 64 | 65 | ### 虚拟化概念 66 | 67 | - 半虚拟化 68 | - 全虚拟化 69 | 70 | ### KVM 原理 71 | 72 | 73 | ### KVM 基础功能 74 | 75 | - CPU 76 | - 内存 77 | - 存储 78 | - 网络 79 | 80 | ### KVM 高级功能 81 | 82 | - 半虚拟化驱动 83 | - 热插拔 84 | - 动态迁移 85 | 86 | ### KVM 管理工具 87 | 88 | - virsh 89 | - OpenStack 90 | - CloudStack 91 | - OpenNebula 92 | - Zstack 93 | 94 | ## 硬件 95 | - 接口类型 96 | - 查看硬件信息 97 | - 知道各类型服务器,如塔式、机架式、刀片式 98 | 99 | ## 其它 100 | - 安全意识 101 | - 加密存储/本地存储/SSH私钥添加密码 102 | 103 | - 责任心 104 | - Owner 意识/第一时间处理报警 105 | 106 | - 沟通方式/技巧 107 | - 推进/改善 108 | 109 | - 推动开发优化代码 110 | 111 | - 进取心/记录分享 112 | 113 | -------------------------------------------------------------------------------- /data/map-Kubernetes.md: -------------------------------------------------------------------------------- 1 | # Kubernetes 技能图谱 2 | 3 | ## Container basics (容器技术基础) 4 | * Linux Operating System Basic 5 | * Linux Process Management (Linux进程管理) 6 | * Cgroups 7 | * Linux Namespaces 8 | * Rootfs & Container Image 9 | * Image Registry 10 | 11 | ## Kubernetes architecture (Kubernetes 架构) 12 | 13 | ### Node 14 | #### Kubelet 15 | - Runtime (容器运行时) 16 | * CRI (Container Runtime Interface) 17 | * Runtime shims (容器运行时插件) 18 | + Cri-containerd (containerd) 19 | + Dockershim (Docker) 20 | + Cri-o (runC) 21 | + Rktlet (rkt) 22 | + Frakti (KataContainers) 23 | * RuntimeClass (新特性:容器运行时类) 24 | - Networking 25 | * CNI (Container Network Interface) 26 | * Linux Network Namespace 27 | * Network plugins (网络插件) 28 | + Flannel 29 | + Calico 30 | + OVS 31 | + SR-IOV 32 | + macvlan/ipvlan 33 | + Opencontrail 34 | + Weave 35 | + Cilium (新插件,支持BPF,推荐) 36 | - Storage 37 | * CSI (Container Storage Interface) 38 | * Persistent Volume & Persistent Volume Claim 39 | * Volume plugins (存储插件,仅负责提供PV) 40 | + NFS 41 | + Cinder 42 | + GlusterFS 43 | + Ceph 44 | + Local path 45 | * Volume extenstion (存储扩展,负责提供完整的Storage方案) 46 | + Rook.io 47 | - Kube-proxy 48 | * Iptables 转发链与随机模式 49 | * IPVS 负载均衡 50 | 51 | ### Master 52 | - API server 53 | * Watch & Informer (Watch 和通知框架) 54 | * Admission Plugin(权限控制插件) 55 | * RBAC plugin (基于角色的访问控制插件) 56 | * Custom Resource Definition (新特性,CRD,自定义API对象,重点推荐) 57 | * APIServer aggregator (新特性,聚合APIServer,推荐) 58 | - Controller manager 59 | * Reconcile (控制循环与状态协调机制) 60 | - Scheduler 61 | * Scheduling algorithm (默认调度算法) 62 | * Scheduler extender (调度器扩展器) 63 | * Custom algorithm (自定义调度算法) 64 | * Custom scheduler (自定义调度器) 65 | * Scheduler Framework (新特性,可扩展调度框架,推荐) 66 | * Multiple scheduler (多调度器) 67 | - Etcd 68 | * Etcd operator 69 | * Etcd performance tuning 70 | 71 | ## Kubernetes workloads (Kubernetes 作业管理) 72 | - Pod 73 | - ReplicaSet (容器副本) 74 | - Deployment (常规作业发布) 75 | * Rolling update (自动的滚动更新) 76 | * Pause/resume (可控的更新流程) 77 | * Canary deploy (金丝雀发布) 78 | * Rollback (版本回滚) 79 | - DaemonSet (Daemon 作业) 80 | - StatefulSet (有状态任务) 81 | * Topology State 82 | * Storage State 83 | - Job (一次性任务) 84 | - CronJob (定时任务) 85 | 86 | ## Kubernetes applications management (Kubernetes 应用配置) 87 | - Service (服务发现) 88 | * Publish service(对外暴露 Service) 89 | * Nginx/HAproxy service(自定义 Service) 90 | * External Load Balancer 91 | - ConfigMap (应用配置管理) 92 | - Ingress (7层服务发现) 93 | - Secret (加密信息管理) 94 | - Headless Service(DNS 服务发现) 95 | - External Load Balancer 96 | 97 | ## Kubernetes operations (Kubernetes 安装与运维) 98 | - Installation 99 | * Kubeadm (内置部署工具,推荐) 100 | * Minikube (本地部署工具) 101 | * Kops (云端部署工具) 102 | - Maintenances 103 | * Garbage Collection (垃圾回收) 104 | + Container GC 105 | + Image GC 106 | - Upgrades 107 | - Troubleshooting 108 | * etcd admin 109 | + Key-value CRUD(键值对操作) 110 | + Metrics monitoring (Metrics 监控) 111 | + Cluster design(集群规划) 112 | + Disaster Recovery (灾难恢复,backup 和 restore) 113 | * Iptables rules 114 | 115 | ## Kubernetes extensions/add-ons (Kubernetes 扩展和插件) 116 | - Custom Resources Definition (自定义 Kubernetes API 对象) 117 | * Customized controller (自定义 API 对象控制器) 118 | * Workqueue (自定义 API 对象任务队列) 119 | - Kube-dns 120 | * SkyDNS 121 | * CoreDNS 122 | - Fluentd (日志收集) 123 | * Fluent-bit 124 | - Heapster (容器集群监控) 125 | - Istio(微服务治理和负载均衡) 126 | - Federation v2(新特性:集群联邦v2) 127 | - Helm (kubernetes application package) 128 | 129 | ## Kubernetes CI/CD 130 | - Spinnaker 131 | - Skaffold (新项目,推荐) 132 | 133 | ## Kubernetes PaaS 134 | - OpenShift 135 | - Knative (新项目,推荐) 136 | -------------------------------------------------------------------------------- /data/map-LiveTelecast.md: -------------------------------------------------------------------------------- 1 | 2 | # 直播平台技术图谱 3 | 4 | ---- 5 | ## 直播 6 | 7 | ---- 8 | ### 采集 9 | - **iOS** 10 | * HTTP Live Streaming 11 | * DirectShow 12 | - **Android** 13 | * setPreviewCallback 14 | * MediaRecorder 15 | * ffmpeg 16 | * getstreamer 17 | * 机型适配 18 | - **PC** 19 | * mjpg-streame 20 | * jpeg 21 | * 摄像头驱动 22 | - **摄像机** 23 | 24 | ### 前处理 25 | - **美颜** 26 | - **GPU计算** 27 | * OpenCL 28 | * DirectCompute 29 | * GPGPU 30 | * C++AMP 31 | - **滤镜** 32 | - **画面风格** 33 | * GPUImage 34 | - **人脸识别** 35 | * 人脸特征点的识别 36 | * 整幅人脸图像的识别 37 | * 模板的识别 38 | * 经网络进行识别 39 | 40 | ### 编码 41 | - **硬件兼容性** 42 | - **iOS** 43 | * VideoToolbox.framework 44 | - **H.264** 45 | - **H.265** 46 | - **MPEG** 47 | 48 | ### 传输 49 | - **方案** 50 | * Socket 51 | * HTTP 52 | * RTP/RTSP 53 | - **CDN** 54 | - **云服务** 55 | - **TCP/IP优化** 56 | 57 | ### 服务器处理 58 | - **RTMP** 59 | - **HLS** 60 | - **FLV** 61 | 62 | ### 解码 63 | - **硬件兼容性** 64 | - **H.264** 65 | - **MPEG** 66 | 67 | ### 渲染 68 | 69 | ### 音频 70 | - **降噪** 71 | * Kamath 72 | * Rangachari 73 | - **编解码** 74 | * AAC 75 | * MP3 76 | 77 | ### Web音视频标准 78 | - **WebRTC** 79 | - **客户端** 80 | - Chrome/firefox/Opera 81 | - javascript 82 | - iOS 83 | - ObjectC Cordova 84 | - **协议** 85 | * JSEP 86 | * ICE 87 | * SIP 88 | * WebSocket 89 | - **通讯方式** 90 | * 星型 91 | * MCU 92 | * Router 93 | - **编解码** 94 | - HD264 95 | - VP8 96 | - **穿墙服务** 97 | - stun 98 | - turnserver/coturn 99 | - **signal** 100 | - socket.io-client 101 | - socket.io 102 | - signalmaster 103 | - apprtc 104 | - **Media server** 105 | - janus-gateway 106 | - kurento 107 | - freeswitch 108 | 109 | ---- 110 | ## 应用服务 111 | - **IM** 112 | - **通知** 113 | - **礼物系统** 114 | - **支付** 115 | - **运营系统** 116 | - **统计** 117 | 118 | ---- 119 | ## 统计服务 120 | - **数据库** 121 | * **PostgreSQL** 122 | * **MySQL** 123 | * **MongoDB** 124 | * **Redis** 125 | * **HBase** 126 | - **缓存** 127 | * **Nginx** 128 | * **Squid** 129 | * **Varnish** 130 | - **分布式文件系统** 131 | * **Ceph** 132 | * **GlusterFS** 133 | * **MooseFS** 134 | * **MogileFS** 135 | * **FastDFS** 136 | * **HDFS** 137 | * **OpenAFS** 138 | * **GFS** 139 | * **KFS** 140 | * **TFS** 141 | - **消息队列** 142 | * **RabbitMQ** 143 | * **ActiveMQ** 144 | * **Kafka** 145 | * **MetaQ** 146 | * **NSQ** 147 | * **ZeroMQ** 148 | * **MemcacheQ** 149 | * **HTTPSQS** 150 | * **Resque** 151 | - **运维** 152 | -------------------------------------------------------------------------------- /data/map-MachineLearning.md: -------------------------------------------------------------------------------- 1 | # 机器学习技能图谱 2 | 3 | >主要作者:@徐英凯|闪银机器学习工程师 4 | >审校顾问:@卢誉声|Autodesk 软件研发工程师、@高扬|欢聚时代资深大数据技术专家、@罗远飞|第四范式机器学习工程师 5 | 6 | ## Toolbox 7 | - C/C++ 8 | * Vowpal Wabbit 9 | * MultiBoost 10 | * Shogun 11 | - Java 12 | * Mahout 13 | * Weka 14 | * Mallet 15 | * JSAT 16 | - Python 17 | * Scikit-learn 18 | * PyBrain 19 | * nltk 20 | * Theano 21 | * Pylearn2 22 | * MDP 23 | * Orange 24 | * milk 25 | * pyml 26 | * Numpy 27 | - R 28 | - Julia 29 | - Matlab 30 | 31 | ## Real-time Computation Paltform 32 | - Spark 33 | * MLlib 34 | - Hurricane 35 | * SewedBlAS 36 | - Storm 37 | - Heron 38 | 39 | ## Algorithms 40 | ### Supervised Learning 41 | - Regression 42 | * Generalized Linear Regression 43 | * Gaussian Processes 44 | * Isotonic Regression 45 | - Classification 46 | * Support Vector Machines (SVM) 47 | * Linear and Quadratic Discriminant Analysis 48 | * Decision Trees 49 | * K Nearest Neighbors 50 | * Naive Bayes 51 | * Neural Networks 52 | * Ensemble Methods 53 | * Kernel Approximation 54 | * Adaboost 55 | 56 | ### Unsupervised Learning 57 | - Clustering 58 | * K-Means 59 | * Gaussian Mixture Models 60 | * Spectral Clustering 61 | * Manifold Learning 62 | * Hierarchical Clustering 63 | * Affinity Propagation 64 | * DBSCAN 65 | * Birch 66 | - Dimensionality Reduction 67 | * Principal Component Analysis 68 | * Linear Discriminant Analysis 69 | * Locally linear embedding 70 | * Laplacian Eigenmaps 71 | * Isomap 72 | * Spectral Embedding 73 | * Feature Agglomeration 74 | 75 | ### Reinforcement Learning 76 | - Markov Decision Processes 77 | - Q-Learning 78 | - Sarsa 79 | - A-Learning 80 | 81 | ### Deep Learning 82 | - Convolutional Neural Network (CNN) 83 | - Restricted Boltzmann Machines 84 | - Recurrent Neural Network (RNN) 85 | * Long Short Term Memory 86 | 87 | ## Model Selection and Evaluation 88 | - Cross-validation 89 | - Grid Search 90 | - Model Evaluation 91 | - Model Persistence 92 | - Validation Curves 93 | 94 | ## Frameworks 95 | - TensorFlow 96 | - Caffe2/Caffe 97 | - Theano 98 | - Torch 99 | - Chainer 100 | - OpenBLAS 101 | - CUDA 102 | - CUDNN 103 | -------------------------------------------------------------------------------- /data/map-Microservice.md: -------------------------------------------------------------------------------- 1 | # 微服务架构 技能图谱 2 | 3 | ## 理论基础 4 | ### 概念 5 | #### 多微合适 6 | - 非代码函数 7 | - 非重写时间 8 | - 适合团队最重要 9 | - 独立业务属性 10 | - 全功能团队 11 | 12 | #### 进程隔离 13 | - 服务运行在独立的进程中 14 | 15 | #### 轻量级通信 16 | - 协议跨平台 17 | - 格式语言无关 18 | 19 | #### 独立性 20 | - 独立开发 21 | - 独立测试 22 | - 独立部署 23 | 24 | 25 | ### 本质 26 | - 服务作为组件 27 | - 围绕业务组织团队 28 | - 产品驱动而非项目驱动 29 | - 技术多样性 30 | - 业务数据独立 31 | - 基础设施自动化 32 | - 演进式架构 33 | 34 | ### 优点 35 | - 按需伸缩 36 | - 独立部署 37 | - 业务独立 38 | - 技术多样性 39 | 40 | ### 缺点 41 | #### 1. 运维成本高 42 | - 环境配置(Provisioning) 43 | - 部署 44 | - 监控 45 | 46 | #### 2. 测试成本高 47 | - 自动化测试 48 | - 契约测试 49 | 50 | #### 3. 依赖管理成本高 51 | - 版本管理 52 | - 服务依赖 53 | - 服务治理 54 | 55 | ### 与SOA的差异点 56 | - 实现方式 57 | - 服务粒度 58 | - 集成方式 59 | - 部署方式 60 | 61 | ## 常用模式 62 | 63 | ### 部署模式 64 | - 单机多实例 65 | - 单机单实例 66 | - 容器多实例 67 | - 容器单实例 68 | 69 | ### 服务发现 70 | - 客户端发现 71 | - 服务器端发现 72 | 73 | #### 常用库/工具 74 | - Consul 75 | - Eureka 76 | - SmartStack 77 | - Etcd 78 | 79 | ### API网关 80 | - 请求转发 81 | - 响应合成 82 | - 协议转换 83 | - 安全认证 84 | 85 | ### 服务注册 86 | - 自注册 87 | - 第三方注册 88 | #### 常用库/工具 89 | - Consul 90 | - Eureka 91 | 92 | ### 服务配置 93 | 94 | ## 组织结构 95 | - 全功能团队 96 | - 去中心化 97 | - 康威定律 98 | 99 | ## 数据相关 100 | - 数据库 101 | - RDBMS 102 | - NOSQL 103 | - 数据伸缩 104 | - 读 105 | - 写 106 | - 缓存 107 | - 业务数据隔离 108 | 109 | 110 | ## 安全策略 111 | - 单点登录 112 | - 点对点验证 113 | - 安全网关 114 | 115 | ## 通信机制 116 | ### 同步通信 117 | - RPC/RMI 118 | - Java RMI 119 | - Thrift 120 | - Protocol Buffer 121 | - REST 122 | - HAL 123 | 124 | ### 异步通信 125 | #### 消息队列 126 | - ActiveMQ 127 | - MSMQ 128 | - RabbitMQ 129 | 130 | #### 后台任务 131 | - Sidekiq 132 | - Resque 133 | 134 | 135 | ## 开发实践 136 | ### 开发模板 137 | #### JAVA栈 138 | - SpringBoot 139 | - SpringCloud 140 | - DropWizard 141 | 142 | #### Ruby栈(其他脚本语言类似) 143 | - 代码结构 144 | - 测试结构 145 | 146 | ##### 配置文件模板 147 | - WEB服务器配置 148 | - 日志格式 149 | - 监控文件配置 150 | - 告警文件配置 151 | 152 | ##### 部署脚本模板 153 | - Shell 154 | - Chef 155 | - Puppet 156 | - Ansible 157 | 158 | ##### 持续集成模板 159 | - Jenkins 160 | - Bamboo 161 | 162 | ### 服务说明文件 163 | - 服务描述 164 | - 责任人 165 | - 请求/响应描述 166 | - 开发环境搭建 167 | - 运行环境 168 | - 测试策略 169 | - 部署方式 170 | - 监控告警 171 | 172 | ### 服务结构 173 | - 模型表示层 174 | - 业务模型 175 | - 业务逻辑 176 | - 模型存储 177 | - 集成网关 178 | 179 | ## 测试实践 180 | ### 单元测试 181 | - 基于Mock/Stub 182 | - 基于真实依赖 183 | 184 | ### 集成测试 185 | - 服务间集成 186 | - 数据库集成 187 | - 与第三方接口集成 188 | 189 | ### 组件测试 190 | - 进程内 191 | - 进程外 192 | 193 | ### 契约测试 194 | - PACT 195 | - PACTO 196 | 197 | ### E2E测试 198 | - Selenium 199 | - WebDriver 200 | 201 | ### 性能测试 202 | - Gatling 203 | - JProfiler 204 | - JMeter 205 | - Simperf 206 | 207 | ### 部署实践 208 | #### 部署环境 209 | - 数据中心/VM 210 | - 公有云(IAAS/PASS) 211 | - 私有云(IAAS/PASS) 212 | - 容器化 213 | 214 | #### 应用部署 215 | - 包部署(Tar、RPM、War) 216 | - 映像部署(AMI/...) 217 | - 容器部署(Docker) 218 | 219 | #### 基础设施部署工具 220 | - Chef 221 | - Puppet 222 | - Ansible 223 | - CloudFormation 224 | 225 | #### 部署策略 226 | - 蓝绿部署 227 | - Immutable Deployment 228 | 229 | #### 自动化策略 230 | - 依赖持续部署流水线 231 | - 基础设施自动化 232 | - 应用部署自动化 233 | 234 | #### 伸缩策略 235 | ##### Scaling Cube 236 | - X轴水平克隆 237 | - Y轴功能性按需伸缩 238 | - Z轴数据分离 239 | 240 | ### 运维实践 241 | #### 监控 242 | ##### 系统监控 243 | - CPU 244 | - 内存 245 | - 磁盘 246 | 247 | ##### 应用监控 248 | - 健康性 249 | - 响应时间 250 | - 关联ID(Correlation ID) 251 | - 业务相关Metrics 252 | 253 | ##### 工具 254 | 255 | ###### SAAS 256 | - NewRelic 257 | - OneAPM 258 | 259 | ###### Hosted 260 | - Nagios 261 | - Zabbix 262 | 263 | 264 | #### 告警 265 | ##### 告警方式 266 | - 电话 267 | - 短信 268 | - 邮件 269 | - 即时通信工具 270 | 271 | ##### 告警级别 272 | - OnCall 273 | - Backup 274 | - Owner 275 | - Leader 276 | 277 | ##### 工具 278 | - Splunk 279 | - Nagois 280 | - PagerDuty 281 | 282 | #### 日志聚合 283 | - 聚合每个服务实例的日志 284 | - 关联相关日志 285 | 286 | ##### 工具 287 | - Splunk 288 | - ELK(ElasticSearch/LogStash/Kabana) 289 | - Fluent 290 | - Flume 291 | -------------------------------------------------------------------------------- /data/map-MobileDev-AndroidArchitect.md: -------------------------------------------------------------------------------- 1 | # Android 架构师技能图谱 2 | 3 | ## 架构与设计 4 | 5 | - 设计模式 6 | - 重构 7 | - 技术选型 8 | - 特性 9 | - 可用性 10 | - 性能 11 | - 包大小 12 | - 方法数 13 | - 文档 14 | - 技术支持 15 | - UI架构模式 16 | - MVC 17 | - MVP 18 | - MVVM 19 | 20 | ## 研发工具 21 | 22 | - 集成开发环境 23 | - Android Studio 24 | - Sublime Text 25 | - 版本控制系统 26 | - svn 27 | - git 28 | - gitlab 29 | - github 30 | - mercurial 31 | - 调试工具 32 | - ADB 33 | - DDMS 34 | - Stetho 35 | - LeakCanary 36 | - ClassyShark 37 | - Postman 38 | - markman 39 | - CodeReview工具 40 | - Gerrit 41 | - Phabricator 42 | - 构建工具 43 | - Gradle 44 | - Buck 45 | - 效率工具 46 | - 番茄钟 47 | - Markdown 48 | - WakaTime 49 | - Focus Matrix 50 | - evernote 51 | - Pocket 52 | 53 | ## 移动安全 54 | 55 | - 代码和资源混淆 56 | - 反编译 57 | - 密钥管理 58 | - 安全编码 59 | - 应用加固 60 | 61 | ## 专项技术 62 | 63 | - App 瘦身 64 | - MultiDex 65 | - 插件化 66 | - 推送技术 67 | - Crash 统计 68 | - 函数式编程 69 | - 启动保护 70 | - 在线热修复 71 | - AOP 72 | - React Native 73 | - Hybrid 74 | - SDK化 75 | - 依赖注入 76 | 77 | ## 软技能 78 | 79 | - 知识管理 80 | - 团队Wiki 81 | - 团队论坛 82 | - 时间管理 83 | - 四象限法则 84 | - 帕累托法则 85 | - 番茄工作法 86 | - 目标管理 87 | - Smart 法则 88 | - 思维导图 89 | - 甘特图 90 | - 项目管理 91 | - 边界思维 92 | - 过程思维(WBS) 93 | - 风险思维 94 | - 干系人思维 95 | - 整合沟通 96 | - 团队管理 97 | - 招聘面试 98 | - 梯队培养 99 | - 技术规划 100 | - 团队规范 101 | - 个人管理 102 | - 技术博客 103 | - 技术分享 104 | - 会议演讲 105 | - 领导力 106 | - 持续学习 107 | 108 | ## 周边技术 109 | 110 | - 产品交互设计 111 | - 后端技术 112 | - HTML5 113 | - iOS 114 | 115 | ## 移动测试 116 | 117 | - 单元测试 118 | - JUnit 119 | - Robolectric 120 | - Mockito 121 | - UI自动化测试 122 | - Monkey 123 | - MonkeyRunner 124 | - UIAutomator 125 | - Robotium 126 | - Espresso 127 | - Appium 128 | - 持续集成 129 | - Jenkins 130 | - Travis CI 131 | - fastlane 132 | - 静态代码扫描 133 | - CheckStyle 134 | - FindBugs 135 | - PMD 136 | - Android Lint 137 | - Infer 138 | 139 | ## 性能优化 140 | 141 | - 启动优化 142 | - 代码优化 143 | - 内存优化 144 | - 电量优化 145 | - 布局优化 146 | - 网络优化 147 | 148 | ## 编程语言 149 | 150 | - Java 151 | - C 152 | - C++ 153 | - Javascript 154 | - Groovy 155 | - Kotlin 156 | 157 | 158 | 159 | 160 | -------------------------------------------------------------------------------- /data/map-MobileDev-AndroidDev.md: -------------------------------------------------------------------------------- 1 | # Android App 开发技能图谱 2 | 3 | ## 操作系统 4 | - Windows/MacOSX/Linux 5 | 6 | ## 编程语言 7 | 8 | - Java 9 | - HTML/JS (Hybrid/Web App) 10 | - C/C++ (NDK) 11 | - SQL (DB) 12 | - Kotlin 13 | 14 | ## 开发工具 15 | 16 | - IDE 17 | 18 | * Android Studio 19 | * Eclipse 20 | 21 | - 调试工具 22 | 23 | * 网络调试 24 | 25 | + Charles 26 | + Wireshark 27 | + Fiddler 28 | + tcpdump 29 | + Paw/Postman 30 | 31 | * 内存分析 32 | 33 | + monitor 34 | + MAT 35 | 36 | * Android tools 37 | 38 | + adb 39 | + draw9patch 40 | + hierarchyviewer 41 | + uiautomatorviewer 42 | 43 | - 版本管理 44 | 45 | * Git 46 | 47 | + Git命令 48 | + Github/GitLab 49 | 50 | * SVN 51 | 52 | - CodeReview 53 | 54 | * Gerrit 55 | * Github pull request 56 | 57 | - Bug/任务管理 58 | 59 | * Redmine 60 | * JIRA 61 | * Bugzilla 62 | * Teambition 63 | * Tower 64 | - 编译工具 65 | 66 | * Gradle 67 | 68 | - 持续集成 69 | 70 | * Jenkins 71 | * Travis CI 72 | 73 | - 应用分发 74 | 75 | * 蒲公英 76 | * fir.im 77 | 78 | ------ 79 | 80 | ## App基础 81 | 82 | - 基本组件 83 | 84 | * Activity 85 | * Service 86 | * Content Provider 87 | * Broadcast Receiver 88 | * Intent/Intent Filter 89 | * App Manifest File 90 | 91 | - UI 92 | 93 | * Layouts 94 | * Widgets 95 | * Resources 96 | * Animations 97 | * 设备适配 98 | 99 | - Connectivity 100 | 101 | * WiFi 102 | * Mobile网络 103 | * 网络状态监听 104 | 105 | - MultiMedia 106 | 107 | * Audio/Video 108 | * Camera/Gallery 109 | 110 | - GPS&Location&Map 111 | 112 | * 系统定位 113 | 114 | + GPS定位 115 | + Network定位 116 | 117 | * 3rd Map定位 118 | 119 | + 百度Map 120 | + 高德Map 121 | 122 | ## App进阶 123 | 124 | - Process&Thread 125 | 126 | * Process 127 | 128 | + Linux进程 129 | + App进程原理 130 | 131 | * AIDL 132 | 133 | + 实现方式 134 | + 原理 135 | 136 | * Handler/Looper/MQ/Thread 137 | 138 | * Loader 139 | 140 | * AsyncTask 141 | 142 | - 性能优化 143 | 144 | * ANR 145 | 146 | * 布局层级性能优化 147 | 148 | - 内存优化 149 | 150 | * 内存检测工具 151 | 152 | * 内存分析工具 153 | 154 | * Bitmap优化 155 | 156 | * 内存泄露查找及分析 157 | 158 | - 网络优化 159 | 160 | * API优化 161 | 162 | * 低网速下优化 163 | 164 | * 流量使用优化 165 | 166 | + 判断当前网络类型 167 | + 使用缓存 168 | 169 | - 单元测试 170 | 171 | ## App高级 172 | 173 | - 相关原理熟悉 174 | 175 | * Activity 176 | 177 | + 启动流程 178 | + 生命周期回调原理 179 | + 与View/Window的关系 180 | + 与Fragment的关系 181 | 182 | * View/Window 183 | 184 | + View/Window关系 185 | + View渲染 186 | + View事件分发处理流程 187 | 188 | * 编译打包 189 | 190 | + 编译打包原理 191 | + 逆向工程分析 192 | + 热修复 193 | 194 | - Hybrid App 195 | 196 | * 与Native App的异同 197 | 198 | * 主流框架 199 | 200 | + PhoneGap 201 | + ionic 202 | + React Native 203 | 204 | - 架构能力 205 | 206 | * 架构 207 | 208 | + MVC 209 | + MVP 210 | + MVVM 211 | + Flux 212 | + Clean Architecture 213 | * App框架 214 | 215 | + 分包 216 | + 分层 217 | 218 | * 设计模式 219 | 220 | + OOD原则 221 | + 常用设计模式运用 222 | 223 | - ART&Dalvik 224 | 225 | * AOT compilation 226 | * GC 227 | * Bytecode&.Dex 228 | 229 | - 自动化测试 230 | 231 | * monkey/monkey runner 232 | * UIAutomator 233 | * Espresso 234 | * Robotium 235 | 236 | ## 扩展学习 237 | 238 | - 响应式编程 239 | 240 | * Rx 241 | 242 | + RxJava 243 | + RxAndroid 244 | + RxBinding 245 | 246 | * Agera 247 | 248 | - 主流开源库 249 | 250 | * 快速开发 251 | 252 | + Android Annotation 253 | + ButterKnife 254 | 255 | * Views 256 | 257 | + 太多 258 | 259 | * HTTP模型 260 | 261 | + Retrofit 262 | + OkHttp 263 | + Volley 264 | 265 | * 图片处理 266 | 267 | + Glide 268 | + Fresco 269 | + Picasso 270 | + UIL 271 | 272 | * 依赖注入 273 | 274 | + Dagger2 275 | 276 | * 数据库 277 | 278 | + ORMLite 279 | + GreenDAO 280 | + Realm 281 | + Sugar 282 | 283 | * 辅助 284 | 285 | + Logger 286 | + LeakCanary 287 | + DbInspector 288 | 289 | 290 | 291 | -------------------------------------------------------------------------------- /data/map-MobileDev-AndroidROMDev.md: -------------------------------------------------------------------------------- 1 | # Android ROM 开发技能图谱 2 | 3 | ## 1. 操作系统 4 | 5 | * Ubuntu(首选) 6 | * MacOSX 7 | 8 | ## 2. 编程语言 9 | 10 | * Java 11 | * JNI(务必掌握) 12 | * C++ 13 | * C 14 | 15 | ## 3. 源码 16 | 17 | ### 3.1 管理方式 18 | 19 | * Codelines/Branches/Releases 20 | * Codenames/Tags/Build Numbers 21 | 22 | ### 3.2 源码地址 23 | 24 | * [官方源码](https://android.googlesource.com) 25 | * [Github镜像](https://github.com/android) 26 | * [高通扩展源码](https://www.codeaurora.org/projects/all-active-projects/android-msm) 27 | * [CM源码](https://github.com/cyanogenmod) 28 | * [MIUI部分源码](https://github.com/MiCode) 29 | 30 | ### 3.3 下载 31 | 32 | * Repo/Git 33 | 34 | ### 3.4 阅读修改工具 35 | 36 | * SourceInsight(首选) 37 | * Eclipse 38 | * Android Studio 39 | 40 | ### 3.5 编译 41 | 42 | * 搭建编译环境 43 | * Makefile编译体系 44 | 45 | ## 4. 层次体系 46 | 47 | ### 4.1 核心Applications 48 | 49 | * Phone/Contacts/MMS 50 | * Camera/Gallery/Music/Video 51 | * Settings 52 | 53 | ### 4.2 Frameworks 54 | 55 | * Telephony 56 | * MultiMedia 57 | * Connectivity 58 | * Window/View/ActivityManager 59 | * Surface/Graphics 60 | 61 | ### 4.3 Native Libs 62 | 63 | ### 4.4 Android Runtime 64 | 65 | * Dalvik 66 | * ART 67 | 68 | ### 4.5 HAL 69 | 70 | ### 4.6 Linux Kernel 71 | 72 | ### 4.7 Driver 73 | 74 | ## 5. 核心系统 75 | 76 | ### 5.1 Audio 77 | 78 | ### 5.2 Bluetooth 79 | 80 | ### 5.3 Camera 81 | 82 | ### 5.4 Media 83 | 84 | ### 5.5 Storage 85 | 86 | * Internal 87 | * External 88 | * OTG 89 | 90 | ### 5.6 Sensor 91 | 92 | ### 5.7 Input 93 | 94 | * EventHub 95 | * Touch 96 | 97 | ### 5.8 Accessories 98 | 99 | ### 5.9 DRM 100 | 101 | ### 5.10 Power 102 | 103 | ### 5.11 Window 104 | 105 | * WindowManager 106 | * View 107 | * ActivityManagerService 108 | 109 | ### 5.12 Telephony 110 | 111 | * Phone 112 | * RIL 113 | * ATCommands 114 | * Modem 115 | 116 | ## 6 辅助技术 117 | ### 6.1 刷机 118 | * fastboot 119 | * unlock 120 | * flash 121 | * bootloader 122 | 123 | ### 6.2 设备分区 124 | 125 | * boot 126 | * system 127 | * vendor 128 | * userdata 129 | * cache 130 | * recovery 131 | * misc 132 | 133 | ### 6.3 product配置 134 | 135 | * Carrier 136 | * File System 137 | * Low RAM 138 | * Runtime Permission(6.0) 139 | * ... 140 | 141 | ### 6.4 调试工具 142 | 143 | * GDB 144 | * Valgrind 145 | * Systrace 146 | * Dumpsys 147 | * Network usage 148 | * RAM usage 149 | 150 | ### 6.5 兼容测试 151 | 152 | * CTS源码下载 153 | * CTS设置和执行 154 | 155 | ### 6.6 OTA升级 156 | 157 | * 升级过程 158 | * 全量升级 159 | * 增量升级 160 | 161 | * 升级优化 162 | * 缩减升级包 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /data/map-MobileDev-iOSDev.md: -------------------------------------------------------------------------------- 1 | # iOS 技能图谱 2 | ## 编程语言 3 | - Swift 4 | - Objective-C 5 | - C++/C 6 | - JavaScript 7 | 8 | ## 操作系统 9 | - Mac OSX 10 | - iOS 11 | - watchOS 12 | - tvOS 13 | - Linux 常用命令 14 | 15 | ## 开发基础 16 | - UI 控件 17 | - Storyboard & Xib 18 | - Core Data & Sqlite 19 | - Core Graphics 20 | - Animation 21 | - Block & GCD 22 | - Test Case 编写 23 | - Framework 24 | - Autolayout 25 | - 手势识别,重力感应 26 | 27 | 28 | ## 开发进阶 29 | - 引用计数 30 | - Runtime 31 | - Runloop 32 | - 对象模型 33 | - Hybrid 34 | - 沙盒机制 35 | - AVFoundation 36 | - Core Text 37 | - 逆向与安全 38 | - class dump 39 | - IDA Pro 40 | - Hopper 41 | - iOS Class Guard 42 | 43 | ##设计模式 44 | - MVC 45 | - MVVM 46 | - 通知 47 | - 代理 48 | - KVO 49 | - 工厂模式 50 | - 命令模式 51 | 52 | ## 函数式编程 53 | - ReactiveCocoa 54 | - RxSwift 55 | 56 | ## 开发工具 57 | - IDE 58 | - Xcode 59 | - AppCode 60 | - 调试工具 61 | - Charles、Wireshark 62 | - Reveal 63 | - Instruments 64 | - 插件 65 | - Alcatraz 66 | - VVDocument 67 | - XVim 68 | - FuzzyAutocompletePlugin 69 | - KSImageNamed-Xcode 70 | - 辅助工具 71 | - xScope 72 | - ImageOptim 73 | - 马克鳗 74 | - Dash 75 | - Deploymate 76 | - FauxPas 77 | - PaintCode 78 | - 命令行工具 79 | - xcodebuild、xcode-select 80 | - nomad 81 | - xctool 82 | - fastlane 83 | - 持续集成 84 | - Jenkins 85 | - Travis CI 86 | - Bot 87 | 88 | ## 开源项目 89 | - AFNetworking & Alamofire 90 | - Masonry 91 | - SDWebImage 92 | - SwiftyJSON 93 | - JSPatch 94 | - React Native 95 | 96 | ## 包管理 97 | - CocoaPods 98 | - Carthage 99 | - Swift Package Manager 100 | 101 | ## App 打包上传与审核 102 | - Apple Developer 网站 103 | - Itunes Connect 网站 104 | - IAP 105 | - 加急审核申请 106 | - 打包脚本 107 | 108 | ## 第三方服务 109 | - 崩溃收集 110 | - Bugly 111 | - Crashlytics 112 | - BugHD 113 | - 数据统计 114 | - Google Analytics 115 | - 友盟 116 | - MTA 117 | - Flurry 118 | - App Annie 119 | - 应用分发 120 | - TestFlight 121 | - 蒲公英 122 | - FIR 123 | 124 | -------------------------------------------------------------------------------- /data/map-MobilePerformanceOptimization.md: -------------------------------------------------------------------------------- 1 | # 移动优化经验 2 | 3 | ## 网络加载 4 | 5 | ### 优化请求 6 | 7 | - 优化请求包大小 8 | 9 | * 代码压缩 10 | 11 | * Gzip压缩 12 | 13 | * 不同网络(2G/3G/4G/wifi)图片尺寸 14 | 15 | * 合理减少Header字段/cookie 16 | 17 | * MTU策略(1500字节) 18 | 19 | * 首屏加载时间控制 20 | 21 | + 3s完成(5s为用户最大容忍度) 22 | 23 | + 网络平均速度(2.71Mb/s = 0.33875MBps(1Mbps=8MBps) = 346.88KBps) 24 | 25 | + 不超过1041KB,经验值200K(考虑打开响应、网络连接至少600ms) 26 | 27 | - 减少请求次数(仅针对HTTP) 28 | 29 | * 合并js、css文件、雪碧图 30 | 31 | + 移动端雪碧图(构建) 32 | 33 | + combo 34 | 35 | * 避免重定向(一次重定向至少600ms) 36 | 37 | * 避免重复资源请求 38 | 39 | * 同时并行请求数量(android:4个,ios 5以后可支持6个) 40 | 41 | - 解耦请求依赖 42 | 43 | * 文件并行加载/依赖执行(构建+模块化) 44 | 45 | * 首屏CGI提前(组件) 46 | 47 | * inline首页必备js/css 48 | 49 | * 异步加载非首屏 50 | 51 | - 连接优化 52 | 53 | * 支持keep-alive 54 | 55 | * 网络时间 56 | 57 | + DNS(2G:3.85785;3G:1.60643;WIFI:0.986921;unknown:1.67838) 58 | 59 | + TCP(2G:2.33482;3G:0.743109;WIFI:0.550208;unknown:1.20898) 60 | 61 | + RTT(2G:2.57478;3G:0.608047;WIFI:0.444332;unknown:1.30601) 62 | + Tran(2G:14.0374;3G:60.1967;WIFI:70.8728;unknown:36.3655) 63 | * DNS Prefetch 64 | * HTTP2/SPDY 65 | * TCP握手/TLS密钥协商 66 | 67 | ### 缓存策略 68 | 69 | - Cache 70 | 71 | * Browser Cache(一年) 72 | 73 | * AppCache(选择) 74 | 75 | * 离线包(native下必须) 76 | 77 | - Web Storage 78 | 79 | * localStorage 80 | 81 | * sessionStorage 82 | 83 | * nativeStorage(native,>=4.6,大数据) 84 | 85 | - Cookie 86 | 87 | - Web DB 88 | 89 | * indexedDB(推荐) 90 | 91 | * Web SQL 92 | 93 | - 合理缓存CGI数据(local/ajax) 94 | 95 | ### 加载策略 96 | 97 | - 首屏加载 98 | 99 | * Server Render(React-Node) 100 | 101 | - 按需加载(组件化) 102 | 103 | - lazyload(图片、组件) 104 | 105 | * 延迟加载图片 106 | 107 | * 滚动加载图片 108 | 109 | - Media Query 110 | 111 | ## 监控上报 112 | 113 | ### H5监控体系 114 | 115 | - 成功/失败率 116 | 117 | * 图片 118 | 119 | * CDN文件 120 | 121 | * CGI 122 | 123 | * 直播/录播播放 124 | 125 | + 加载 126 | 127 | + 断流 128 | 129 | - 测速(2G/3G/4G/wifi、组件) 130 | 131 | * 首屏展示速度(首屏渲染) 132 | 133 | * CGI测速 134 | 135 | * CDN文件测速 136 | 137 | * 图片测速 138 | 139 | * 直播/录播播放 140 | 141 | + 加载 142 | 143 | + 断流 144 | 145 | - 版本覆盖 146 | 147 | * 离线包更新率 148 | 149 | + tdw:版本号、用户、环境等 150 | 151 | * 离线包覆盖率 152 | 153 | + monitor 154 | 155 | - 错误日志 156 | 157 | * badjs 158 | 159 | * tryjs 160 | 161 | - performance 162 | 163 | * timing(ios 8不支持) 164 | 165 | * resouce timing(缓存/非缓存,手机暂不支持) 166 | 167 | ### 视频监控体系 168 | 169 | - 直播播放 170 | 171 | * 视频加载流程监控(playing/paulse/timeupdate) 172 | 173 | + 平均延时 174 | 175 | + 失败率 176 | 177 | * 卡顿缓冲监控(timeupdate) 178 | 179 | + 卡顿缓冲时长 180 | 181 | + 卡顿缓冲次数(短流率) 182 | 183 | * 视频异常监控(onerror) 184 | 185 | + 源文件不存在 186 | 187 | + 取回过程被用户中止 188 | 189 | + 下载时错误 190 | 191 | + 解码时错误 192 | 193 | + 不支持的音视频 194 | 195 | + 其他cgi请求异常引起的错误等 196 | 197 | - 录播 198 | 199 | * 视频加载流程监控(playing/paulse/timeupdate) 200 | 201 | + 平均延时 202 | 203 | + 失败率 204 | 205 | * 卡顿缓冲监控(timeupdate) 206 | 207 | + 卡顿缓冲时长 208 | 209 | + 卡顿缓冲次数(短流率) 210 | 211 | * 视频异常监控(onerror) 212 | 213 | + 源文件不存在 214 | 215 | + 取回过程被用户中止 216 | 217 | + 下载时错误 218 | 219 | + 解码时错误 220 | 221 | + 不支持的音视频 222 | 223 | + 其他cgi请求异常引起的错误等 224 | 225 | * 单位录播时长等待监控 226 | 227 | + 录播播放时长 228 | 229 | + 下载等待时长 230 | 231 | ## SEO 232 | 233 | - keywords/description 234 | 235 | - 合理减少pages数量 236 | 237 | - 减少图片/flash/弹窗 238 | 239 | - 外链权重不高 240 | 241 | - canonical/alternate 242 | 243 | - 提交sitemap 244 | 245 | ## 渲染优化 246 | 247 | ### HTML 248 | 249 | - HTML meta viewport(可以加速页面渲染) 250 | 251 | - 优化DOM tree 252 | 253 | * 减少html标签,避免不必要的嵌套 254 | 255 | * 避免table 256 | 257 | * 减少DOM深度 258 | 259 | - 减少DOM渲染 260 | 261 | * VirtualDOM(React) 262 | 263 | * React-Native 264 | 265 | ### 动画 266 | 267 | - 合理使用requestAnimationFrame 268 | 269 | - 尽量使用css3 270 | 271 | - 合理使用Canvas代替多DOM tree(5个) css3 272 | 273 | - 高频事件(touchmove、scroll) lazy化(debounce.js) 274 | 275 | - GUP渲染 276 | 277 | * 大量的渲染(Canvas、WebGL、Video) 278 | 279 | * 3D Transformed(transitions、3D transforms) 280 | 281 | * Animated css属性(filters, masks, blend modes, reflections, opacity) 282 | 283 | * position: fixed 284 | 285 | * content overlapping existing GPU-rendered bitmaps 286 | 287 | ### repaint/reflow 288 | 289 | - 避免重新设置图片大小 290 | 291 | - 避免频繁的触发repaint/reflow 292 | 293 | ## 文件优化 294 | 295 | ### css样式 296 | 297 | - 避免style标签 298 | 299 | - 去掉expression 300 | 301 | * 移除空的(多余的)选择器 302 | 303 | - 合理使用Float 304 | 305 | - 合理使用iconfont 306 | 307 | - 值为0的属性不带单位(兼容性、压缩自动处理) 308 | 309 | - 标准化浏览器前缀(构建) 310 | 311 | - 减少font-size的申明(增加浏览器渲染计算) 312 | 313 | - 异步css文件换成js文件(构建) 314 | 315 | ### js脚本 316 | 317 | - 框架组件选择(zepto/react/vue/angular) 318 | 319 | - 使用documentFragment(zepto已解决) 320 | 321 | - 事件优化 322 | 323 | * 事件代理 324 | 325 | * 频繁事件优化 326 | 327 | * touchsatrt、touchend(tap)代替click 328 | 329 | - 使用mqqapi(http://mqq.oa.com/) 330 | 331 | - id选择器 332 | 333 | - 合理缓存对象(DOM、js对象、length) 334 | 335 | - 慎用with 336 | 337 | - 避免eval、Function 338 | 339 | - 使用Join 340 | 341 | ### 图片文件 342 | 343 | - 图片大小 344 | 345 | * 压缩工具 346 | 347 | + 优图(tu.oa.com) 348 | 349 | + 智图(zhitu.tencent.com) 350 | 351 | + grunt插件 352 | 353 | * 图片格式 354 | 355 | + webP 356 | 357 | + sharpP 358 | 359 | - 减少图片使用 360 | 361 | * css画图 362 | 363 | * svg画图 364 | 365 | * 合理iconfont代替图片(最后的选择) 366 | 367 | * 避免使用bmp图片 368 | 369 | - srcset + sizes(兼容性) 370 | 371 | - 图片格式(webp > jpg > png(png8 > png24) > gif) 372 | 373 | - 图片大小限制(10K,不超过30K) 374 | 375 | - 图片尺寸限制 376 | 377 | 378 | 379 | 380 | 381 | 382 | -------------------------------------------------------------------------------- /data/map-MobileWirelessTesting.md: -------------------------------------------------------------------------------- 1 | # 移动无线测试技能图谱 2 | 3 | ## 常用IDE 4 | - Android 5 | * ADT 6 | * Android Studio 7 | - iOS 8 | * Xcode 9 | - Common 10 | * Atom 11 | * Sublime Text 12 | * Vim 13 | * Visual Studio Code 14 | 15 | ## 基础知识 16 | - Android 17 | * 掌握Android开发基础技能 18 | - iOS 19 | * 掌握iOS开发基础技能 20 | - Web 21 | * 掌握Web开发基础技能 22 | - api 23 | * 掌握api相关基础知识 24 | - 测试 25 | * 掌握基本的测试用例设计方法和思想 26 | 27 | ## 常见应用模式 28 | - Native 29 | - Hybrid 30 | - H5 App 31 | - ReactNative 32 | 33 | ## 常用工具 34 | - Android 35 | * Android sdk manager 36 | * adb 37 | * ddms 38 | * ant 39 | * aapt 40 | * emulator 41 | * Genymotion 42 | * hierarchyviewer 43 | * monitor 44 | * monkey 45 | * monkeyrunner 46 | * uiautomatorviewer 47 | - iOS 48 | * lldb 49 | * iExplorer 50 | * libimobiledevice 套件 51 | * codesign 52 | * instruments 53 | * xcodebuild 54 | * atos 55 | * xcrun 56 | 57 | ## 常用UI Automation框架 58 | - Android 59 | * Instrumentation 60 | * Athrun 61 | * Robotium 62 | * Monkey 63 | * Monkeyrunner 64 | * uiautomator 65 | * Selendroid 66 | * Calabash*Android 67 | * monkeytalk 68 | * Appium 69 | * Espresso 70 | * cafe 71 | - iOS 72 | * UIAutomation(旧) 73 | * XCUITesting 74 | * KIF 75 | * Frank 76 | * Appium 77 | * ios-driver 78 | * Mechanic.js 79 | * monkeytalk 80 | * Calabash*iOS 81 | * TuneupJs 82 | * ynm3k 83 | - Appium 84 | - Macaca 85 | 86 | 87 | ## 常用单元测试框架 88 | - Android 89 | * robolectric 90 | * Instrumentation 91 | * Mockito 92 | * RxJava 93 | - iOS 94 | * OCUnit 95 | * GHUnit 96 | * XCTest 97 | * OCMock 98 | * OCMockito 99 | * Expecta 100 | * OCHamcrest 101 | 102 | ## 常用动态更新 103 | - ReactNative 104 | - waxpatch/wax 105 | - ota 106 | 107 | ## 常用性能工具 108 | 109 | ### 抓包 110 | - Charles 111 | - fiddler 112 | - burpsuites 113 | - tcpdump 114 | - anyproxy 115 | 116 | ### 弱网模拟 117 | - iOS developer mode 118 | - ATC 119 | - Charles 120 | 121 | ### memory 122 | - Android 123 | * MAT 124 | * ddms 125 | * Memory Monitor 126 | * Allocation Tracker 127 | * LeakCanary 128 | * dumpsys 129 | * procrank 130 | * top 131 | - iOS 132 | * Memory Leaks 133 | 134 | ### Scan 135 | - Android 136 | * findbugs 137 | * lint 138 | * infer 139 | * CheckStyle 140 | * PMD 141 | - iOS 142 | * scan*build 143 | * oclint 144 | * infer 145 | * deployment 146 | 147 | ### other 148 | - Common 149 | * 安捷伦 150 | * tcpdump 151 | * wireshark 152 | * 高速(慢速)摄像机 153 | * 埋点 154 | * 腾讯GT 155 | * 网易Emmagee 156 | - Android 157 | * gfxinfo 158 | * dumpsys 159 | * traceview 160 | * systrace 161 | * GameBench 162 | * battery*historian 163 | - iOS 164 | * Core Animation(instruments) 165 | * Network(instruments) 166 | * TimeProfiler(instruments) 167 | * Zombies(instruments) 168 | 169 | ## 安全 170 | - Android 171 | * Drozer 172 | * apktool 173 | * dex2jar 174 | * proguard 175 | * 加固 176 | * exported/permission 177 | * AndBug 178 | * androguard 179 | * Xposed 180 | 181 | - iOS 182 | * IDB 183 | * iRET 184 | * DVIA 185 | * LibiMobileDevice 186 | * otool 187 | 188 | ## 覆盖率 189 | - Android 190 | - Jacoco 191 | - EMMA 192 | - iOS 193 | - gcov 194 | 195 | ## 动态更新 196 | - Android 197 | - Dexposed(二次开发之后) 198 | - Robust 199 | - android-frontia 200 | - Nuwa 201 | - HotFix 202 | - RocooFix 203 | - DroidFix 204 | - AndFix 205 | - iOS 206 | - JSPatch 207 | - WaxPatch 208 | - ota 209 | - ReactNative 210 | - weex 211 | 212 | ## abtest 213 | - AB Tester 214 | - AppAdhocOptimizer 215 | - Google Website Optimizer 216 | - Visual Website Optimizer 217 | 218 | ## 常用灰度测试工具 219 | - testflight 220 | - 蒲公英 221 | - fir 222 | - pre 223 | 224 | ## 常用云测平台 225 | - testin 226 | - MQC 227 | - MTC 228 | 229 | ## 常用持续集成平台/相关工具 230 | - Jenkins 231 | - Travis CI 232 | - Android 233 | * mvn 234 | * gradle 235 | - iOS 236 | * xctool 237 | * Cocoapods 238 | 239 | 240 | ## 多语言开发应用 241 | - SL4A 242 | - gomobile 243 | 244 | 245 | ## 多设备远程管理平台 246 | - STF 247 | 248 | ## 自动遍历工具 249 | - AppCrawle 250 | 251 | ## 软技能 252 | - 知识管理/总结分享 253 | - 沟通技巧/团队协作 254 | - 需求管理/PM 255 | - 交互设计/可用性/可访问性知识 256 | - 快速的学习能力 257 | -------------------------------------------------------------------------------- /data/map-OpenResty.md: -------------------------------------------------------------------------------- 1 | # OpenResty 技术图谱 2 | 3 | ## Basic Concepts 4 | - HTTP / HTTP2 5 | - RESTful API & API GateWay 6 | - Microservice 7 | - Domain Specific Language(DSL) 8 | - C10K & C1M 9 | - non-blocking & asynchronous I/O 10 | - event loop 11 | - I/O mutiplexing 12 | - Streaming processing 13 | - coroutine 14 | - Test Driven Development(TDD) 15 | 16 | ## Around Tech Stack 17 | - MySQL 18 | - PostgreSQL 19 | - Redis 20 | - OpenSSL 21 | - regex 22 | - sregex 23 | 24 | ## Testing 25 | - TDD & Unit Testing 26 | - Test::Nginx 27 | - curl & ab & wrk 28 | 29 | ## Debugging 30 | - debugging log 31 | - core dump 32 | - Dynamic Tracing 33 | - SystemTap 34 | - Flame Graph 35 | - on-CPU & off-CPU 36 | - nginx-systemtap-toolkit 37 | - stapxx 38 | - nginx-gdb-utils 39 | - valgrind 40 | 41 | ## Caching 42 | - ngx.shared.DICT 43 | - lua-resty-lrucache 44 | - dog-pile effect 45 | - lua-resty-lock 46 | - lua-resty-shcache 47 | - ngx_srcache 48 | 49 | ## Limiting Traffic 50 | - lua-resty-limit-traffic 51 | - limit-count 52 | - limit-rate 53 | - limit-concurrency 54 | 55 | ## NGINX 56 | - log 57 | - static file 58 | - load balancer 59 | - proxy 60 | - phase 61 | - tuning for performance 62 | - if is evil 63 | - Stream module 64 | 65 | ## LuaJIT 66 | - Standard Lua 67 | - JIT(Just-In-Time Compiler) 68 | - NYI (Not Yet Implemented) 69 | - ffi.\* API 70 | - jit.\* Library 71 | 72 | ## ngx\_lua 73 | - directives 74 | - NGINX API for Lua(ngx.\*,tcpsock.\*,coroutine.\*) 75 | - resty-core 76 | - semaphore 77 | - balancer\_by\_lua 78 | - ssl\_certificate\_by\_lua 79 | - stream-lua-nginx-module 80 | - cosocket TCP/UDP 81 | - hot load lua code 82 | - OPM 83 | - resty client 84 | 85 | ## Resources 86 | - awesome-resty 87 | -------------------------------------------------------------------------------- /data/map-SecurityEngineer.md: -------------------------------------------------------------------------------- 1 | # 安全工程师技能图谱 2 | 3 | ## 基础必备 4 | 5 | ### HTTP抓包与调试 6 | - Firefox插件 7 | - Firebug(抓包与各种调试) 8 | - Tamper Data(拦截修改) 9 | - Live Http Header(重放功能) 10 | - Hackbar(编码解码/POST提交) 11 | - Modify Headers(修改头部) 12 | 13 | - Fiddler 14 | - 浏览器代理神器 15 | - 拦截请求或响应 16 | - 抓包 17 | - 重放 18 | - 模拟请求 19 | - 编码解码 20 | - 第三方扩展 21 | - Watcher(Web前端安全的自动审计工具) 22 | 23 | - Wireshark(各种强大的过滤器语法) 24 | - Tcpdump(命令行的类Wireshark抓包神器) 25 | - Python 26 | - urllib2 27 | 28 | ### 跳转 29 | 30 | - 服务端跳转 31 | - 302 32 | - 301 33 | - u=urllib2.urlopen(url)后,u.url能得到服务端跳转后的地址 34 | 35 | - 客户端跳转 36 | 37 | ### Office 能力 38 | - Word 39 | - Excel 40 | - PPT 41 | - yEd 42 | - Visio 43 | - FreeMind 44 | 45 | ### Linux 基础 46 | - 《鸟哥的Linux私房菜》 47 | 48 | ### Vim 基础 49 | - [简明 Vim 练级攻略](http://coolshell.cn/articles/5426.html) 50 | 51 | ### Python 基础 52 | - [官方文档](https://www.python.org/dev/peps/pep-0008/) 53 | - [笨办法学 Python](http://learnpythonthehardway.org/book) 54 | - 《Python 核心编程2》 55 | 56 | ### 算法 57 | - 快排 58 | - 二分 59 | 60 | ### 正则表达式 61 | - 调试工具 62 | - Kodos 63 | - RegexBuddy 64 | - Regexper 65 | - [《正则表达式 30 分钟入门教程》](http://deerchao.net/tutorials/regex/regex.htm) 66 | - [《Python 正则表达式操作指南》](http://wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97) 67 | - 《精通正则表达式》 68 | 69 | ### 研发能力 70 | - 瀑布模型 71 | - 需求->需求分析->设计->开发->测试->上线->运维/运营 72 | - 需求分析能力 73 | - 调试能力 74 | - 定位 Bug 75 | - 专业的工具与经验配合 76 | - 真实模拟调试 77 | - 缩小范围 78 | - 构建自己的测试样例 79 | - 关联模块一个个排除 80 | - Python单步调试 81 | - 粗暴调试:print 82 | - 敏捷思想 83 | - 快速迭代 84 | - 任务拆细 85 | - v1原则:定义目标,优先完成v1 86 | - 习惯 Wiki 记录 87 | 88 | ### 翻墙技能 89 | 90 | ## Web安全 91 | 92 | ### Web服务组件 93 | - ![Web 服务组件层级图](http://blog.knownsec.com/Knownsec_RD_Checklist/res/web_component.png) 94 | - [钟馗之眼](http://zoomeye.org) 95 | 96 | ### 安全维度 97 | - 漏洞 98 | - 风险 99 | - 事件 100 | 101 | ### Web安全标准 102 | - OWASP 103 | - WASC 104 | 105 | ### 实战环境 106 | - XSS 107 | - SQL 108 | - i春秋 109 | - Sebug + ZoomEye 110 | 111 | ## 工具 112 | ### Firefox 113 | - Firebug(调试JavaScript,HTTP请求响应观察,Cookie,DOM树观察等) 114 | - Tamper Data(拦截修改) 115 | - Live Http Header(重放功能) 116 | - Hackbar(编码解码/POST提交) 117 | - Modify Headers(修改头部) 118 | - [GreaseMonkey](http://userscripts.org/scripts/show/119798) 119 | - NoScript(进行一些JavaScript的阻断) 120 | - AutoProxy(翻墙必备) 121 | 122 | ### Chrome 123 | - F12(开发者工具,功能==Firebug+本地存储观察等) 124 | - SwichySharp(翻墙必备) 125 | - [CookieHacker](http://evilcos.me/?p=366) 126 | 127 | ### Web2.0 Hacking 128 | - [XSS'OR](http://evilcos.me/lab/xssor/) 129 | - [XSSEE 3.0 Beta](http://evilcos.me/lab/xssee/) 130 | - [Online JavaScript beautifier](http://jsbeautifier.org/) 131 | - [BeEF](http://beefproject.com/) 132 | 133 | ### HTTP代理 134 | - Fiddler(经典Web调试代理工具) 135 | - Burp Suite(神器) 136 | - mitmproxy 137 | 138 | ### 漏洞扫描 139 | - AWVS 140 | - Nmap 141 | - Python自写脚本/工具 142 | 143 | ### 漏洞利用 144 | - sqlmap(SQL注入利用最牛神器) 145 | - Metasploit(最经典的渗透框架) 146 | - Hydra(爆破必备) 147 | 148 | ### 抓包工具 149 | - Wireshark(抓包必备) 150 | - Tcpdump(Linux下命令行抓包) 151 | 152 | ### Sebug + ZoomEye 153 | 154 | ### Kali Linux 155 | ### 书籍资料 156 | - 《黑客攻防技术宝典(Web实战篇)》 157 | - 《白帽子讲Web安全》 158 | - 《Web前端黑客技术揭秘》 159 | - 《Web之困》 160 | - 《SQL注入攻击与防御》 161 | - papers 162 | - [exploit-db.com/papers](http://www.exploit-db.com/papers/) 163 | - BlackHat/Defcon/XCon/KCon/国内各安全沙龙 164 | 165 | ## 嵌入式安全 166 | 167 | ### 路由器安全 168 | - 基础 169 | - 嵌入式Linux系统方面知识 170 | - 开发系统互联参考模型-第三层网络层 171 | - MIPS/ARM汇编知识 172 | - VxWorks系统方面知识 173 | - JTAG调试接口规范 174 | - 嵌入式系统交叉环境开发 175 | - 路由器芯片方案提供商 176 | - 博通 177 | - Atheros 178 | - TrendChip 179 | - ACROSPEED 180 | - IC+ 181 | - 瑞昱 182 | - ... 183 | - 站点 184 | - [OpenWrt.org](https://www.openwrt.org/) 185 | - [routerpwn.co](http://routerpwn.com/) 186 | - [see.sl088.com(Uboot_编译)](http://see.sl088.com/wiki/Uboot_%E7%BC%96%E8%AF%91) 187 | - [devttys0.com](http://www.devttys0.com/) 188 | 189 | - 工具 190 | - Binwalk 191 | - IDA Pro 192 | - gdb/gdbserver 193 | - qemu-system 194 | - qemu-user-static 195 | - Smiasm 196 | - Metasm 197 | - JTAG硬件调试器 198 | 199 | ### 摄像头安全 200 | - [openipcam](http://www.openipcam.com/) 201 | - [US-13-Heffner-Exploiting-Network-Surveillance-Cameras-Like-A-Hollywood-Hacker-Slides.pdf](https://media.blackhat.com/us-13/US-13-Heffner-Exploiting-Network-Surveillance-Cameras-Like-A-Hollywood-Hacker-Slides.pdf) 202 | 203 | ### 工控安全 204 | 205 | #### 基础 206 | - 工业生产环境的基本结构,如:SCADA、PCS 207 | - 工业生产环境的信息安全风险点(可参考DHS出版物) 208 | - 工控网络组态、逻辑开发、应用组态的基本技术方法 209 | - 抓包、看RFC分析几个常规工业以太网协议,如:Profinet、Modbus 210 | - 熟悉 PLC(记得买以太网模块) 211 | 212 | #### 站点 213 | - 事件跟踪分析 214 | - [plcscan.org](http://plcscan.org/blog/ ) 215 | - [scadastrangelove.blogspot.kr](http://scadastrangelove.blogspot.kr) 216 | - [phdays.com](http://www.phdays.com/) 217 | - [scadasl.org](http://www.scadasl.org) 218 | - [scadahacker.com](https://scadahacker.com) 219 | - [Duqu](https://scadahacker.com/resources/duqu.html) 220 | - [Stuxnet](https://scadahacker.com/resources/stuxnet.html) 221 | - [Havex](https://scadahacker.com/resources/havex.html) 222 | - 标准协会/测试工具 223 | - [DHS CET套件](http://ics-cert.us-cert.gov/Assessments) 224 | - [NERC ES-ISAC](http://www.esisac.com/SitePages/Home.aspx) 225 | - [ICS-ISAC](http://ics-isac.org) 226 | - [NTSB美国国家工控测试床](http://energy.gov/oe/downloads/common-cyber-security-vulnerabilitiesobserved-control-system-assessments-inl-nstb) 227 | - [NIST SP 800-82](http://csrc.nist.gov/publications/nistpubs/800-82/SP800-82-final.pdf) 228 | - [ISA-99控制系统安全协会](http://isa99.isa.org/ISA99%20Wiki/Home.aspx) 229 | - [NERC CIP标准](http://www.nerc.com/pa/Stand/Pages/ReliabilityStandards.aspx) 230 | 231 | #### 工具 232 | - 仿真类 233 | - 电力仿真软件testhaness 234 | - Modbus仿真软件ModScan 235 | - 电力104协议仿真软件PMA 236 | - 测试类 237 | - Wurldtech Achilles 238 | - Codenomicon Defensics 239 | - Spirent 240 | - BPS 241 | - 源代码 242 | - 发现 243 | - [plcscan](https://code.google.com/p/plcscan/) 244 | - [modscan](https://code.google.com/p/modscan/) 245 | - [scan7](https://github.com/arnaudsoullie/scan7) 246 | - [atimorin](https://github.com/atimorin) 247 | - [Redpoint](https://github.com/digitalbond/Redpoint) 248 | 249 | - 操纵 250 | - [modbus](https://www.scadaforce.com/modbus) 251 | - [pymodbus](https://github.com/bashwork/pymodbus) 252 | - [modbus-cli](https://rubygems.org/gems/modbus-cli) 253 | - [libnodave](http://libnodave.sourceforge.net) 254 | - [dnp3](https://code.google.com/p/dnp3) 255 | - 异常监测 256 | - [snort-292-scada-preprocessors](http://blog.snort.org/2012/01/snort-292-scada-preprocessors.html) 257 | - [quickdraw](http://www.digitalbond.com/tools/quickdraw/) 258 | - [Fuzz](https://github.com/jseidl/peach-pit/blob/master/modbus/modbus.xml) 259 | 260 | #### 其他 261 | - [ZoomEye工控专题](http://ics.zoomeye.org/) 262 | - [Shodan工控专题](https://www.shodan.io/report/l7VjfVKc) 263 | - [网络空间工控设备的发现与入侵](https://github.com/evilcos/papers/blob/master/网络空间工控设备的发现与入侵.ppt) 264 | 265 | ### zoomeye.org 266 | - [全球可以找到无数真实路由器/摄像头/工控设备等](http://www.zoomeye.org/search?q=app:%22MikroTik%20RouterOS%22&from=dork) 267 | 268 | ## 研发清单 269 | #### 编码环境 270 | - pip 271 | - Vagrant 272 | - tmux/screen 273 | - vim 274 | - Markdown 275 | - zsh + oh-my-zsh 276 | - Python2.7 277 | - [Django1.4](http://djangobook.py3k.cn/2.0/) 278 | - [Django Debug Toolbar](http://django-debug-toolbar.readthedocs.org/en/latest/) 279 | - 其他框架 280 | - web.py 281 | - Flask 282 | - Tornado 283 | - node.js 284 | - Ubuntu/Gentoo/Centos 285 | - ipython 286 | - 版本控制 287 | - 废弃SVN,全面拥抱Git 288 | - GitLab 289 | - Nginx+uWSGI 290 | 291 | 292 | #### Python 293 | - 官方手册 294 | 295 | #### Linux/UNIX 296 | - 书 297 | - 《鸟哥的Linux私房菜》 298 | - 《Linux Shell脚本攻略》 299 | - 《UNIX编程艺术》 300 | - 《Software Design 中文版》(01/02/03版) 301 | - Linux 作为电脑默认操作系统 302 | 303 | #### 前端 304 | - 了解 DOM 305 | - 《JavaScript DOM编程艺术》 306 | - 前端安全必要基础 307 | - 库 308 | - jQuery 309 | - D3.js 310 | - ECharts 311 | - Google API 312 | - ZoomEye Map组件 313 | - AngularJS 314 | - Bootstrap 315 | 316 | #### 爬虫进阶 317 | - 代理池 318 | - 网络请求 319 | - wget/curl 320 | - urllib2/httplib2/requests 321 | - idea scrapy 322 | - 验证码破解 323 | - pytesser 324 | 325 | #### 调度 326 | - crontab是最原生的定时调度 327 | - 基于redis实现的分布式调度 328 | - 基于rpyc实现的分布式调度 329 | - celery/gearman等调度框架 330 | 331 | #### 并发 332 | - 线程池 333 | - 协程 334 | - gevent 335 | - 多进程 336 | - os.fork 337 | - idea multiprocessing 338 | 339 | #### 数据结构 340 | - JSON 341 | - cPickle 342 | - protobuf 343 | 344 | #### 数据存储及处理 345 | - 数据库 346 | - MySQL 347 | - MongoDB 348 | - Cassandra 349 | - Hadoop体系 350 | - Redis 351 | - Sqlite 352 | - bsddb 353 | - ElasticSearch 354 | - 大数据处理 355 | - Hive 356 | - Spark 357 | - ELK 358 | - ElasticSearch 359 | - Logstash 360 | - Kibana 361 | 362 | #### DevOps 363 | - SSH证书 364 | - Fabric 365 | - SaltStack 366 | - puppet 367 | - pssh/dsh 368 | - 运维进阶 369 | 370 | #### 调试 371 | - pdb 372 | - logging 373 | - Sentry 374 | - strace/ltrace 375 | - lsof 376 | - 性能 377 | - Python内 378 | - timeit 379 | - cProfile 380 | - [Python性能分析指南](http://www.oschina.net/translate/python-performance-analysis) 381 | - Python外 382 | - top/htop/free/iostat/vmstat/ifconfig/iftop... 383 | 384 | #### 算法 385 | - 分词 386 | - 贝叶斯 387 | - 神经元 388 | - 遗传算法 389 | - 聚类/分类 390 | - ... 391 | 392 | #### 持续集成 393 | - 自测试 394 | - nose 395 | - Jenkins 396 | 397 | #### 安全 398 | - [《程序员与黑客》](http://www.infoq.com/cn/presentations/programmers-and-hackers) 399 | 400 | #### 协作 401 | - Trello/Slack/Tower/微信/立会 402 | 403 | ## 设计思想 404 | - 人人都是架构师:具备架构思想是一件多酷的事 405 | - 实战出真知 406 | - 如何设计 407 | - [任务架构设计变迁](http://blog.knownsec.com/Knownsec_RD_Checklist/res/arch_design_evolution.pdf) 408 | - 松耦合、紧内聚 409 | - 单元与单元属性 410 | - 生产者与消费者 411 | - 结构 412 | - 队列 413 | - LRU 414 | - 分布式 415 | - 存储 416 | - 计算 417 | - 资源考虑 418 | - CPU 419 | - 内存 420 | - 带宽 421 | - 粗暴美学/暴力美学「run it优先」 422 | - 大数据,找到规律 423 | - 打通整体,洞察问题 424 | - 摆脱繁枝末节的束缚 425 | - 快速迭代出伟大的v1 426 | - 一个字总结 —— 美 427 | 428 | ## 牛人1,2,3 429 | - 1研究:有足够洞察力 430 | - 2研发:Hack Idea 自己有魄力实现 431 | - 3工程:需要实战、需要工程化 432 | 433 | ## 移动安全 434 | ## 系统安全 435 | ## 反病毒 436 | ## 云安全 437 | - DDOS 438 | - 接口安全 439 | - 验证 440 | - 越权 441 | - 校验 442 | 443 | 444 | 445 | -------------------------------------------------------------------------------- /data/map-Serverless.md: -------------------------------------------------------------------------------- 1 | # Serverless技能图谱 2 | 3 | ## 开源实现 4 | 5 | - [Apache OpenWhisk](https://openwhisk.apache.org) 6 | - [KNative](https://knative.dev/) 7 | - [OpenFaaS](https://www.openfaas.com/) 8 | - [Kubeless](https://kubeless.io/) 9 | - [Fn](https://fnproject.io) 10 | - [Riff](https://projectriff.io) 11 | - [Nuclio](https://nuclio.io/) 12 | 13 | ## 商业平台 14 | 15 | - [AWS Lambda](https://aws.amazon.com/lambda) 16 | - [AWS Fargate](https://aws.amazon.com/cn/fargate) 17 | - [AZure Functions](https://azure.microsoft.com/en-us/services/functions) 18 | - [Google Cloud Functions](https://cloud.google.com/functions) 19 | - [Google Cloud Run](https://cloud.google.com/run) 20 | - [IBM Cloud Functions](https://www.ibm.com/cloud/functions) 21 | - [阿里云 Function Compute](https://www.alibabacloud.com/product/function-compute) 22 | - [阿里云 Elastic Container Instance](https://www.aliyun.com/product/eci) 23 | - [腾讯云 Serverless Cloud Function](https://intl.cloud.tencent.com/product/scf) 24 | - [华为云 FunctionStage](www.huaweicloud.com/en-us/product/functionstage.html) 25 | 26 | ## 开发工具 27 | 28 | - [Event Gateway](https://github.com/serverless/event-gateway) 29 | - [IOpipe](https://github.com/iopipe/) 30 | - [Node Lambda](https://github.com/motdotla/node-lambda) 31 | - [Python-λ](https://github.com/nficano/python-lambda) 32 | - [Virtual Kubelet](https://virtual-kubelet.io) 33 | 34 | ## 代码框架 35 | 36 | - [AWS SAM](https://aws.amazon.com/serverless/sam) 37 | - [Flogo](https://www.flogo.io) 38 | - [Serverless Framework](https://serverless.com/) 39 | - [Spring Cloud Function](https://spring.io/projects/spring-cloud-function) 40 | 41 | ## 服务网格 42 | 43 | - [Istio](https://istio.io) 44 | - [Linkerd2](https://linkerd.io) 45 | - [SofaMesh](https://www.sofastack.tech/projects/sofa-mesh/overview/) 46 | - [Envoy](https://www.envoyproxy.io) 47 | - [Nginmesh](https://github.com/nginxinc/nginmesh) 48 | - [Aspen Mesh](https://aspenmesh.io) 49 | 50 | ## 开源规范 51 | 52 | - [Service Mesh Interface](https://smi-spec.io) 53 | - [Cloud Events](https://cloudevents.io/) 54 | -------------------------------------------------------------------------------- /data/map-dns-troubleshoot.md: -------------------------------------------------------------------------------- 1 | # DNS排查技术图谱 2 | 3 | ## 应用程序视角 4 | - 应用程序 5 | - 浏览器 6 | - hostname cache 7 | - ping 8 | - 操作系统 9 | - hostname cache 10 | - 域名解析器 11 | - dig domain 12 | - 本网DNS转发器 13 | - 无线路由 14 | - dig@gateway_ip domain 15 | - Local DNS 16 | - dig@localdns domain 17 | - 全球DNS系统 18 | - 根root“.” 19 | - 顶级域名 TLD 20 | - gTLD 21 | - ccTLD 22 | - 二级域名 SLD 23 | - 主机域名 24 | - Here! 25 | - dig+trace domain 26 | ## 操作系统视角 27 | - 配置来源 28 | - 配置 29 | - 自动 30 | - DHCP 31 | - PPPOE 32 | - VPN 33 | - 无线路由 34 | - 手工 35 | - 角色 36 | - 首选DNS 37 | - 备用DNS 38 | - ... 39 | - 附加域名后缀? 40 | - 不附加 41 | - FQDN 42 | - 附加 43 | - 默认.Local 44 | - 强制不附加后缀 45 | - FQDN 46 | - 主机名后添加“.”结尾 47 | - 一般*NIX环境 48 | - /etc/nsswitch.conf 49 | - [wins][nis][nisplus]... 50 | - dns 51 | - /ect/resolv.conf 52 | - Here! 53 | - /ect/host.conf(旧) 54 | - [nis] 55 | - bind 56 | - /etc/resolv.conf 57 | - Here! 58 | - 一般优先选择 59 | - Windows环境 60 | - 一般顺序 61 | - Checks it's own name 62 | - Local hostname cache 63 | - HOSTS file 64 | - DNS 65 | - Here! 66 | - NetBIOS name cache 67 | - [WINS] 68 | - 开启wins 69 | - 关闭wins 70 | - Broadcast 71 | - LMHOSTS 72 | - 参考 73 | - https://technet.microsoft.com/zh-cn/library/bb457118.aspx 74 | 75 | ## 域名注册视角 76 | - 根 77 | - 管理机构ICANN 78 | - TLD注册 79 | - TLD 80 | - 所属 81 | - gTLD 82 | - ICANN指定 83 | - ccTLD 84 | - 一般XX国家信息中心 85 | - 管理 86 | - 注册局 87 | - 注册代理(SLD) 88 | - Here! 89 | - SLD 90 | - 所属 91 | - 域名所有者(个人、组织) 92 | - 管理 93 | - 自建 94 | - 托管 95 | - Host 96 | - Here! 97 | - 注册代理 98 | - 注册局 99 | - whois db 100 | - 域名注册信息 101 | - Here! 102 | - TLDzone 103 | - 域名的NS 104 | - Here! 105 | - Glue A 106 | 107 | ## 国际域名视角 108 | - 即IDN域名 109 | - 中文 110 | - 繁体 111 | - 简体 112 | - 阿拉伯文 113 | - ... 114 | - 浏览器角色 115 | - IDN》unycode编码》普通域名 116 | - Here! 117 | - DNS角色 118 | - 普通域名 119 | 120 | ## 域名配置 121 | - zone 122 | - RR资源记录 123 | - 域名 124 | - 资源类型 125 | - Rdate 资源数据 126 | - Here! 127 | - TTL 128 | - 查询结论 129 | - zone之外 130 | - 拒绝+空 131 | - 没有目标域名 132 | - NXDomain+SOA 133 | - 存在域名但缺少相应的资源类型 134 | - NOERROR+SOA 135 | - 直接找到目标 136 | - NOERROR+目标RR 137 | - Here! 138 | 139 | ## 一般开发视角 140 | - gethostbyname系列 141 | - hostname来源 142 | - 自己的Hostname 143 | - NIS 144 | - SMB 145 | - NetBIOS 146 | - DNS 147 | - Here! 148 | - ... 149 | - addr 150 | - IPv6(如果允许默认优先) 151 | - IPv4 152 | - ... 153 | - 操作系统 154 | - GNU Linux glibc 155 | - Windows winsock 156 | - Linux Windows Android... 157 | - JVM 158 | 159 | -------------------------------------------------------------------------------- /data/map-testing.md: -------------------------------------------------------------------------------- 1 | # 测试技能图谱 2 | 3 | ## 代码静态分析 4 | - Sonar 5 | - PMD 6 | - Infer 7 | - Android 8 | * findbugs 9 | * AndroidLint 10 | * CheckStyle 11 | - iOS 12 | * scanbuild 13 | * oclint 14 | 15 | ## 覆盖率分析 16 | - Android 17 | * Jacoco 18 | * EMMA 19 | - iOS 20 | * gcov 21 | 22 | ## 自动化测试 23 | - Appium 24 | - Calabash 25 | - Macaca 26 | - MonkeyTalk 27 | - RobotFramework 28 | - Android 29 | * Robotium 30 | * Uiautomator 31 | * Espresso 32 | * Selendroid 33 | * Instrumentation 34 | * MonkeyRunner 35 | * Cafe 36 | - iOS 37 | * WDA 38 | * XCUITest 39 | * KIF 40 | * Frank 41 | - Web 42 | * selenium 43 | 44 | - 自动遍历工具 45 | * AppCrawler 46 | * CrashMonkey4Android 47 | * CrashMonkey4iOS 48 | * SwiftMonkey 49 | 50 | ## 接口测试 51 | - Rest-Assured 52 | - SoapUI 53 | - JMeter 54 | - RobotFrameWork 55 | - PostMan 56 | - Swagger 57 | ## 常用工具 58 | 59 | ### 代理工具 60 | - Charles 61 | - Fiddler 62 | - BurpSuite 63 | - AnyProxy 64 | 65 | ### 嗅探 66 | - TcpDump 67 | - WireShark 68 | 69 | ### 弱网模拟 70 | - 通用 71 | * ATC 72 | * Charles 73 | * Fiddler 74 | * BurpSuite 75 | - iOS 76 | * iOS developer mode 77 | - Web 78 | * Chrome 79 | 80 | ### 移动端专项测试 81 | - Android 82 | * monitor 83 | * MAT 84 | * VisualVM 85 | * dumpsys命令集 86 | * /proc/ 87 | * top 88 | * adb bugreport 89 | * battery*historian 90 | * 腾讯GT 91 | * 网易Emmagee 92 | - iOS 93 | * Instruments工具集 94 | - 硬件设备 95 | * 安捷伦 96 | * 高速(慢速)摄像机 97 | - 专项分析sdk 98 | * LeakCanary 99 | * BlockCanary 100 | * MLeaksFinder 101 | 102 | 103 | ## 性能测试 104 | - 客户端性能测试 105 | * TraceView 106 | * Instruments 107 | 108 | - 服务端性能测试 109 | * JMeter 110 | * Gatling 111 | * nGrinder 112 | * SystemTap 113 | * DTrace 114 | * Perf 115 | * FlameGraph 116 | 117 | ## 安全测试 118 | - 移动端安全 119 | * Frida 120 | * Cydia Substrate 121 | - Android 122 | * Drozer 123 | * apktool 124 | * dex2jar 125 | * XPosed 126 | - iOS 127 | * IDB 128 | * otool 129 | * lldb 130 | * iExplorer 131 | * libimobiledevice 132 | - 服务端安全测试 133 | * BurpSuite 134 | * WVS 135 | * ZAP 136 | 137 | ## 持续集成 138 | - 通用工具 139 | * Jenkins 140 | * Travis CI 141 | * fastlane 142 | - Android 143 | * mvn 144 | * gradle 145 | - iOS 146 | * Cocoapods 147 | * xcodebuild 148 | * xcrun 149 | * plist 150 | ## 测试环境管理 151 | - Android Emulator 152 | - STF 153 | - Appium Grid 154 | - WebPageTest 155 | - Selenium Grid 156 | - Genymotion 157 | - BlueStacks 158 | - Docker 159 | 160 | ## 常用云测平台 161 | - MQC 162 | - MTC 163 | - Testin 164 | - SauceLabs 165 | 166 | 167 | ## 软技能 168 | - 知识管理 169 | * Confluence 170 | * Wiki 171 | * GitBook 172 | * TesterHome 173 | - 需求管理 174 | * Jira 175 | * Redmine 176 | - 用例与Bug管理 177 | * Jira 178 | * Redmine 179 | * BugFree 180 | * TestLink 181 | - 架构能力 182 | * Git 183 | * GitLab 184 | * GitHub 185 | * JVM 186 | * Instrument技术体系 187 | -------------------------------------------------------------------------------- /data/operation-command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/data/operation-command.png -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'), 2 | ghPages = require('gulp-gh-pages'), 3 | sass = require('gulp-sass'), 4 | sourcemaps = require('gulp-sourcemaps'); 5 | 6 | gulp.task('deploy', function() { 7 | return gulp.src('./**/*') 8 | .pipe(ghPages()); 9 | }); 10 | 11 | gulp.task('sass', function () { 12 | return gulp.src('sass/style.sass') 13 | .pipe(sourcemaps.init()) 14 | .pipe(sass()) 15 | .pipe(sourcemaps.write('.')) 16 | .pipe(gulp.dest('css/')) 17 | }); -------------------------------------------------------------------------------- /img/GeekTime-QRCode-100X100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/GeekTime-QRCode-100X100.png -------------------------------------------------------------------------------- /img/GeekTime-QRCode-200X200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/GeekTime-QRCode-200X200.png -------------------------------------------------------------------------------- /img/StuQ-QRCode-100X100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/StuQ-QRCode-100X100.png -------------------------------------------------------------------------------- /img/StuQWMall-QRCode-100X100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/StuQWMall-QRCode-100X100.png -------------------------------------------------------------------------------- /img/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/minus.png -------------------------------------------------------------------------------- /img/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/plus.png -------------------------------------------------------------------------------- /img/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/qq.png -------------------------------------------------------------------------------- /img/top.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | top 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /img/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/img/wechat.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | StuQ技能图谱v0.1.2 8 | 9 | 18 | 19 | 20 | 21 |
22 |

StuQ 技能图谱 v0.1.2

23 |

2015/11/20发布,后续动态请关注微信公众号:StuQ

24 |
    25 |
  • 26 |

    快速导航

    27 | 36 |
  • 37 |
  • 38 |

    说明

    39 |
    40 |
      41 |
    • 42 |

      关于StuQ

      43 |
        44 |
      • 致力于让技术人学习和交流更简单
      • 45 |
      • 全力打造实践驱动的学习和服务平台
      • 46 |
      47 |
    • 48 |
    • 49 |

      关于技能图谱

      50 |
        51 |
      • 52 |

        本技能图谱为各领域从浅入深的路径整理,现展出的为初版,如有指正或疑问,请展开本列加入QQ群或者微信群,共同交流,共同完善。

        53 |
          54 |
        • 55 | qq 56 |
          QQ群:254521819
          57 |
        • 58 |
        • 59 | wechat 60 |
          StuQ 小助手邀请入群
          61 |
        • 62 |
        63 |
      • 64 |
      • 65 |

        感谢提供初版内容的各界技术人士。特别鸣谢:

        66 |

          67 |
        • 阿里巴巴前端工程师 @jayli 原创链接
        • 68 |
        • 阿里巴巴前端工程师 @Jackson Tian 原创链接
        • 69 |
        • AWS 首席云计算企业顾问 @费良宏
        • 70 |
        • 知道创宇技术VP @余弦 原创链接
        • 71 |
        • 知道创宇运维工程师 @Tanky Woo 原创链接
        • 72 |
        • 乐视云大数据工程师 @祝海林
        • 73 |
        74 |
      • 75 |
      76 |
    • 77 |
    78 |
    79 |
  • 80 |
  • 81 |

    Web 前端

    82 | (贡献者:@jayli,@Jackson Tian;下载:Web 前端.md | Web 前端.png 83 |
    84 |
  • 85 |
  • 86 |

    云计算

    87 | (贡献者:@费良宏;下载:云计算.md | 云计算.png 88 |
    89 |
  • 90 |
  • 91 |

    安全

    92 | (贡献者:@余弦;下载:安全.md | 安全.png 93 |
    94 |
  • 95 |
  • 96 |

    智能运维

    97 | (贡献者:@Tanky Woo;下载:智能运维.md | 智能运维.png 98 |
    99 |
  • 100 |
  • 101 |

    大数据

    102 | (贡献者:@祝海林;下载:大数据.md | 大数据.png 103 |
    104 |
  • 105 |
  • 106 |

    智能硬件

    107 | (贡献者:@黄峰达 ThoughtWorks 西安,Consultant;下载:嵌入式工程师.md 108 |
    109 |
  • 110 |
  • 111 |

    开发语言

    112 | (贡献者:@吴坚;下载:开发语言综述.md | 开发语言综述.png 113 | (贡献者:@谢孟军;下载:Golang.md | Golang.png 114 |
    115 |
  • 116 |
  • 117 |

    结束语

    118 |
      119 |
    • 120 |
      本技能图谱会持续更新,如果有好的建议/意见,或者需要指正错误/不妥,或者有好的资源,或者想要夸赞/批评我们,请加入QQ群或者微信群,共同交流,共同完善,共同为千千万万技术从业人员画一张完善并且有参考价值的技能图谱。
      121 |
        122 |
      1. 123 | qq 124 |
        QQ群:254521819
        125 |
      2. 126 |
      3. 127 | wechat 128 |
        StuQ 小助手邀请入群
        129 |
      4. 130 |
      131 |
    • 132 |
    133 |
  • 134 |
135 |
136 | 137 |
138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | -------------------------------------------------------------------------------- /js/script.js: -------------------------------------------------------------------------------- 1 | /* 2 | - Author: Steve 3 | - Mail: steve@stuq.org 4 | - Date: Aug 31th, 2015 5 | */ 6 | 7 | 8 | // DOM methods 9 | (function(window, document) { 10 | var elementPrototype = typeof HTMLElement !== 'undefined' ? HTMLElement.prototype : Element.prototype; 11 | 12 | var $id = window.$id = function(id) { 13 | return document.getElementById(id); 14 | }; 15 | 16 | var $tag = window.$tag = function(tagName) { 17 | return document.getElementsByTagName(tagName); 18 | }; 19 | 20 | elementPrototype.tagEles = function(tagName) { 21 | return this.getElementsByTagName(tagName); 22 | }; 23 | 24 | elementPrototype.hasClass = function(className) { 25 | return !!this.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)')); 26 | }; 27 | 28 | elementPrototype.addClass = function(className) { 29 | if (!this.hasClass(className)) { 30 | this.className += ' ' + className; 31 | this.className = this.className.trim(); 32 | } 33 | }; 34 | 35 | elementPrototype.removeClass = function(className) { 36 | if (this.hasClass(className)) { 37 | var reg = new RegExp('(\\s|^)' + className + '(\\s|$)'); 38 | this.className = this.className.replace(reg, ' '); 39 | this.className = this.className.trim(); 40 | } 41 | }; 42 | 43 | elementPrototype.isLeafNode = function() { 44 | return this.tagEles('li').length ? false : true; 45 | }; 46 | 47 | elementPrototype.openNode = function() { 48 | this.lastElementChild.removeClass('hide'); 49 | this.removeClass('closed'); 50 | this.addClass('opened'); 51 | }; 52 | 53 | elementPrototype.normalizeNode = function() { 54 | this.lastElementChild.removeClass('hide'); 55 | this.firstElementChild.removeClass('node'); 56 | this.firstElementChild.style.cursor = 'initial'; 57 | this.addClass('normal'); 58 | this.removeClass('closed'); 59 | }; 60 | })(window, document); 61 | 62 | // skillmap class 63 | (function(window, document) { 64 | var skillmap = window.skillmap = function() { 65 | // AJAX for IE and other browsers 66 | var newRequest = function() { 67 | var xhr; 68 | 69 | if (typeof XMLHttpRequest !== 'undefined') { 70 | xhr = new XMLHttpRequest(); 71 | } else { 72 | var versions = ["MSXML2.XmlHttp.5.0", 73 | "MSXML2.XmlHttp.4.0", 74 | "MSXML2.XmlHttp.3.0", 75 | "MSXML2.XmlHttp.2.0", 76 | "Microsoft.XmlHttp"]; 77 | 78 | for (var i = 0, len = versions.length; i < len; i++) { 79 | try { 80 | xhr = new ActiveXObject(versions[i]); 81 | break; 82 | } catch(e) {} 83 | } 84 | } 85 | return xhr; 86 | }; 87 | 88 | // read md file from server 89 | var readTextFile = function(file) { 90 | var rawFile = new newRequest(); 91 | rawFile.open("GET", file, false); 92 | rawFile.send(null); 93 | try { 94 | return rawFile.responseText; 95 | } catch(error) { 96 | console.log(error); 97 | } 98 | }; 99 | 100 | // scroll element to destination 101 | var scrollTo = function(element, to, duration) { 102 | if (duration < 0) { 103 | $id('toTop').addClass('hide'); 104 | return; 105 | } 106 | 107 | var difference = to - element.scrollTop; 108 | var perTick = difference / duration * 2; 109 | 110 | setTimeout(function() { 111 | element.scrollTop = element.scrollTop + perTick; 112 | scrollTo(element, to, duration - 2); 113 | }, 10); 114 | }; 115 | 116 | var defaultOpen = [ 117 | 'index', 118 | 'intro', 119 | 'language', 120 | // 'bottomQrcode', 121 | 'end' 122 | ]; 123 | 124 | var init = function() { 125 | window.onload = function() { 126 | var mdList = { 127 | 'devLang': 'data/dev-lang.md', 128 | 'bigData': 'data/big-data.md', 129 | 'cloudComputing': 'data/cloudComputing.md', 130 | 'frontEnd': 'data/frontEnd.md', 131 | 'IH': 'data/IH.md', 132 | 'IOAM': 'data/IOAM.md', 133 | 'security': 'data/security.md' 134 | }, liArray = $tag('li'); 135 | 136 | for (var i in mdList) { 137 | $id(i).innerHTML = marked(readTextFile(mdList[i])); 138 | } 139 | 140 | for (var i = 0; i < liArray.length; i++) { 141 | if (!liArray[i].isLeafNode()) { 142 | liArray[i].firstElementChild.style.cursor = 'pointer'; 143 | liArray[i].lastElementChild.addClass('hide'); 144 | liArray[i].addClass('closed'); 145 | 146 | if (liArray[i].id !== 'bottomQrcode') { 147 | liArray[i].firstElementChild.onclick = function() { 148 | if (this.parentElement.lastElementChild.hasClass('hide')) { 149 | this.parentElement.lastElementChild.removeClass('hide'); 150 | this.parentElement.removeClass('closed'); 151 | this.parentElement.addClass('opened'); 152 | } else { 153 | this.parentElement.lastElementChild.addClass('hide'); 154 | this.parentElement.removeClass('opened'); 155 | this.parentElement.addClass('closed'); 156 | } 157 | } 158 | } 159 | } else { 160 | liArray[i].addClass('normal'); 161 | } 162 | } 163 | 164 | for (var i = 0; i < defaultOpen.length; i++) { 165 | $id(defaultOpen[i]).openNode(); 166 | } 167 | $id('bottomQrcode').normalizeNode(); 168 | 169 | window.onscroll = function() { 170 | if (window.scrollY > 0) { 171 | $id('toTop').removeClass('hide'); 172 | } 173 | 174 | $id('toTop').onclick = function() { 175 | var body = document.body; 176 | var dE = document.documentElement; // dE for firefox 177 | 178 | if (body.scrollTop || dE.scrollTop) { 179 | scrollTo(body.scrollTop ? body : dE, 0, 50); 180 | } else { 181 | body.scrollIntoView(); 182 | } 183 | } 184 | } 185 | 186 | $id('expand').onclick = function() { 187 | for (var i = 0; i < liArray.length; i++) { 188 | if (liArray[i].hasClass('closed')) { 189 | liArray[i].removeClass('closed'); 190 | liArray[i].addClass('opened'); 191 | liArray[i].lastElementChild.removeClass('hide'); 192 | } 193 | } 194 | } 195 | 196 | $id('collapse').onclick = function() { 197 | for (var i = 0; i < liArray.length; i++) { 198 | if (liArray[i].hasClass('opened')) { 199 | liArray[i].removeClass('opened'); 200 | liArray[i].addClass('closed'); 201 | liArray[i].lastElementChild.addClass('hide'); 202 | } 203 | } 204 | } 205 | } 206 | }; 207 | 208 | return { 209 | init: init 210 | }; 211 | }; 212 | })(window, document); 213 | 214 | skillmap().init(); 215 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "skill-map", 3 | "version": "1.0.0", 4 | "description": "**[http://www.stuq.org/subject/skill-map/](http://www.stuq.org/subject/skill-map/)**", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "http-server . -p 9999 -o", 8 | "gulp": "gulp" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/TeamStuQ/skill-map.git" 13 | }, 14 | "author": "stuq", 15 | "license": "ISC", 16 | "bugs": { 17 | "url": "https://github.com/TeamStuQ/skill-map/issues" 18 | }, 19 | "homepage": "https://github.com/TeamStuQ/skill-map#readme", 20 | "devDependencies": { 21 | "gulp": "^3.9.0", 22 | "gulp-gh-pages": "^0.5.4", 23 | "gulp-sass": "^2.1.1", 24 | "gulp-sourcemaps": "^1.6.0", 25 | "http-server": "^0.8.5" 26 | }, 27 | "dependencies": {}, 28 | "keywords": [ 29 | "skill-map", 30 | "stuq" 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /sass/_base.sass: -------------------------------------------------------------------------------- 1 | // base.sass 2 | 3 | 4 | * 5 | box-sizing: border-box 6 | 7 | html, 8 | body 9 | display: block 10 | position: relative 11 | margin: 0 12 | padding: 0 13 | background: 14 | color: #eee 15 | font: 16 | family: "Source Han Sans SC", "Helvetica Neue", Helvetica, Arial, "Lantinghei SC", "Hiragino Sans GB", STHeiti, "Microsoft Yahei", "Microsoft Sans Serif", sans-serif 17 | size: 16px 18 | word: 19 | wrap: break-word 20 | break: break-all 21 | 22 | ul 23 | margin: 24 | top: 1px 25 | bottom: 1px 26 | left: 0 27 | padding: 28 | left: 3% 29 | list-style: 30 | type: square 31 | li 32 | line-height: 1.5em 33 | 34 | p 35 | line-height: 1.5em 36 | margin: 0 37 | 38 | h1, 39 | h2, 40 | h3 41 | margin: 10px 0 42 | 43 | .hide 44 | display: none !important 45 | -------------------------------------------------------------------------------- /sass/style.sass: -------------------------------------------------------------------------------- 1 | // list.sass 2 | 3 | 4 | @import base 5 | 6 | .root 7 | margin: 10px 8 | padding: 10px 40px 80px 9 | background: 10 | color: #fff 11 | border: 12 | width: 1px 13 | style: solid 14 | color: #ddd 15 | radius: 5px 16 | 17 | h1 18 | font-size: 1.7em 19 | 20 | p 21 | span 22 | color: #c00 23 | 24 | .join-us 25 | width: 100% 26 | padding: 0 27 | margin: 1em 0 1em -6% 28 | list-style: none 29 | text-align: center 30 | 31 | li 32 | display: inline-block 33 | &:first-child 34 | margin-right: 5% 35 | 36 | ul 37 | h2 38 | font: 39 | weight: 400 40 | 41 | .node 42 | li 43 | margin: 0.5em 0 44 | 45 | h3, 46 | h4, 47 | h5 48 | margin: 0 49 | padding: 0 50 | font: 51 | weight: 400 52 | 53 | h5 54 | font: 55 | size: 0.95em 56 | 57 | #intro, 58 | #end 59 | h2 60 | font: 61 | size: 1.17em 62 | weight: 500 63 | 64 | #frontEndIndex, 65 | #cloudComputingIndex, 66 | #securityIndex, 67 | #IOAMIndex, 68 | #bigDataIndex, 69 | #language, 70 | #IHIndex 71 | h2 72 | display: inline-block 73 | color: #17f 74 | 75 | &:focus, 76 | &:hover 77 | color: #00f 78 | text-decoration: underline 79 | 80 | h3 81 | span 82 | font: 83 | size: 0.85em 84 | weight: 400 85 | 86 | #IH 87 | h2 88 | display: inline-block 89 | color: #17f 90 | 91 | .to-top 92 | display: block 93 | position: fixed 94 | opacity: 0.98 95 | 96 | &::before 97 | @extend .to-top 98 | content: '' 99 | right: 2em 100 | bottom: 2em 101 | width: 4em 102 | height: 4em 103 | background: 104 | image: url('../img/top.svg') 105 | size: contain 106 | repeat: no-repeat 107 | 108 | &:focus, 109 | &:hover 110 | cursor: pointer 111 | 112 | li.closed 113 | list-style-image: url('../img/plus.png') 114 | li.opened 115 | list-style-image: url('../img/minus.png') 116 | li.normal 117 | list-style-image: none 118 | 119 | .expand-collapse 120 | display: block 121 | position: fixed 122 | top: 0 123 | right: 2em 124 | width: 8em 125 | height: 2em 126 | padding: 0.5em 127 | background: 128 | color: #fff 129 | border: 130 | width: 1px 131 | style: solid 132 | color: #ddd 133 | top: none 134 | font-size: 0.8em 135 | text-align: center 136 | 137 | a 138 | color: #17f 139 | 140 | &:focus, 141 | &:hover 142 | color: #00f 143 | cursor: pointer 144 | text-decoration: underline 145 | 146 | footer 147 | margin-left: 10px 148 | margin-bottom: 10px 149 | -------------------------------------------------------------------------------- /test.md: -------------------------------------------------------------------------------- 1 | ## 测试 2 | 3 | # StuQ 程序员技能图谱 4 | 官网 Web 页面地址:**[http://skill-map.stuq.org/](http://skill-map.stuq.org/)**,也可扫描页面下方二维码,以赞助形式获赠技能图谱纸质版。 5 | 6 | ## 简介 7 | 8 | StuQ 程序员技能图谱是由 StuQ([http://www.stuq.org/](http://www.stuq.org/))发起的一个技术社区开源项目,志在汇集整理共建泛 IT 技术领域(云计算,大数据,运维,安全,开发语言,智能硬件等)及互联网产品、运营等领域学习技能图谱,帮助程序员梳理知识框架结构,并尝试提供路径指导和精华资源,方便技术人学习成长。 9 | 10 | 目前技能图谱已有下面几个领域: 11 | 12 | |**领域**(点击预览)| **核心贡献者 ID** | **原创链接** |**学习资源**| 13 | |------- | ---- | ---- | ---- | 14 | |[**# Web 前端**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-FrontEndEngineer.md)|[@jayli(拔赤)](https://github.com/jayli/)|阿里巴巴前端技术专家|[原创链接](https://github.com/jayli/jayli.github.com/issues/16)|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-FrontEnd-by-StuQ.png)| 15 | | |[@Jackson Tian ](https://github.com/JacksonTian)|阿里巴巴前端技术专家|[原创链接](https://github.com/JacksonTian/fks)|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-FrontEnd-by-StuQ.png)| 16 | |[- 移动性能优化](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobilePerformanceOptimization.md)|[@刘恒兵(河伯)](https://github.com/herbertliu)|腾讯前端技术专家、IvWeb 负责人|[原创链接](https://github.com/herbertliu/OMS)|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-MobileOptimization-by-StuQ.png)| 17 | |[- HTML5 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-HTML5.md)|[@Phodal(黄峰达)](https://github.com/Phodal)|ThoughtWorks 咨询师|[原创链接]()|[推荐](https://github.com/TeamStuQ/skill-map/issues/76)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-HTML5-by-StuQ.png)| 18 | |[- Angular 2](https://github.com/TeamStuQ/skill-map/blob/master/data/map-AngularJS2.md)|[@汤桂川](https://github.com/lightningtgc)|广发证券前端技术专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/9)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Angular2-by-StuQ.png) 19 | |[**# Server 后端**]()|||| 20 | |[- 架构师](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Architect.md)|@沈剑|58到家技术委员会主席/技术总监|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/53)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Architect-by-StuQ.png) 21 | |[- OpenResty](https://github.com/TeamStuQ/skill-map/blob/master/data/map-OpenResty.md)|[@温铭](https://github.com/moonbingbing)|奇虎服务端架构师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/29)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-OpenResty-by-StuQ.png) 22 | |[- 直播技术](https://github.com/TeamStuQ/skill-map/blob/master/data/map-LiveTelecast.md)|[@李雨来](https://github.com/blacktear23)|SpeedyCloud 迅达云技术 VP|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/55)|[脑图]() 23 | |[- CDN 技术](https://github.com/TeamStuQ/skill-map/blob/master/data/map-CDN.md)|[@李孟](https://github.com/x8s)|SpeedyCloud 迅达云首席架构师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/72)|[脑图]() 24 | |[- DNS 排查](https://github.com/TeamStuQ/skill-map/blob/master/data/map-dns-troubleshoot.md)|[@李孟](https://github.com/x8s)|SpeedyCloud 迅达云首席架构师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/72)|[脑图]() 25 | |[**# 云计算**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-CloudComputing.md)|@费良宏|AWS 首席云计算技术顾问|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/11)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-CloudComputing-by-StuQ.png) 26 | |- OpenStack|@夏艳|UnitedStack 公共关系总监|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/19)|脑图 27 | [- 容器 Container](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Container.md)|[@林帆 ](https://github.com/linfan)|ThoughtWorks DevOps 咨询师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/20)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Container-by-StuQ.png) 28 | [- 微服务 MicroService](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Microservice.md)|[@王磊 ](https://github.com/wldandan)|西安尚度元科技技术总监|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/23)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-MicroService-by-StuQ.png) 29 | |[**# 安全**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-SecurityEngineer.md)|[@余弦 ](https://github.com/evilcos) |知道创宇技术 VP|[原创链接](http://blog.knownsec.com/Knownsec_RD_Checklist/v3.0.html)|[推荐](https://github.com/TeamStuQ/skill-map/issues/13)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Security-by-StuQ.png) 30 | |[**# 智能运维**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-IntelligentDevOps.md)|[@Tanky Woo ](https://github.com/tankywoo)|知道创宇资深运维工程师|[原创链接](http://blog.knownsec.com/2015/03/how-many-basic-skills-should-a-operation-and-maintenance-engineer-get/)|[推荐](https://github.com/TeamStuQ/skill-map/issues/10)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-IntelligentDevOps-by-StuQ.png) 31 | |[- DBA](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DBA.md)|[@杨一 ]()|杭州有赞科技有限公司 DBA 专家|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/77)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-DBA-by-StuQ.png) 32 | |[**# 大数据**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-BigDataEngineer.md)|[@祝海林 ](https://github.com/allwefantasy)|乐视云资深大数据工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/12)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-BigData-by-StuQ.png) 33 | |[- Hadoop 家族](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Hadoop.md)|[@张丹](http://blog.fens.me)|况客创始人|[原创链接](http://blog.fens.me/series-hadoop-family/)|[推荐](https://github.com/TeamStuQ/skill-map/issues/22)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-Hadoop-by-StuQ.png) 34 | |[- 机器学习](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MachineLearning.md)|[@徐英凯](https://github.com/kevinhsu)|闪银机器学习工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/26)|脑图 35 | |[**# 测试**]()||||| 36 | |[- 移动无线测试](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileWirelessTesting.md)|[@陈晔 Monkey](https://github.com/monkeytest15)|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/15)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-MobileTesting-by-StuQ.png) 37 | |[**# 移动开发**]()||||| 38 | |[- iOS 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-iOSDev.md)|[@唐巧](https://github.com/tangqiaoboy) |猿题库小猿搜题产品技术负责人|[原创链接](https://gist.github.com/tangqiaoboy/5fadd9ba398277680b87)|[推荐](https://github.com/TeamStuQ/skill-map/issues/14)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-iOSDev-by-StuQ.png) 39 | |[- Android App 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidDev.md)|[@anly_jun](https://github.com/mingjunli) |[原创链接](http://www.jianshu.com/p/39c63eff3c36)|[推荐](https://github.com/TeamStuQ/skill-map/issues/85)|脑图 40 | |[- Android ROM 开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidROMDev.md)|[@anly_jun](https://github.com/mingjunli) |[原创链接](http://www.jianshu.com/p/0a4a33e63338)|[推荐](https://github.com/TeamStuQ/skill-map/issues/85)|脑图 41 | |[- Android 架构师](https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidArchitect.md)|[@顾浩鑫(ASCE1885)](https://github.com/ASCE1885)| 平安金融科技移动研发工程师 |-|[推荐](https://github.com/TeamStuQ/skill-map/issues/85)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-AndroidArchitect-by-StuQ.png) 42 | |[**# 智能硬件**]()||||| 43 | |[- 嵌入式开发](https://github.com/TeamStuQ/skill-map/blob/master/data/map-EmbeddedEngineer.md)|[@Phodal(黄峰达)](https://github.com/phodal) |ThoughtWorks 咨询师|[原创链接](https://github.com/phodal/eks)|[推荐](https://github.com/TeamStuQ/skill-map/issues/21)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-EmbeddedEngineer-by-StuQ.png) 44 | |[**# 开发语言**](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Total.md)|[@吴坚 ](https://github.com/jamsonwoo) |南航软件工程师|[原创链接](https://github.com/jamsonwoo/StuQ_skill-map)|[推荐](https://github.com/TeamStuQ/skill-map/issues/18)|[脑图](https://github.com/TeamStuQ/skill-map/tree/master/data/designbyStuQ/png-ProgrammingLanguage-by-StuQ.png) 45 | |[- Golang](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Golang.md)|[@谢孟军 ](https://github.com/astaxie) |Apple 资深技术专家|[原创链接](https://github.com/astaxie/build-web-application-with-golang)|[推荐](https://github.com/TeamStuQ/skill-map/issues/17)|脑图 46 | |[- Clojure](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Clojure.md)|[@Loretta ](https://github.com/lorettahe) |SwiftKey 软件工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/25)|脑图 47 | |[- Python](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Python.md)|[@ZoomQuiet(大妈) ](https://github.com/ZoomQuiet) |猎豹移动技术专家|[原创链接](http://wiki.zoomquiet.io/pythonic/Path2Pythoneer)|[推荐](https://github.com/TeamStuQ/skill-map/issues/30)|脑图 48 | |[- Haskell](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Haskell.md)|[@张淞 ](https://github.com/HaskellZhangSong) |网易杭州研究院高级开发工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/36)|脑图 49 | |[- Node.js](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Nodejs.md)|[@桑世龙(i5ting) ](https://github.com/i5ting) |去哪儿网前端架构师|[原创链接](https://github.com/nodeonly/stack)|[推荐](https://github.com/TeamStuQ/skill-map/issues/35)|脑图 50 | |[- Ruby](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Ruby.md)|[@张汉东(Alex) ](https://github.com/ZhangHanDong) |-|[推荐](https://github.com/TeamStuQ/skill-map/issues/40)|脑图 51 | |[- Java](https://github.com/TeamStuQ/skill-map/blob/master/data/map-DevLang-Java.md)|[@Zhang Wei](https://github.com/zhangwei217245)|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/43)|脑图 52 | |[**# 开发工具**]()|||||| 53 | |[- Git](https://github.com/TeamStuQ/skill-map/blob/master/data/map-Git.md)|[@吴坚 ](https://github.com/jamsonwoo) |南航软件工程师|-|[推荐](https://github.com/TeamStuQ/skill-map/issues/48)|脑图 54 | 55 | 56 | 以及**正在建设中**的领域: 57 | 58 | - 服务端开发 59 | - CTO 60 | - 分布式数据库开发 61 | - IoT 物联网 62 | - PHP 语言 63 | - Swift 语言 64 | - Objective-C 语言 65 | - C++ 语言 66 | - C# 语言 67 | 68 | 欢迎**贡献**新领域技能图谱,**推荐**学习路径与资源(赠礼品),有任何改进意见和建议,也可以建立 issue 讨论或发送邮件至 Raymond@stuq.org。 69 | 70 | ## 改进目标 71 | 72 | 1. 继续细化各领域的技能节点 73 | 2. 提供各领域的参考学习路径 74 | 3. 推荐各知识点相关优质资源 75 | 76 | ## 图谱 MarkDown 分级规范 77 | 78 | 为了便于编辑和纠错更新,现统一图谱 MarkDown 文件**分级规范**如下: 79 | 80 | 1. 根据内容考虑用" #,##,### "依次表示高级别主干分级 81 | 2. 次级别分支用" -,*,+ "三种符号区分 82 | 3. 所有“-”的优先级高于“*” 83 | 4. 所有“*”的优先级高于“+” 84 | 85 | ## 加入我们 86 | - 提交图谱:直接提交 Pull Request,或者发邮件给 Raymond@stuq.org 87 | - QQ群讨论:254521819,加群时请备注姓名+职业。加入后请修改群名片为姓名+职业 88 | - 微信群讨论:请加StuQ小助手(StuQxiaozhushou)并备注“技能图谱”,小助手会邀请您入群 89 | 90 | ## 版本信息 91 | ### v 0.2.0 92 | - IT 技术各主要领域基本覆盖 93 | 94 | ### v 0.1.2 95 | - 云计算领域新增:OpenStack,容器技术 96 | - 移动开发领域新增:iOS 开发 97 | - 测试领域新增:移动无线测试 98 | - 智能硬件领域新增:嵌入式开发 99 | 100 | ### v 0.1.1 101 | - StuQ 技能图谱第一版发布 102 | 103 | ## 许可 104 | 本技能图谱遵循 **[CC-BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)** 协议。*转载请注明[出处](http://www.stuq.org/subject/skill-map/)。* 105 | 106 | 最终解释权归 **StuQ** 所有。欢迎关注 StuQ 微信公众号。 107 | 108 | ![StuQ 微信公众号](https://github.com/TeamStuQ/skill-map/blob/master/img/StuQ-QRCode-100X100.png) 109 | 110 | ## 赞助声明 111 | 112 | StuQ 技能图谱项目接受企业或者个人的赞助,用以覆盖图谱编辑、设计、印刷和运营成本。 113 | 114 | 赞助合作请发邮件至 Raymond@stuq.org 。 115 | 116 | ## 获取纸质版技能图谱 117 | 118 | 请扫描 StuQ 技能图谱微店地址二维码,以赞助形式获赠 StuQ 技能图谱纸质版。 119 | 120 | ![StuQ 微店地址二维码](https://github.com/TeamStuQ/skill-map/blob/master/img/StuQWMall-QRCode-100X100.png) 121 | 122 | 123 | -------------------------------------------------------------------------------- /xmind/DBA.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/DBA.xmind -------------------------------------------------------------------------------- /xmind/HTML5.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/HTML5.xmind -------------------------------------------------------------------------------- /xmind/IOAM.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/IOAM.xmind -------------------------------------------------------------------------------- /xmind/Java.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/Java.xmind -------------------------------------------------------------------------------- /xmind/big-data.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/big-data.xmind -------------------------------------------------------------------------------- /xmind/cloudComputing.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/cloudComputing.xmind -------------------------------------------------------------------------------- /xmind/dev-lang-Go.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/dev-lang-Go.xmind -------------------------------------------------------------------------------- /xmind/dev-lang-total.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/dev-lang-total.xmind -------------------------------------------------------------------------------- /xmind/frontEnd.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/frontEnd.xmind -------------------------------------------------------------------------------- /xmind/micro-service.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/micro-service.xmind -------------------------------------------------------------------------------- /xmind/security.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TeamStuQ/skill-map/1f90c61af643d96557895b139fa7588be8a57e4d/xmind/security.xmind --------------------------------------------------------------------------------