如何成为一名优秀的架构师
成为一个架构师:为了这一刻,你准备了多久? 架构师的关注点:顶层设计、长期视角。 寿命:数据 > 代码(特指业务逻辑)> 技术(特指业务逻辑的载体) 不是传道受业,而是观点分享。 架构师的几种 profile:有架构能力、以架构为生也是一种架构师。 长期战略:对于任何一家公司,架构设计一定是必要的,而且需要自行解决。架构师的职责是保证组织拥有正确的设计,控制复杂度。 架构师的关键特质: 目标正确:限制条件和目标价值产生理解偏差。是架构师最常见的问题。 能力满足:为组织带来更好的外部适应性。 持续减熵:好架构等于发现、规划和演化。 思考深度和实战经验最重要:这是任何的书本都不能带给我们的。包容、求真、良知、勇气。 有没有德?考虑组织长期利益(基于良知做判断)。 有没有勇气?承担责任,决定命运。 有没有眼光?是否擅于思考? 独立、理性、有深度的思考。长期感召力,来自于良知、成功、经验和勇气。 从复盘中学习。 郭东白.pdf
项目管理
比起重要紧急排序法,MoSCow优先级排序法更适用 FORM:https://www.jianshu.com/p/f165dff094bb Must have:必须有。如果不包含,则产品不可行。Must Have的功能,通常就是最小可行产品(MVP)的功能。比如微信的聊天信息、通讯录、朋友圈。 Should have: 应该有。这些功能很重要,但不是必需的。虽然’应该有’的要求与’必须有’一样重要,但它们通常可以用另一种方式来代替,去满足客户要求。 Could have: 可以有。 这些要求是客户期望的,但不是必需的。可以提高用户体验,或提高客户满意度。如果时间充足,资源允许,通常会包括这些功能。但如果交货时间紧张,通常现阶段不会做,会挪到下一阶段做。 Won’t have(nice to have): 这次不会有。 最不重要,最低回报项目,或在当下是不适合的要求。不会被计划到当前交货计划中。 “不会有”会被要求删除,或重新考虑。 总的来说,”这次不会有”在项目讨论阶段,就会被去除。所有要求看上去都很重要,但是如果交货时间紧,“”可以有”将第一批被删除,”应该...
职场求生攻略
职场求生攻略.xmind
Redis 笔记之:内存调优
Redis 的 memory info Redis 的内存使用状况可以使用info memory来获取。 需要重点关注的值是 used_memory_rss(用于存储消耗的物理内存),used_memory(用于存储消耗的内存= 物理内存 + 硬盘),以及他们的比值mem_fragmentation_ratio(used_memory_rss/used_memory)。 used_memory_rss或者used_memory很高时,意味着当前的 Redis 实例正在蚕食系统中的内存/硬盘资源。 当这个mem_fragmentation_ratio大于 1 的时候,意味着用于存储消耗的物理内存超过了 Redis 自己掌控的内存值,也就意味着当前有些未能回收的内存泄漏或者碎片。 当这个mem_fragmentation_ratio小于 1 的时候,这意味着有一部分用于存储的内存,实际上是在使用虚拟内存中的 swap 空间,此时 Redis 的性能会非常差。 Redis 的内存轮廓 memory_used = 进程自身消耗的内存 + 存储对象的内存(大头) + buffer 内存 m...
Java中的条件编译
Java中的条件编译
《战争论》
“数量上的优势不论在战术上还是战略上都是最普遍的致胜因素。 战略上最重要而又最简单的准则是集中兵力。 人们必须承认,数量上的优势是决定一次战斗结果的最重要的因素,只不过这种优势必须足以抵消其他同时起作用的条件。从这里得出一个直接的结论:必须在决定性的地点把尽可能多的军队投入战斗。 在一般条件下进行的大小战斗中,不论其他方面的条件如何不利,只要有显著的数量上的优势,而且无需超过一倍,就足以取得胜利了。 如果我们不抱偏见地研究现代战史,那就必须承认,数量上的优势越来越起着决定性的作用。因此,在决定性的战斗中尽可能多地集中兵力这个原则,在现在必须提到过去更高的地位。 数量上的优势应该看作是基本原则,不论在什么地方都是应该首先和尽量争取的。 一切用于某一战略目的的现有兵力应该同时使用,而且越是把一切兵力集中用于一切行动和一个时刻就越好。” 《孙子-谋攻篇》:故用兵之法,十则围之,五则攻之,倍则分之,敌则能战之,少则能逃之,不若则能避之。
清分知识汇总
结算账务基础知识.xmind 本文来自于: 《中国央行支付清算系统概述(上)》 《清分、结算、清算、对账》 《银联清算业务基础知识介绍 VIP》 我国清结算架构 我国银行的(倒置)清结算架构图: 清结算属于底层架构,清算是发生在银行之间的。 在整个体系里,第三方支付公司扮演的角色是收单机构,银行提供资金服务能力。 两个例子 从以上示意图中可知,参与支付清结算的市场主体有消费者、商户、商业银行、中国人民银行、收单机构(第三方支付公司)。上面介绍的内容相对比较抽象,我们先用现实生活中一个消费场景来分析下支付活动到底发生了什么。 比如,消费者A在沃尔玛买了300元的东西,A持招商银行借记卡在建设银行铺设的线下POS机上进行付款,则整个过程分为支付、清算、结算三步骤。 A在建行POS机上刷卡时,建行POS会判断下发卡行(为招行),并询问招行A所持卡内余额是否大于300元,如果大于,则招行会告诉建行可以消费,此时A需要输入支付pw,建行将支付信息传送至招行,招行会实时借记A300元,并告知建行POS扣款成功,此时支付完成,消费者得到商品,债权债务关系变更为招行与建行之间的债权债...
财务知识
会计科目 会计科目.xmind 财务报表 三大财务报表.xmind
《架构师修炼之道》
刻戒于碑,铸法于鼎 软件特性、质量属性。 将两个元素以某种方式连接在一起,就形成了结构。 module component-connector 就是我们经常讲的系统交叉点 allocation 就涉及到我们的部署设计 每一本书都会讲到利益相关者,也就是 stakeholder。 主动撰写设计决策,承担设计职责。 软件之所以叫软件,是因为它灵活而易于变动。架构是软件里硬的部分,为变动提供了章法,也制造了约束-否则我们不用经常“对架构产生冲击”,而需要打破架构。 设计原则: 以人为本(能落地能产生价值的架构才是真的好架构) 推迟决策 善于借鉴 化虚为实 推迟决策不是推迟大的设计决策,要推迟的是细枝末节的决策。不要陷入舍本逐末的优化中,导致项目无法受控。 忽视前人的设计,是最低效的设计方法之一。所以寻找架构风格是很重要的。 设计思维模式: 理解:换位思考 探索:尝试各种结构组合,找到最能提升目标质量属性的那种组合。-大多数情况下,是我们手头最简单最现成的解决方案。 展示:用图、表、模型、原型来展示,探讨。原型应该尽量具有交互性,可以直接和客户评审。 评估:评估到底我们要做什么东西...
《计算机简史》
解决问题的过程,是探索的过程。 19 世纪 30 年代,英国工程师巴贝奇发明了差分机,用来计算数学用表。巴贝奇还构思了分析机,意图使用一般性方法,用来解决通用计算问题。巴贝奇自己还是英国科学学会会员,以及一位经济学家。巴贝奇使用齿轮和条杆来制造分析机,受到时代所限,始终无法落地,没有得到英国政府资助,没有继续下去。后来有长达一百年的时间里,人们转而使用模拟的方式解决问题。 图灵对计算机的贡献是制造了通用机。 冯诺依曼的贡献是制造了“一般性方法”,即编程。 实时计算的发展历程是:美军飞行员的训练需求诞生了旋风计算机,而后又产生了 SAGE 系统。这两个项目为美国的商用计算机行业,培养了大量程序员。而且使 IBM 认识到商用计算机的商业潜力,斥巨资开发了 SABRE 系统。 IBM 是靠生产办公机器起家的。 computer 最早是指计算员。计算机的发展序列为:哈佛马克一号,ENIAC 和 EDVAC、EDSAC(威尔克斯)、UNIVAC。个人计算机首先是阿塔利的“牵牛星 8800”,然后是苹果,苹果 2,丽萨(太贵而卖不出去),麦金塔(平价版 lisa)。 第一个革命性的通用操作系...















