失效链接处理 |
程序员的底层思维_张建飞 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/11576611321.html
相关截图: 资料简介: 本书涵盖程序员应知应会的16种思维能力,共18章,分为三部分。#一部分主要介绍抽象思维、逻辑思维、结构化思维、批判性思维、维度思维、分类思维、分治思维、简单思维,以及成长型思维等解决日常问题的基础思维能力。二部分结合软件行业的特点,主要介绍解耦思维、契约思维、模型思维、工具化思维、量化思维、数据思维,以及产品思维等专业思维能力。三部分主要是对上述思维能力的综合运用实践。 资料目录: #一部分? 基础思维能力 01? 抽象思维 2 1.1? 抽象 = 抽离 + 具象 3 1.2? 抽象是哲学思维的基础 4 1.3? 语言的抽象性 5 1.4? 软件设计中的抽象 7 1.4.1? 面向对象的核心是抽象 7 1.4.2? 抽象设计的评判标准 8 1.4.3? 抽象缺失之基础类型偏执 9 1.4.4? 抽象缺失之重复代码 12 1.4.5? 抽象设计要完整 14 1.4.6? 不要为了抽象而抽象 15 1.5? 抽象的层次性 17 1.5.1? 对抽象层次的权衡 17 1.5.2? 软件中的分层抽象 20 1.5.3? 强制类型转换中的抽象层次问题 22 1.5.4? 抽象层次一致性原则 24 1.6? 锻炼抽象思维能力 28 1.7? 精华回顾 30 参考文献 30 02? 逻辑思维 31 2.1? 逻辑就是关系 32 2.2? 逻辑三要素之概念 33 2.2.1? 概念要明确且清晰 34 2.2.2? 制定团队通用语言 35 2.2.3? 管理者的概念技能 36 2.3? 逻辑三要素之判断 37 2.4? 逻辑三要素之推理 38 2.4.1? 演绎推理:因为,因为,所以 38 2.4.2? 归纳推理:从特殊到一般 40 2.4.3? 溯因推理:大胆假设,小心求证 41 2.5? 逻辑链 42 2.5.1? 5Why思考法 43 2.5.2? 5So思考法 44 2.6? 逻辑谬误 45 2.6.1? 偷换概念 46 2.6.2? 错误假设 46 2.6.3? 循环论证 47 2.6.4? 以偏概全 48 2.6.5? 滑坡谬误 48 2.7? 非理性思考 49 2.8? 精华回顾 50 参考文献 50 03? 结构化思维 51 3.1? 结构与架构 51 3.2? 从无序到有序 52 3.3? 金字塔结构 54 3.4? 金字塔中的逻辑 57 3.4.1? 纵向逻辑关系 58 3.4.2? 横向逻辑关系 60 3.5? 如何搭建结构 64 3.5.1? 自上而下 65 3.5.2? 自下而上 66 3.5.3? 上下结合 70 3.6? 更多结构思维框架 71 3.7? 精华回顾 73 04? 批判性思维 74 4.1? 理解批判 75 4.2? 批判中台 77 4.2.1? 中台的底层逻辑 77 4.2.2? 业务中台为何低效 77 4.2.3? 解决中台的困境 79 4.3? 批判架构师 82 4.3.1? 尴尬的架构师 83 4.3.2? 尴尬的架构部门 83 4.3.3? 人人都是架构师 84 4.4? 批判技术管理者 85 4.4.1? 技术不作为 86 4.4.2? 业务不思考 87 4.4.3? 脾气火爆 87 4.5? 自我批判 87 4.6? 精华回顾 89 参考文献 89 05? 维度思维 90 5.1? 维度究竟是什么 90 5.2? 多维度思考 91 5.3? 不做if else程序员 93 5.3.1? 多态扩展 94 5.3.2? 代码分离 95 5.3.3? 矩阵分析 96 5.3.4? 殊途同归 98 5.4? 无处不在的矩阵分析 99 5.4.1? 波士顿矩阵 99 5.4.2? 订单要素分析 100 5.4.3? RFM模型 101 5.4.4? 逻辑推理中的矩阵 103 5.4.5? 相关系数矩阵 104 5.5? 设计模式中的维度思维 105 5.6? 组织管理中的维度思维 109 5.6.1? 人员分工矩阵 109 5.6.2? 人才盘点矩阵 110 5.6.3? 需求管理矩阵 110 5.7? 精华回顾 111 06? 分类思维 112 6.1? 分类是本能 112 6.2? 分类无处不在 113 6.3? 分类的本质 114 6.3.1? 寻找共同属性 114 6.3.2? 经典分类与概念聚集分类 115 6.3.3? 多种多样的分类角度 116 6.4? 没有“完#美”分类 117 6.5? 软件设计中的分类 118 6.5.1? 对象分类 118 6.5.2? 构建分类 119 6.5.3? 领域分类 121 6.6? 组织架构中的分类 122 6.6.1? 业务型组织 123 6.6.2? 职能型组织 124 6.7? 互联网产业分类 125 6.8? 精华回顾 127 参考文献 128 07? 分治思维 129 7.1? 分治设计模式 129 7.1.1? 管道模式 130 7.1.2? 责任链模式 133 7.2? 分布式系统 138 7.2.1? 轴拆分 139 7.2.2? y轴拆分 140 7.2.3? z轴拆分 140 7.2.4? yz轴拆分对比 142 7.3? 分治算法 142 7.4? 解决问题的黄金三步 143 7.5? “分治并”的应用 144 7.5.1? 流式计算 145 7.5.2? 分布式数据库 146 7.6? 精华回顾 149 参考文献 149 08? 简单思维 150 8.1? 简化是逆向做功 151 8.1.1? 压缩、隐藏与赋予 151 8.1.2? 减少选择 152 8.1.3? 奥卡姆剃刀 155 8.2? 干掉流程引擎 156 8.3? 极简状态机的实现 157 8.3.1? 领域专用语言的分类 158 8.3.2? 极简状态机的模型设计 159 8.3.3? 连贯接口设计 161 8.3.4? 无状态设计 164 8.3.5? 极简状态机的使用 165 8.4? COLA的壮士断腕 166 8.5? 复杂的产品没人用 167 8.6? 精华回顾 169 09? 成长型思维 170 9.1? 走过至暗时刻 170 9.2? 成长型思维与固定型思维 171 9.3? 大脑的可塑性 173 9.4? 培养成长型思维 174 9.4.1? 明确努力的意义 175 9.4.2? 改变归因习惯 175 9.4.3? 摆脱精神内耗 176 9.4.4? 持续精进 178 9.4.5? 保持好奇心 179 9.4.6? 守住ping常心 180 9.4.7? 慢也是快 181 9.4.8? 掌握表扬的技巧 182 9.5? 成功人士的成长型思维 184 9.6? 精华回顾 185
二部分? 专业思维能力 10? 解耦思维 188 10.1? 耦合与解耦 189 10.2? 依赖倒置解耦 189 10.2.1? 抽象比具体灵活 190 10.2.2? 面向接口编程 191 10.2.3? 应用与日志框架的解耦 192 10.3? 中间层映解耦 195 10.3.1? DNS的解耦设计 196 10.3.2? CDN的解耦设计 197 10.4? 解耦的技术演化 199 10.5? 应用架构中的解耦 201 10.6? 精华回顾 204 11? 契约思维 205 11.1? 软件设计中的规范 206 11.1.1? 命名规范 206 11.1.2? 异常处理规范 207 11.1.3? 架构规范 210 11.1.4? 规范的维护 211 11.2? 软件设计中的标准 212 11.2.1? 前端标准化之路 212 11.2.2? Java规范 213 11.2.3? API设计标准 216 11.3? 依赖契约的扩展机制 218 11.3.1? 基于接口的扩展 218 11.3.2? 基于配置数据的扩展 220 11.4? 掌握标准制定权 222 11.5? 精华回顾 225 参考文献 225 12? 模型思维 226 12.1? 模型及其分类 226 12.1.1? 物理模型 227 12.1.2? 数学模型 227 12.1.3? 概念模型 228 12.1.4? 思维模型 228 12.1.5? 模型不能代替实物 229 12.2? UML建模工具 229 12.2.1? 类的UML表示法 231 12.2.2? 类的关联关系 232 12.2.3? 类的依赖关系 236 12.2.4? 类的泛化关系 237 12.2.5? 类与接口的实现关系 238 12.3? 领域模型 239 12.3.1? 限界上下文 240 12.3.2? 上下文映 241 12.4? 领域模型与数据模型 243 12.4.1? 错把领域模型当数据模型 244 12.4.2? 错把数据模型当领域模型 246 12.4.3? 两种模型各司其职 248 12.5? 精华回顾 249 13? 工具化思维 251 13.1? 你我都是“工具人” 252 13.2? 工具化的一般步骤 252 13.3? TestsContainer小工具 253 13.4? 组合创新也是创新 258 13.5? ORM工具 261 13.6? 基础设施即代码 267 13.7? 巧用便签贴 269 13.8? 精华回顾 270 参考文献 270 14? 量化思维 271 14.1? 量化的步骤 271 14.1.1? 定义指标 272 14.1.2? 将指标数字化 273 14.1.3? 优化指标 274 14.2? 研发效能度量 275 14.2.1? 度量不是“指标游戏” 275 14.2.2? 力求合理的度量 276 14.3? 目标管理 278 14.3.1? SMART原则 278 14.3.2? OKR考核指标 279 14.3.3? 不要迷信指标 280 14.4? 量化网站运营 281 14.5? 量化技术贡献 282 14.6? 精华回顾 284 15? 数据思维 285 15.1? “精通”数据 285 15.2? 数据体系概览 286 15.2.1? 数据源 286 15.2.2? 数据仓库 287 15.2.3? ETL 289 15.2.4? 元数据 291 15.2.5? 数据应用 292 15.3? 数仓建模 292 15.3.1? 维度模型 293 15.3.2? 事实明细表 295 15.3.3? 事实汇总表 297 15.4? 数据产品ping台 299 15.4.1? 看我情 300 15.4.2? 看行情 301 15.4.3? 看敌情 301 15.5? 用数据说话 302 15.6? 精华回顾 303 16? 产品思维 304 16.1? 产品的三要素 305 16.1.1? 用户 305 16.1.2? 需求 305 16.1.3? 场景 306 16.2? 产品的分类 306 16.2.1? 用户关系角度 307 16.2.2? 用户需求角度 307 16.2.3? 用户类型角度 307 16.2.4? 产品形态角度 308 16.3? 产品架构 308 16.4? 产品化 310 16.5? ping台化 312 16.5.1? 企业ping台化 312 16.5.2? ping台化建设 314 16.5.3? ping台产品化 316 16.6? 精华回顾 318 |