Fork me on GitHub
架构师速成之路
架构师速成8.4-分库分表的关键点
摘要: 我们还是由浅入深(这个词我喜欢,你呢?)的讨论一下,分库分表的关键点(本故事纯属虚构,仅为搞笑):当你的系统很小的时候,只有一个数据库,每个表的主键都是自增的,你都不去关心主键变成了多少,反正db保证自增,小日子过的很是惬意。但惬意的日子总是短暂的,你因为DB宕机被老板fire 3次(见上一个故事)...阅读全文

posted @ 2015-08-13 09:10 for5million 阅读(342) | 评论 (5) 编辑

架构师速成-如何高效编程 for java
摘要: 引子赵云大喝一声,挺枪骤马杀入重围,左冲右突,如入无人之境。那枪浑身上下,若舞梨花;遍体纷纷,如飘瑞雪。赵云是所有历史人物中我最喜欢的一个,如果放到现代,他走了it的道路,一定可以成为一个编程高手。为什么?其实古时打仗也是一门技术活,需要有勇有谋,跟it没有什么太大的区别。打仗要修身、修技、修器才能...阅读全文

posted @ 2015-08-12 08:13 for5million 阅读(3008) | 评论 (28) 编辑

架构师速成8.3-可用性之分库分表
摘要: 有状态分布式,涉及的知识就比较多了,不过我们可以拿几个现实的例子由浅入深的来理解。数据库的分库分表假设你是一个开发负责人,开始使用单机的数据库,突然一天数据库硬盘挂掉了。你没有做备份,然后就没有然后了。进入第2个公司,你意识到备份的重要性,每天定时备份到另一台机器,突然有一天,数据库硬盘挂掉了。你心...阅读全文

posted @ 2015-08-11 08:11 for5million 阅读(739) | 评论 (5) 编辑

架构师速成8.3-可用性之分布式
摘要: 分布式算是软件界发展的一个里程碑,它开辟一个新的软件时代,其他的溢美之词我就不再乱说了。分布式按照我的观点,应该分为有状态和无状态2种:有状态分布式数据库分布式存储无状态分布式计算分布式web系统当然分布式尽量做成无状态的分布式,但是存储最终因为最终存储的是有状态的数据,所以不得不变的有状态。当然w...阅读全文

posted @ 2015-08-10 08:14 for5million 阅读(612) | 评论 (0) 编辑

架构师速成8.3-可用性
摘要: 作为一个软件系统可用性是第一位的,如果一个系统不可用,你其他的地方做的再怎么好,然并卵。一般什么情况下软件会不可用:我方发生故障,导致系统不可用,当然会出现单机的不可用及n多机器群的全部不可用。程序故障 功能错误、程序退出系统故障 CPU超负荷、内存超负荷、网络超负荷物理故障 机器死机 断电 断网不...阅读全文

posted @ 2015-08-09 08:36 for5million 阅读(456) | 评论 (2) 编辑

架构师速成8.3-架构师必须要了解的规则(转)
摘要: 作为一个架构师,有些规则是必须要掌握的,这就想软件的公理,如果你学物理不知道牛顿定律,那就不要学了。在软件行业也有类似的东西,我称之为软件定律。例如:ACID,CAP,BASEACID传统数据库系统中,事务具有ACID 4个属性(1)原子性(Atomicity):事务是一个原子操作单元,其对数据的修...阅读全文

posted @ 2015-08-08 09:52 for5million 阅读(212) | 评论 (0) 编辑

架构师速成6.15-开发框架-单点登录
摘要: 单点登录应该归为架构的部分了,但是一般网站在开始的时候最好有单点登录的思想,防止后期再做大量的修改。而且单点登录对于开发人员来说并没有增加太多额外的工作量,所以提前讲一下对大家都是好的。先说一下单点登录的机制(摘自百度百科,给我广告费):当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认...阅读全文

posted @ 2015-08-07 09:45 for5million 阅读(290) | 评论 (0) 编辑

架构师速成6.14-开发框架-异常处理
摘要: 异常为什么需要单独一节来讲解呢?因为异常是软件设计里一项需要架构者自己构思处理的一个特殊部分。一般的框架没有提供统一的处理方式,而且会被很多同学忘记处理,或者是比较粗糙处理掉。想一想有很多网站出错时,用户会看到一大段的英文异常,甚至执行的sql都包含在里面,你会不会觉得很不专业呢?首先异常应该分类,...阅读全文

posted @ 2015-08-06 07:12 for5million 阅读(257) | 评论 (0) 编辑

