前言:php
哲学家常思考的问题:" 我是谁?"" 我从哪里来?"" 要到哪里去?不仅是哲学家,我想每一个人都有本身对这三个问题的认知。
若是咱们要成为架构师,咱们本身要面临的三大问题:
找准本身定位:我是谁?在哪里?
怎样作好架构师:我要作什么?
如何搭建架构师知识体系:我该怎么作?
这里面就是作事方法论:目标(我要作什么),方法(计划)(我该怎么作), 执行/行动
|
要成为优秀合格的架构师,必须具有前瞻性的眼光和系统性的思考能力。而拥有这些能力的前提是你必须完善本身的知识体系。html
互联网思惟不是工具,它是世界观。这篇文章以后,你能够尝试构建本身的知识体系了。前端
愿每一个人均可以像一个U盘同样,自带系统随处插拔。java
愿每一个人均可以和别人不同。node
一、通用技能表mysql
一、通用技能:
我是谁:思惟方式,不将就认真作事的人
如何作事:1)总体把握,找到方法论(解决方案),
2)思路:分而治之,优先排列,计划进行(排期完成)。
3)及时沟通,反馈,敢于承担责任
4)团队意识
成长:1)和优秀的人在一块儿
2)不断学习充电
完成定义:了解基础原理,自测经过,及时跟踪反馈问题,文档更新
熟练定义:绕开问题,而不是解决问题。
二、专业技能
文档:每一项技能,熟读官方文档
基础知识:1)网络知识,http原理,tcp基础知识
2)office能力:熟练使用excel,ppt
3)php基础知识:php,linux,mysql,nginx/apache,代理负载均衡
4)java基础知识:Java高级特性和类库,Java网络与服务器编程, TCP/IP协议,以及线程,I/O模型,框架。
4)数据结构算法,设计模式
5)研发能力:
瀑布模型:需求->需求分析->设计->开发->测试->上线->运维/运营
调试和解决问题能力
敏捷思想:快速迭代,任务细分,wiki更新
web安全:
1)web安全
2)安全维度:漏洞,风险,事件
安全问题:xss,sql注入,ddos攻击
安全书:
《黑客攻防技术宝典(Web实战篇)》
《白帽子讲Web安全》
《Web前端黑客技术揭秘》
《Web之困》
《SQL注入攻击与防护》
-
研发清单
-
编码环境
-
Python
-
Linux/UNIX
-
前端
-
爬虫进阶
-
调度
-
并发
-
数据结构
-
数据存储及处理
-
DevOps
-
调试
-
算法
-
持续集成
安全
-
协做
-
相似Trello的在线协同平台
-
Slack
-
微信
-
立会
-
设计思想
-
人人都是架构师:具有架构思想是一件多酷的事
-
实战出真知
-
如何设计
-
松耦合、紧内聚
-
单元与单元属性
-
生产者与消费者
-
结构
-
分布式
-
资源考虑
-
粗暴美学/暴力美学
-
大数据,先考虑run it,而后才能知道规律在哪
-
「run it优先」能快速打通总体,洞察问题
-
「run it优先」能摆脱细节(繁枝末节)的束缚
-
「run it优先」能快速迭代出伟大的v1
-
一个字总结
-
牛人1,2,3
三、网站架构知识ios
-
架构演进
- 初始阶段:LAMP,部署在一台服务器
- 应用服务器和数据服务器分离
- 使用缓存改善性能
- 使用集群改善并发
- 数据库地读写分离
- 使用反向代理和cdn加速
- 使用分布式文件和分布式数据库
- 业务拆分
- 分布式服务
-
架构模式
- 分层:横向分层:应用层,服务层,数据层
- 分割:纵向分割:拆分功能和服务
- 分布式
- 分布式应用和服务
-
分布式静态资源
- 分布式数据和存储
- 分布式计算
- 集群:提升并发和可用性
- 缓存:优化系统性能
- 异步:下降系统的耦合性
- 冗余:冷备和热备,保证系统的可用性
- 自动化:发布,测试,部署,监控,报警,失效转移,故障恢复
- 安全:
- 架构核心要素
- 高性能:网站的灵魂
- 可用性:保证服务器不宕机,通常经过冗余部署备份服务器来完成
- 伸缩性:建集群,是否快速应对大规模增加的流量,容易添加新的机器
- 可扩展性:主要关注功能需求,应对业务的扩展,快速响应业务的变化。是否作法开闭原则,系统耦合依赖
- 安全性:网站的各类攻击,各类漏洞是否堵住,架构是否能够作到限流做用,防止ddos攻击。
- xss攻击
- sql注入
- csr攻击
- web防火墙漏洞
- 安全漏洞
- ssl
2.1技术站点
-
Hacker News:很是棒的针对编程的连接聚合网站
-
Programming reddit:同上
-
MSDN:微软相关的官方技术集中地,主要是文档类
-
infoq:企业级应用,关注软件开发领域
-
OSChina:开源技术社区,开源方面作的不错哦
-
51cto,cnblogs:常见的技术社区,各有专长
-
stackoverflow:IT技术问答网站
-
GitHub:全球最大的源代码管理平台,不少知名开源项目都在上面,如Linux内核
-
OpenStack等免费的it电子书:http://it-ebooks.info/
-
DevStore:开发者服务商店
2.2 不错的书籍
-
人件
-
人月神话
-
代码大全2
-
计算机程序设计艺术
-
程序员的自我修养
-
程序员修炼之道
-
高效能程序员的修炼(成为一名杰出的程序员其实跟写代码没有太大关系)
-
深刻理解计算机系统
-
软件随想录
-
算法导论(麻省理工学院出版社)
-
离线数学及其应用
-
设计模式
-
编程之美
-
黑客与画家
-
编程珠玑
-
C++ Prime
-
Effective C++
-
TCP/IP详解
-
Unix 编程艺术
-
《精神分析引论》弗洛伊德
-
搞定:无压力工做的艺术
2.3 平台工具(都是开源的好东东哦)
-
Redmine/Trac:项目管理平台
-
Jenkins/Jira(非开源):持续集成系统(Apache Continuum,这个是Apache下的CI系统,还没来得及研究)
-
Sonar:代码质量管理平台
-
git,svn:源代码版本控制系统
-
GitLib/Gitorious:构建本身的GitHub服务器
-
gitbook:https://www.gitbook.io/写书的好东西,固然用来写文档也很不错的
-
Travis-ci:开源项目持续集成必备,和GitHub相结合,https://travis-ci.org
-
开源测试工具、社区(Selenium、OpenQA.org)nginx
-
Puppet:一个自动管理引擎,能够适用于Linux、Unix以及Windows平台。所谓配置管理系统,就是管理机器里面诸如文件、用户、进程、软件包这些资源。不管是管理1台,仍是上万台机器Puppet都能轻松搞定。git
-
Nagios:系统状态监控报警,还有个Icinga(彻底兼容nagios全部的插件,工做原理,配置文件以及方法,几乎如出一辙。配置简单,功能强大)
-
Ganglia:分布式监控系统
-
fleet:分布式init系统
2.4 爬虫相关(好玩的工具)
2.4 Web 服务器性能/压力测试工具/负载均衡器
-
http_load:程序很是小,解压后也不到100K
-
webbench:是Linux下的一个网站压力测试工具,最多能够模拟3万个并发链接去测试网站的负载能力
-
ab:ab是apache自带的一款功能强大的测试工具
-
Siege:一款开源的压力测试工具,能够根据配置对一个WEB站点进行多用户的并发访问,记录每一个用户全部请求过程的相应时间,并在必定数量的并发访问下重复进行。
-
squid(前端缓存),nginx(负载),nodejs(没错它也能够,本身写点代码就能实现高性能的负载均衡器):经常使用的负载均衡器
-
Piwik:开源网站访问量统计系统
-
ClickHeat:开源的网站点击状况热力图
-
HAProxy:高性能TCP /HTTP负载均衡器
-
ElasticSearch:搜索引擎基于Lucene
-
Page Speed SDK和YSLOW
-
HAR Viewer:HAR分析工具
-
protractor:E2E(end to end)自动化测试工具

-
GRUNT:js task runner
-
Sea.js:js模块化
-
knockout.js:MVVM开发前台,绑定技术
-
Angular.js:使用超动感HTML & JS开发WEB应用!
-
Highcharts.js,Flot:经常使用的Web图表插件
-
Raw:很是不错的一款高级数据可视化工具
-
Rickshaw:图标库,可用于构建实时图表
-
JavaScript InfoVis Toolkit:另外一款Web数据可视化插件
-
Pdf.js,在html中展示pdf
-
ACE,CodeMirror:Html代码编辑器(ACE甚好啊)
-
NProcess:绚丽的加载进度条
-
impress.js:让你制做出使人眩目的内容展现效果(相似的还有reveal)
-
Threejs:3DWeb库
-
Hightopo:基于Html5的2D、3D可视化UI库
-
jQuery.dataTables.js:高度灵活的表格插件
-
Raphaël:js,canvas绘图库,后来发现百度指数的图形就是用它绘出来的
(原文地址:https://blog.csdn.net/hguisu/article/details/49445263 。 感谢做者,尊重原创!)