架构师速成
超级技术宅
本人资深苦逼it架构师,在it架构苦海中苦修10余年。进过华为,干过阿里。多次创业,屡战屡败,至今尚未成功。
爱coding,爱总结,爱说教,爱老婆,爱儿女,爱dota。
总结10余年苦逼经验,倾囊而授,助你架构速成,创业速成,顺便扒开伤口搏你一笑。
坚信每个人都是自己世界的神,欢迎来我的世界,你的一生即将改变!
域名:www.100j.top 就是希望大家成为top100的架构师。
展开
-
架构师速成-架构目标之伸缩性\安全性
为满足伸缩性,所需的架构模式包含:分布式,这个前面有单独的章节进行了讲解,分布式是互联网时代的主旋律。负载均衡,前面已经有讲解。服务拆分,按照业务进行系统服务的拆分并单独部署。为满足伸缩性,需要的支撑系统:运维系统:自动扩容,缩容监控系统监控流量,确定何时伸缩为满足安全性,所需的架构模式包含:数据加密,密码的加密存原创 2015-09-16 09:00:58 · 761 阅读 · 1 评论 -
架构师速成8.4-分库分表的关键点
我们还是由浅入深(这个词我喜欢,你呢?)的讨论一下,分库分表的关键点(本故事纯属虚构,仅为搞笑):当你的系统很小的时候,只有一个数据库,每个表的主键都是自增的,你都不去关心主键变成了多少,反正db保证自增,小日子过的很是惬意。但惬意的日子总是短暂的,你因为DB宕机被老板fire 3次(见上一个故事)。进入第4个公司的时候,你发粪涂墙,将集群改成主备HA,结果顺利出任CTO,迎娶白富美,走向原创 2015-08-13 09:13:57 · 1402 阅读 · 1 评论 -
架构师速成6.11-开发框架-后端封装思路
要做一个好的开发框架并不是直接找一个现成的Spring就ok了,这个对于一般新手来说学习难度还是有点高。另外Spring还是一个通用性的框架,我们需要针对业务的定制化封装。我以java为例讲解一下后端需要做什么:确定层数结构parentcommontestdaoservice-commonserviceweb-commonwebparent统一引入的类库及版本,通过原创 2015-07-31 07:46:48 · 2591 阅读 · 0 评论 -
架构师速成6.9-如何写好代码
读过很多代码,有些人写了5年以上的代码,但是代码烂到直接让人无从读起。有人写的代码让人读的赏心悦目,为什么人与人之间的差距这么大呢?看来如何写好代码还是一件很值得一说的事情。关键思想:人写代码是用来给别人读的,而不是给机器执行的。写代码就应该像写小说一样,让人读的轻松愉快。软件的生命周期中,维护周期占1半以上,所以不看避免要有人来改动你的代码你如果更换工作岗位,你的原创 2015-07-30 18:38:06 · 915 阅读 · 0 评论 -
架构师速成7.5-性能优化为什么写的这么晚?
性能优化是程序员的G点,一碰就会高潮!(小朋友不懂的不不要懂了)但是我为啥这么晚才抛出这个命题,其实有人早就急不可待吧。我这么晚写是有这么晚写的理由的,其实性能优化,在做一个小的网站,根本没有什么卵用。一个流量小的网站,框架做好,架构做好,表结构设计好,根本没有太大的必要去优化,因为机器都闲着没有什么卵用,有时间不如把产品做好,吸引更多的人气。其实我在到阿里之前,做过几个网站,而且原创 2015-07-19 20:03:16 · 896 阅读 · 0 评论 -
架构师速成6.8-设计开发思路-领域驱动
领域驱动设计简称DDD,很好的名字,先来普及一下相关的名词缩写:测试驱动设计 TDD,行为驱动设计 BDD,面向对象设计 OOD,面向过程设计 OPD。设计思路和方法是一项专门的技能,区别于设计模式,编程语言。UML是设计的工具,设计方法是设计的灵魂,而且设计方法并没有好坏之分。关键是你需要掌握各种设计方法,在做项目时信手拈来,才是真正的高手。为什么要讲领域驱动设计,因为在做大型系转载 2015-07-30 18:28:44 · 947 阅读 · 0 评论 -
架构师速成-有关架构的思考
架构是什么?架构的目标是什么?如果解决这2个问题,可能我能更好的梳理杂乱的架构理论。经过2天的思考,总算有了一点眉目。我们从一个产品的本质来说,追本朔源,自上而下:大概就是这样的,当然架构不止需要解决这些问题,本产品只是其中一个部分,要支撑一个web产品还需要依赖很多的外部公共系统,对这些系统整合也算作架构的范畴。架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于原创 2015-08-11 08:55:16 · 1281 阅读 · 0 评论 -
架构师速成8.1-谈做技术人员的态度
谦卑,永远保持谦卑。热情,永远保持热情。 同行相轻在中国好像是一个惯例,互相看不起,互相贬低,也充斥了软件行业的每个角落。想成为一个架构师请先保持你的内心的谦卑,永远不要嘲笑或贬低任何一个人。因为当你嘲笑或者贬低一个人时,世界就给你关了一扇门。其实群体的意志才是最强大的,当你有一个团队,一般情况下团队的力量总是会比一个人要强大。所以要时刻想着如何激发整个团队的热情,而不是轻原创 2015-07-18 07:22:50 · 810 阅读 · 0 评论 -
架构师速成4.8-幼儿园书单资料推荐
java学习head first java高效学习如何高效学习学习之道学习要像加勒比海盗如何高效阅读沟通沟通的艺术沟通:用故事产生共鸣演讲之禅60天完美口才打造计划学习资料站http://www.read.org.cn/http://book.douban.com/原创 2015-07-18 11:03:13 · 1254 阅读 · 0 评论 -
架构师速成6.7-设计开发思路-uml
uml是什么东西?统一建模语言,一门语言,是用来进行软件设计的一门语言。其实一门语言的诞生并不伟大,让大多数人都使用才足够伟大。uml就是一门伟大的语言,因为目前软件设计的唯一语言就是它。UML其实还是比较简单的,就那么几个图形,那么几种模式,但是因为他是唯一的语言,所以有设计能力的人都能很容易看懂你说的什么,这就是他的伟大之处。我说一下在软件设计中最常用的几个,以及我的心原创 2015-07-29 18:25:13 · 1120 阅读 · 0 评论 -
架构师速成5.5-小学书单资料推荐
ppt进阶写给大家看的PPT设计书说服力 让你的PPT会说话PPT,要你好看别告诉我你懂PPT时间管理小强升职记把时间当作朋友高效能人士的七个习惯技术类head first javahead first sqlhead first html cssthinking in javaeffective java原创 2015-07-19 09:00:58 · 1009 阅读 · 0 评论 -
架构师速成8.2-架构师要懂产品
产品和架构两个截然不同的职业,好像风马牛不相及,其实不是这样的。产品的思想需要经过技术的手来成为现实,在成为现实之前,需要技术理解、评估、碰撞、优化、把控、验证等等。当然架构师就承担了这一系列技术的责任,而且在一个产品的实现过程中,技术架构并不是很重要的,前期可以没有架构,简单快速验证,只有在用户多了之后,架构才有真正的用处。在初创公司,很多架构师都等不到用户多了的那一天,来实现自己的架构梦。所以原创 2015-07-18 07:25:19 · 1000 阅读 · 0 评论 -
架构师速成4.6-软技能和硬技能
在投职和面试的过程中,雇主通常会查看求职者的两种技能:硬技能与软技能。硬技能就是能够通过培训或可以容易量化的技能。硬技能包括下面这些:熟练的外语能力文凭或证书打字速度计算机程序编写能力而软技能,则是较难量化的主观性技能,例如:团队合作沟通时间管理而且绝多数的日常软性技能都是可以跨领域迁移,硬技能有时候随着工作的变迁,就失去了价值。我也极为推崇软技能的练习和培养。原创 2015-07-20 22:59:31 · 1278 阅读 · 0 评论 -
架构师速成6.18-初中书单资料推荐
思维导图你的第一本思维导图操作书画出好成绩-通过思维导图提升分数思维导图系列知识管理你的知识需要管理面向对象写给大家看的面向对象编程书面向对象分析与设计深入浅出面向对象分析与设计软件设计UML精粹UML基础、案例与应用Head First软件开发领域驱动设计写好代码重构:改善既有代码的设计代码大全代码整洁之道设计模式:原创 2015-07-21 22:01:22 · 884 阅读 · 0 评论 -
架构师速成-架构目标之可用性
服务器等,从而共同完成工作任务。各种负载均衡的软硬件有很多,我们可以单独讲解一下。配置中心,原来单一节点的配置,被类似zookeeper的多节点配置中心取代。流量控制,流量控制是保证大流量下系统可用性的重要手段,当系统流量不足以支撑所有流量时,只保留合理的流量处理。其他流量直接丢弃,否则系统会被压垮,造成雪崩。功能降级,另外大流量情况下,有些无关紧要的功能可以暂时降级,后期通过数据补全的方式进行修原创 2015-09-13 21:34:30 · 663 阅读 · 0 评论 -
架构师速成-架构的目标
架构的目标为了实现以下特性:正确性系统首先需要正确,运行稳定可用性软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠,一般99.99%是一个比较基本的要求。快速开发互联网目前是一个快鱼吃慢鱼的时代,已经不是大鱼吃小鱼了。因为小鱼在一夜之间就长大了,把大鱼吃掉了。诺基亚就是明证,facebook就是明证。良好体验良好的体验对用户原创 2015-09-07 11:39:53 · 658 阅读 · 0 评论 -
架构师速成-架构体系
经过这段时间的反思和整理,终于对架构有了一个较为明确的理解。架构是产品从无到有以及慢慢壮大过程中所需要的全部技术体系总称,架构过程:配置、编码、测试、运维、监控分析、安全、运营等一系列技术体系的选型、取舍技术选型基础上进行规划、设计、实现、迭代、制定相关规范相关技术及规范运用到产品开发的整个过程中,并在产品迭代过程中对架构进行迭代优化架构不止包含技术的框架,比如有人用了spring原创 2015-09-05 20:24:02 · 886 阅读 · 0 评论 -
架构师速成8.3-可用性
作为一个软件系统可用性是第一位的,如果一个系统不可用,你其他的地方做的再怎么好,然并卵。一般什么情况下软件会不可用:我方发生故障,导致系统不可用,当然会出现单机的不可用及n多机器群的全部不可用。程序故障 功能错误、程序退出系统故障 CPU超负荷、内存超负荷、网络超负荷物理故障 机器死机 断电 断网不可恢复故障 地震、海啸等等客户方也会发生相同故障,导致系统不可用,原创 2015-08-07 09:18:22 · 1014 阅读 · 1 评论 -
架构师速成8.3-架构师必须要了解的规则
作为一个架构师,有些规则是必须要掌握的,这就想软件的公理,如果你学物理不知道牛顿定律,那就不要学了。在软件行业也有类似的东西,我称之为软件定律。例如:ACID,CAP,BASEACID传统数据库系统中,事务具有ACID 4个属性(1)原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。(2)一致性(Consis转载 2015-08-07 09:17:22 · 823 阅读 · 0 评论 -
架构师速成6.15-开发框架-单点登录
单点登录应该归为架构的部分了,但是一般网站在开始的时候最好有单点登录的思想,防止后期再做大量的修改。而且单点登录对于开发人员来说并没有增加太多额外的工作量,所以提前讲一下对大家都是好的。先说一下单点登录的机制(摘自百度百科,给我广告费):当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返原创 2015-08-06 07:10:50 · 1052 阅读 · 0 评论 -
架构师速成-架构目标之正确性
本系统架构模式:统一异常统一异常处理是保证程序正确性的第一步,这是第一个架构模式。具体如何实现,详见前面的文章。日志日志也是保证程序正确的一大手段,虽然是在错误出现后,日志才会记录。但是日志是快速确认问题,并分析出隐藏问题的重要手段。关键点日志文件按照级别进行区分,将错误和普通调试日志分开日志文件滚动方式,可以按天及按大小滚动,定时清理日志级别可以实时调整设置性原创 2015-09-08 19:37:46 · 644 阅读 · 0 评论 -
架构师速成6.14-开发框架-异常处理
异常为什么需要单独一节来讲解呢?因为异常是软件设计里一项需要架构者自己构思处理的一个特殊部分。一般的框架没有提供统一的处理方式,而且会被很多同学忘记处理,或者是比较粗糙处理掉。想一想有很多网站出错时,用户会看到一大段的英文异常,甚至执行的sql都包含在里面,你会不会觉得很不专业呢?首先异常应该分类,确定异常分类至关重要,这是后期进行不同处理的基础:业务异常,是用户在执行业务请求时,原创 2015-08-05 08:52:53 · 928 阅读 · 0 评论 -
架构师速成6.13-开发框架-前后结合
前面说完了前端和后端的封装,本节再单独讲解一下哪些地方需要前后结合。AJAX的前后端结合:定义统一的返回消息体,{isError:true/false,message:’需要返回的消息’,data:{返回的数据},postAction:{后续的动作}}根据消息体的返回,进行不同类别的展示,例如:错误提示,加载页面片段,数据刷新,页面跳转,或者自定义后续处理服务端能自动判断是JSON原创 2015-08-04 08:14:50 · 836 阅读 · 0 评论 -
架构师速成7.6-高中书单资料推荐
速读速记:如何高效阅读10倍速影像阅读法超右脑快速记忆法项目管理:敏捷开发的艺术敏捷软件开发硝烟中的Scrum 和XP精益开发实战走出软件作坊人件人月神话黑客与画家死亡之旅企业架构:企业应用架构模式devOps:持续集成:软件质量改进和风险降低之道性能:深入理解Java虚拟机Java性能优化权威指南原创 2015-07-22 12:18:43 · 1081 阅读 · 0 评论 -
架构师速成6.12-开发框架-前端封装
做一个网站不只有写后端代码,为了更好的用户体验以及更优雅的代码实现,我们也需要对前端进行封装。但是在谈封装之前还是要先提一下统一的规范,前端统一的规范尤为重要,这是给用户一致性体验最核心的关键点。我举一个反面的例子,大家可能一下就明白前端规范的重要性了。之前做过一个网站,流程如下:设计给图片前端照图片进行静态页面生成后端再加入代码,最终成为一个网站这个流程没有什么问题,但是设计没有原创 2015-08-03 07:49:54 · 2019 阅读 · 0 评论 -
架构师速成6.6-知识的收集整理学习
知识如何学习前面已经讲了2节,这节主要讲知识的整理和沉淀。其实我之前也一直没有好好的思考过这个问题,今天在整理自己的wiz知识库的时候突发灵感,所以有了这一节。其实知识获取的过程分为搜索->收集->整理->精化->应用->分享,前一部分跟时间管理的收集也很相近吧。知识获取的思路适用于有目的的知识收集和日常的备忘性的知识收集。当然你随机收集一些资料记录下来其实效果并不是很理想,重要的原创 2015-07-16 21:50:42 · 1043 阅读 · 0 评论 -
架构师速成8.3-可用性之分库分表
有状态分布式,涉及的知识就比较多了,不过我们可以拿几个现实的例子由浅入深的来理解。数据库的分库分表假设你是一个开发负责人,开始使用单机的数据库,突然一天数据库硬盘挂掉了。你没有做备份,然后就没有然后了。进入第2个公司,你意识到备份的重要性,每天定时备份到另一台机器,突然有一天,数据库硬盘挂掉了。你心想幸好我有备份,然后巴拉巴拉的恢复起来,用了2个小时。老板说不错,但是—-我们因为宕原创 2015-08-10 08:00:18 · 1879 阅读 · 3 评论 -
架构师速成5.2-价值观和目标
价值观和人生目标是gtd的最上层要素,如果你整个人生的价值观和目标都不清晰,后面的路会因为失去方向而走的比较艰辛。但好多人都不太清楚价值观和人生目标如何确定,这2个东西太抽象了。首先要先说一下价值观是什么?心理学家发现我们会受到不同的事物所鼓舞和推动,这些动力往往归纳为:需要、兴趣、价值、信念及喜好。对部分人来说,这些动力根深蒂固,而一般认为这是由于我们成长中所接受的教育,以及性格上的基因原创 2015-07-28 19:18:52 · 793 阅读 · 0 评论 -
架构师速成5.1-小学gtd进阶
人生没有理想,那和咸鱼有什么区别。有了理想如何去实现,这就是gtd需要解决的问题。简单说一下gtd怎么做?确定你的目标,如果不能确定长期目标,至少需要一个2年到3年的目标。目标必须是可以衡量的,不能模棱两可。目标必须符合你的价值观,如果确定是否符合价值观,假设这件事给你10万,让你不要继续做,你说滚。针对你的目标,确定需要做的事情,脑子里想到的所有事情都放到收集箱,放空原创 2015-06-26 21:17:50 · 1171 阅读 · 0 评论 -
架构师速成4.3-幼儿园要学会查找资料
有很多人整天用电脑,但是碰到问题就不知所措,好像从来没有用过互联网一样。互联网给了我们最多的知识,但是也给我了最大的诱惑,也给了我们最多的垃圾。如果迅速找到自己想要的知识,取其精华,弃其糟粕是一个非常有用的学问。还是举例子:比如我要学习一门新的语言scala,列出对自己帮助比较大的几种资料或途径书籍视频别人学习的心得和经验相关论坛和答疑群、博客,有疑问可以咨询光原创 2015-06-25 09:08:35 · 1568 阅读 · 0 评论 -
架构师速成4.2-幼儿园要学会如何高效学习
《如何高效学习》,这本书的作者是scotthyoung,最知名是的1年内自学完成4年麻省理工学院计算机科学的33门课程,同时也写了一个学习方法的Blog,他使用费曼技巧来加强理解和学习。费曼技巧有很多种理解,最简单的是:拿张白纸;在白纸顶部写上你想理解的某想法或某过程;用你自己的话解释它,就像你在教给别人这个想法。最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知原创 2015-06-24 09:10:33 · 1612 阅读 · 2 评论 -
架构师速成4.1-幼儿园要学会如何学习(转载自36氪)
在这个资讯爆炸、新东西层出不穷的时代,学习是件终生的事业。书到用时方狠少,很多时候我们总是后悔当初没学,然后抱怨时间不够多,最后开始反思—时间对每个人来说都是公平,所以我们的问题应该是如何才能更快地学会东西?也许Sean Kim的这篇学习终极指南可以参考。如何缩短学习曲线这个课题已经被研究了几十年。其中讨论到的一些加速学习进程的核心原则这份指南都会讨论到。利用好这些原则,无论你学的是语言、转载 2015-06-24 09:05:14 · 973 阅读 · 0 评论 -
架构师速成-目录
天地会总舵,陈近南给了韦小宝一本武功秘笈,韦小宝说:“嗯?这么大一本我看要练个把月啊!”陈近南说:“这本只不过是绝世武功的目录,那边才是绝世武功的秘笈!”这就是架构速成的秘笈目录架构师速成1-前言架构师速成2-概述架构师速成2.1-论成功架构师速成2.2-论成功架构师速成3-开发者境界架构师速成4-幼儿园架构师速成4.1-幼儿园要学会如何学习架构师速成4.2-幼儿园要学会如何学原创 2015-06-21 20:48:31 · 1163 阅读 · 0 评论 -
架构师速成6-初中
阶段: 中学学时:6-12个月升学标准学会如何思考,读每本书都能整理思维导图,能使用思维导图思考。学会知识整理,使用知识管理工具整理自己的知识。掌握设计模式,可以设计一套开发框架,使用此框架开发一个产品,而且新人也可以快速使用此框架进行开发。掌握软件设计理念,有一套自己的设计、开发思路,并使用此思路完整的完成一个产品设计。精通linux中学自然要学习的东西更多,不知道你能不能坚原创 2015-06-20 12:08:39 · 1116 阅读 · 0 评论 -
架构师速成5-小学
很高兴你很快的进入了小学,小学的东西会让你更加的耀眼。阶段: 小学学时:2-3个月升学标准能自己制定目标及计划,get thing done。可以轻松制作一个让你身旁人惊叹的ppt能做一个简单的网站(或者客户端软件),数据能保存到数据库。实践经验干货来了。先说ppt吧,这个上一期已经讲了,如果你ppt做到出神入化,基本不需要做架构这么苦逼的事情了。因为你很容易成原创 2015-06-20 12:00:55 · 1614 阅读 · 0 评论 -
架构师速成7-高中
阶段: 高中学时:6-12个月升学标准掌握速读技能,能迅速吸收海量知识,取其精华,弃其糟粕。学习你涉及知识的底层标准及协议,能够讲解标准和协议产生的原因。搭建持续交付平台,能够持续自动化部署,devops。能够带团队顺利完成一个任务的开发,团队有自己的规范、流程、风格。进行性能测试。能够发现系统瓶颈,并进行调优。经过初中的锻炼你已经有了做框架的能力,设计思路,而且掌握了思维导图原创 2015-06-21 19:17:39 · 1001 阅读 · 0 评论 -
架构师速成3-开发者境界
修炼的境界自下而上分为:筑基、开光、融合、心动、金丹、元婴、出窍、分神、合体、洞虚、大乘、渡劫其实开发者也可以按照修炼的境界进行划分:入门、对象、模式、框架、架构1.入门 初学者就是为了把功能实现,不考虑其他,此时根本不考虑可读或者可修改性。2.对象 以面向对象方式进行编码,把代码分开写到不同的对象中,能够进行跨对象的交互。3.模式 关键点可以使用设计模式进原创 2015-06-18 08:12:42 · 965 阅读 · 0 评论 -
架构师速成2.1-论成功
为什么在这里插入这么一个看起来无比宏大的问题?是想告诉你成功是什么。知识在整个人生中的作用。成功是什么?这是一个很难定义的问题。有人说知足,有人说有钱,有人说有权。我自己对成功的定义是自我情感的满足和自我状态的认同,其实就是知足,而成功是通过自身的提升的达到的。自身实力包含什么呢? 实力Map={ 素质list:行动、坚持、自信、坚强、感恩、谦卑;原创 2015-06-18 08:12:06 · 1077 阅读 · 0 评论 -
架构师速成4-幼儿园
阶段: 幼儿园完成任务耗时:1-3个月升级标准熟练使用word、excel、ppt软件能写出简单的计算器,接受用户输入的+-x/运算掌握基本的沟通技巧下面详细讲一下怎么做,其实很多人都比较讨厌那种讲空洞理论的书,me too。既然我们讲技能型的知识,就讲一下如何去实践。word、excel、ppt就不需要详细讲了,但是这3个工具会对你未来的发展有很的影响,尤其是ppt能原创 2015-06-18 21:03:58 · 2194 阅读 · 0 评论 -
架构师速成5.2-如何掌握综合性技能
买菜、洗菜、切菜很多人都会,但是把几种菜混在一起做成一道可口的佳肴就不是一般人能掌握的。今天就讲解一下如何学会做一道好菜。举个例子,做网站,其实跟做菜一样。先看菜谱,看需要哪些配料,做网站,当然需要html,css,js,java,mysql这些菜,当然还需要设计模式、面向对象、框架这些调料,eclipse这样的刀,另外还需要tomcat这样的锅。磨刀 基本工具要首先用熟,原创 2015-06-30 11:18:24 · 1085 阅读 · 0 评论