架构师速成6.13-开发框架-前后结合
摘要: 前面说完了前端和后端的封装,本节再单独讲解一下哪些地方需要前后结合。AJAX的前后端结合:定义统一的返回消息体,{isError:true/false,message:’需要返回的消息’,data:{返回的数据},postAction:{后续的动作}}根据消息体的返回,进行不同类别的展示,例如:错误...阅读全文

posted @ 2015-08-05 08:55 for5million 阅读(249) | 评论 (0) 编辑

架构师速成6.12-开发框架-前端封装
摘要: 做一个网站不只有写后端代码,为了更好的用户体验以及更优雅的代码实现,我们也需要对前端进行封装。但是在谈封装之前还是要先提一下统一的规范,前端统一的规范尤为重要,这是给用户一致性体验最核心的关键点。我举一个反面的例子,大家可能一下就明白前端规范的重要性了。之前做过一个网站,流程如下:设计给图片前端照图...阅读全文

posted @ 2015-08-04 09:17 for5million 阅读(324) | 评论 (0) 编辑

架构师速成6.11-开发框架-后端封装思路 分类: 架构师速成 2015-07-31 07:46 91人阅读 评论(0) 收藏
摘要: 要做一个好的开发框架并不是直接找一个现成的Spring就ok了,这个对于一般新手来说学习难度还是有点高。另外Spring还是一个通用性的框架,我们需要针对业务的定制化封装。我以java为例讲解一下后端需要做什么:确定层数结构parentcommontestdaoservice-commonservi...阅读全文

posted @ 2015-07-31 07:46 for5million 阅读(107) | 评论 (0) 编辑

架构师速成6.9-如何写好代码 分类: 架构师速成 2015-07-30 18:38 118人阅读 评论(0) 收藏
摘要: 读过很多代码,有些人写了5年以上的代码,但是代码烂到直接让人无从读起。有人写的代码让人读的赏心悦目,为什么人与人之间的差距这么大呢?看来如何写好代码还是一件很值得一说的事情。关键思想:人写代码是用来给别人读的,而不是给机器执行的。写代码就应该像写小说一样,让人读的轻松愉快。软件的生命周期中,维护周期...阅读全文

posted @ 2015-07-30 18:38 for5million 阅读(82) | 评论 (0) 编辑

架构师速成6.8-设计开发思路-领域驱动 分类: 架构师速成 2015-07-30 18:28 15人阅读 评论(0) 收藏
摘要: 领域驱动设计简称DDD,很好的名字,先来普及一下相关的名词缩写:测试驱动设计 TDD,行为驱动设计 BDD,面向对象设计 OOD,面向过程设计 OPD。设计思路和方法是一项专门的技能,区别于设计模式,编程语言。UML是设计的工具,设计方法是设计的灵魂,而且设计方法并没有好坏之分。关键是你需要掌握各种...阅读全文

posted @ 2015-07-30 18:28 for5million 阅读(72) | 评论 (0) 编辑

架构师速成6.7-设计开发思路-uml 分类: 架构师速成 2015-07-29 18:25 157人阅读 评论(0) 收藏
摘要: uml是什么东西?统一建模语言,一门语言,是用来进行软件设计的一门语言。其实一门语言的诞生并不伟大,让大多数人都使用才足够伟大。uml就是一门伟大的语言,因为目前软件设计的唯一语言就是它。UML其实还是比较简单的,就那么几个图形,那么几种模式,但是因为他是唯一的语言,所以有设计能力的人都能很容易看懂...阅读全文

posted @ 2015-07-29 18:25 for5million 阅读(60) | 评论 (0) 编辑

架构师速成5.2-价值观和目标 分类: 架构师速成 2015-07-28 19:18 77人阅读 评论(0) 收藏
摘要: 价值观和人生目标是gtd的最上层要素,如果你整个人生的价值观和目标都不清晰,后面的路会因为失去方向而走的比较艰辛。但好多人都不太清楚价值观和人生目标如何确定,这2个东西太抽象了。首先要先说一下价值观是什么?心理学家发现我们会受到不同的事物所鼓舞和推动,这些动力往往归纳为:需要、兴趣、价值、信念及喜好...阅读全文

posted @ 2015-07-28 19:18 for5million 阅读(58) | 评论 (0) 编辑

架构师速成7.6-高中书单资料推荐 分类: 架构师速成 2015-07-22 12:18 301人阅读 评论(0) 收藏
摘要: 速读速记:如何高效阅读10倍速影像阅读法超右脑快速记忆法项目管理:敏捷开发的艺术敏捷软件开发硝烟中的Scrum 和XP精益开发实战走出软件作坊人件人月神话黑客与画家死亡之旅企业架构:企业应用架构模式devOps:持续集成:软件质量改进和风险降低之道性能:深入理解Java虚拟机Java性能优化权威指南...阅读全文

posted @ 2015-07-22 12:18 for5million 阅读(66) | 评论 (0) 编辑

架构师速成6.18-初中书单资料推荐 分类: 架构师速成 2015-07-21 22:01 174人阅读 评论(0) 收藏
摘要: 思维导图你的第一本思维导图操作书画出好成绩-通过思维导图提升分数思维导图系列知识管理你的知识需要管理面向对象写给大家看的面向对象编程书面向对象分析与设计深入浅出面向对象分析与设计软件设计UML精粹UML基础、案例与应用Head First软件开发领域驱动设计写好代码重构:改善既有代码的设计代码大全代...阅读全文

posted @ 2015-07-21 22:01 for5million 阅读(58) | 评论 (0) 编辑

架构师速成4.6-软技能和硬技能 分类: 架构师速成 2015-07-20 22:59 241人阅读 评论(0) 收藏
摘要: 在投职和面试的过程中,雇主通常会查看求职者的两种技能:硬技能与软技能。硬技能就是能够通过培训或可以容易量化的技能。硬技能包括下面这些:熟练的外语能力文凭或证书打字速度计算机程序编写能力而软技能,则是较难量化的主观性技能,例如:团队合作沟通时间管理而且绝多数的日常软性技能都是可以跨领域迁移,硬技能有时...阅读全文

posted @ 2015-07-20 22:59 for5million 阅读(58) | 评论 (0) 编辑

架构师速成7.5-性能优化为什么写的这么晚? 分类: 架构师速成 2015-07-19 20:03 256人阅读 评论(0) 收藏
摘要: 性能优化是程序员的G点,一碰就会高潮!(小朋友不懂的不不要懂了)但是我为啥这么晚才抛出这个命题,其实有人早就急不可待吧。我这么晚写是有这么晚写的理由的,其实性能优化,在做一个小的网站,根本没有什么卵用。一个流量小的网站,框架做好,架构做好,表结构设计好,根本没有太大的必要去优化,因为机器都闲着没有什...阅读全文

posted @ 2015-07-19 20:03 for5million 阅读(46) | 评论 (0) 编辑

架构师速成5.5-小学书单资料推荐 分类: 架构师速成 2015-07-19 09:00 299人阅读 评论(0) 收藏
摘要: ppt进阶写给大家看的PPT设计书说服力 让你的PPT会说话PPT,要你好看别告诉我你懂PPT时间管理小强升职记把时间当作朋友高效能人士的七个习惯技术类head first javahead first sqlhead first html cssthinking in javaeffective ...阅读全文

posted @ 2015-07-19 09:00 for5million 阅读(45) | 评论 (0) 编辑

架构师速成4.8-幼儿园书单资料推荐 分类: 架构师速成 2015-07-18 11:03 248人阅读 评论(0) 收藏
摘要: java学习head first java高效学习如何高效学习学习之道学习要像加勒比海盗如何高效阅读沟通沟通的艺术沟通:用故事产生共鸣演讲之禅60天完美口才打造计划学习资料站http://www.read.org.cn/http://book.douban.com/ ...阅读全文

posted @ 2015-07-18 11:03 for5million 阅读(51) | 评论 (0) 编辑

架构师速成8.2-架构师要懂产品 分类: 架构师速成 2015-07-18 07:25 232人阅读 评论(0) 收藏
摘要: 产品和架构两个截然不同的职业,好像风马牛不相及,其实不是这样的。产品的思想需要经过技术的手来成为现实,在成为现实之前,需要技术理解、评估、碰撞、优化、把控、验证等等。当然架构师就承担了这一系列技术的责任,而且在一个产品的实现过程中,技术架构并不是很重要的,前期可以没有架构,简单快速验证,只有在用户多...阅读全文

posted @ 2015-07-18 07:25 for5million 阅读(45) | 评论 (0) 编辑

架构师速成8.1-谈做技术人员的态度 分类: 架构师速成 2015-07-18 07:22 56人阅读 评论(0) 收藏
摘要: 谦卑,永远保持谦卑。热情,永远保持热情。同行相轻在中国好像是一个惯例,互相看不起,互相贬低,也充斥了软件行业的每个角落。想成为一个架构师请先保持你的内心的谦卑,永远不要嘲笑或贬低任何一个人。因为当你嘲笑或者贬低一个人时,世界就给你关了一扇门。其实群体的意志才是最强大的,当你有一个团队,一般情况下团队...阅读全文

posted @ 2015-07-18 07:22 for5million 阅读(47) | 评论 (0) 编辑

架构师速成6.6-知识的收集整理学习 分类: 架构师速成 2015-07-16 21:50 254人阅读 评论(0) 收藏
摘要: 知识如何学习前面已经讲了2节,这节主要讲知识的整理和沉淀。其实我之前也一直没有好好的思考过这个问题,今天在整理自己的wiz知识库的时候突发灵感,所以有了这一节。其实知识获取的过程分为搜索->收集->整理->精化->应用->分享,前一部分跟时间管理的收集也很相近吧。知识获取的思路适用于有目的的知识收集...阅读全文

posted @ 2015-07-16 21:50 for5million 阅读(44) | 评论 (0) 编辑

架构师速成7.4-架构师为什么要带团队 分类: 架构师速成 2015-07-15 09:12 558人阅读 评论(2) 收藏
摘要: 有人说架构师明明只需要做架构,干嘛要扯出来带团队,带团队不是项目经理或者CTO之类的管理人员干的事情吗?其实这个是一个误区,架构师其实是一个全栈的特殊人物,应该项目开发的所有的环节和角色都有深入了解,尤其是带过团队对你的帮助会更大。那种只做架构,而且仅会做架构的架构师,是大公司畸形的产物,在我看来,...阅读全文

posted @ 2015-07-15 09:12 for5million 阅读(43) | 评论 (0) 编辑

架构师速成6.5-也谈设计模式 分类: 架构师速成 2015-07-14 19:48 284人阅读 评论(0) 收藏
摘要: 回头来回顾之前写的文章,发现初中阶段的内容缺了一块很重要的内容就是设计模式。设计模式是程序员的另一个G点,无论吹牛,还是面试,还是设计都会秀一下设计模式,这也奠定了设计模式不可动摇的地位。我主要讲一下设计模式如何学习,哪些虚的我就不讲了。找2本书就可以了,大话设计模式和head first设计模式速...阅读全文

posted @ 2015-07-14 19:48 for5million 阅读(55) | 评论 (0) 编辑

架构师速成7.2-为什么要学习协议、规范 分类: 架构师速成 2015-07-12 20:50 330人阅读 评论(0) 收藏
摘要: 我们在开发过程中会碰到很多协议,标准规范类的东西,比如http协议,比如 javaEE标准等等。有人觉得这些很枯燥,根本不需要去关注,但是恰恰相反,这个很重要。协议和标准规范,是一个时代人类智慧的结晶,汇聚了很多牛人和专家的智慧。你需要从中吸取他们设计的理念,对程序的设计也会有很大的帮助。理解协议对...阅读全文

posted @ 2015-07-12 20:50 for5million 阅读(55) | 评论 (0) 编辑

架构师速成7.3-devops为什么很重要 分类: 架构师速成 2015-07-07 17:22 410人阅读 评论(0) 收藏
摘要: evops是一个很高大上的名字,其实说的简单点就是开发和运维本身就是一个团队的,要干就一起把事情干好。谁出了问题,网站都不行。作为一个架构师,必须要devops,而且要知道如何推行devops。首先要自动化,举个阿里的例子,阿里通过aone系统来实现半自动化部署:开发人员开发代码先自测通过后,提交代...阅读全文

posted @ 2015-07-07 17:22 for5million 阅读(61) | 评论 (0) 编辑

架构师速成7.1-速读、速记 分类: 架构师速成 2015-07-06 09:56 342人阅读 评论(0) 收藏
摘要: 速读速记一直是很多人梦寐以求的技能,想象一下,别人看一本书2天,你看一本半天,而且记得比别人清楚,这是一件多么开心的事情。当然有人不相信有这样的技能的存在,我只能说呵呵。如果你看过记牌或者任意图像的记忆分辨,你会吓哭的。我觉得我好像可以速读,但是速记练过一段时间,没有坚持下来,所以速记算是没有的。不...阅读全文

posted @ 2015-07-06 09:56 for5million 阅读(60) | 评论 (0) 编辑

架构师速成6.4-开发框架 分类: 架构师速成 2015-07-05 11:18 402人阅读 评论(0) 收藏
摘要: 经历了很多公司,看过好多代码。传统行业公司普遍都有自己一套统一的开发框架,封装的非常傻瓜化,门槛极低,便于不同的项目快速开发上线。比如有一个银行业框架封装到开发人员只需要在界面上拖拽就完成大部分工作,然后在拖拽好的模块里面添加一些业务代码就ok了。用友,华为也是类似。当然传统行业缺点是,一套框架用n...阅读全文

posted @ 2015-07-05 11:18 for5million 阅读(130) | 评论 (0) 编辑

posted on 2015-08-13 23:16  HackerVirus  阅读(6173)  评论(0编辑  收藏  举报