因收到Google相关通知,网站将会择期关闭。相关通知内容 000 开篇词 洞悉技术的本质,享受科技的乐趣 你好,我是陈皓,网名左耳朵耗子。我目前在创业,MegaEase 是我的公司,致力于为企业提供高可用、高并发、高性能的分布式技术产品,同时也提供物联网(IoT)方向的技术产品。 我之前在阿里巴巴、亚马逊、汤森路透等公司任职,职业背景是金融和电子商务行业,主要研究的技术方向是一些大规模分布式系统的基础架构。 从大学毕业一直做技术工作,到今天有 20 年了,还在写代码,因为我对技术有很大的热情。我从 2002 年开始写技术博客,到 2009 年左右开始在独立的域名 CoolShell.cn(酷壳)上分享我对技术的一些见解和心得。 本来只想记录一下,没想到得到了很多人的认可,这对我来说是一个不小的鼓励。我的文章和分享始终坚持观点鲜明的特点,因为我希望可以引发大家的讨论和批评,这样分享才更有意义。 无论我的观点是否偏激、不成熟,或者言辞犀利,在经历过大家的批评和讨论后,我都能够从中得到不在我视角内的思考和认知,这对我来说是非常重要的补充,对我的个人成长非常重要。 我相信,看到这些文章和讨论的人,也能从中收获到更多的东西。 坦率地讲,刚收到专栏撰写邀请的时候,我心里面是拒绝的。正如前面所说的,我分享的目的是跟大家交流和讨论,我认为,全年付费专栏这样的方式可能并不好。而且,付费专栏还有文章更新频率的 KPI,这对于像我这样一定要有想法才会写文章的人来说是很痛苦的,因为我不想为了写而写。 所以,最初,我是非常不情愿的。 极客邦科技的编辑跟我沟通过很多次,也问过我是否在做一些收费的咨询或是培训,并表明这个专栏就是面对这样的场景的。我想想也是。我其实从 2003 年就开始为很多企业做内部的培训和分享了。 这些培训涵盖了很多方面,如软件团队管理、架构技术、编程语言、操作系统等,以及一些为企业量身定制的咨询或软件开发,这些都是收费的。 而我一直以来也没有把这些内容分享在我的博客里,主要原因是我觉得这些内容是有商业价值的,是适合收费的。它们都是实实在在的,是我多年来对实战经验的深入总结和思考,非常来之不易。 我不太舍得拿出来大范围地分享,以前基本上仅小范围地在企业内部比较封闭的环境里讲讲。所以说,我这边其实是有两种分享,一种是企业内的分享,一种则是像 CoolShell 或是大会这样的公开分享。 前者更企业化一些,后者更通俗化一些。 在这个付费专栏中,除了继续保持观点鲜明的行文风格,我会分享一些与个人或企业切身利益更为相关的内容,或者说更具指导性、更有商业价值的东西。而 CoolShell,我还会保持现有的风格继续写下去。 正如这个专栏的 Slogan 所说:“洞悉技术的本质,享受科技的乐趣”,我会在这个专栏里分享包括但不限于如下这些内容。 技术 对于技术方面,我不会写太多关于知识点的东西,因为这些知识点你可以自行 Google 可以 RTFM。我要写的一定是以体系化的,而且要能直达技术的本质。入行这 20 年来,我最擅长的就是架构和开发各种大规模的系统,所以,我会有 2-3 个和分布式系统相关的系列文章。 我学过也用过好多编程语言,所以,也会有一系列的关于编程本质的文章。而我对一些基础知识研究得也比较多,所以,还会有一系列与基础知识相关的文章。 当然,其中还会穿插一些其它的技术文章,比如一些热点事件,还有一些经验之谈,包括我会把我的《程序员技术练级攻略》在这个专栏里重新再写一遍。这些东西一定会让你有醍醐灌顶的感觉。 分布式系统架构的本质 分布式系统架构的冰与火 从亚马逊的实践,谈分布式系统的难点 分布式系统的技术栈 分布式系统关键技术:全栈监控 分布式系统关键技术:服务调度 分布式系统关键技术:流量与数据调度 洞悉 PaaS 平台的本质 推荐阅读:分布式系统架构经典资料 推荐阅读:分布式数据调度相关论文 分布式系统设计模式 弹力设计篇 认识故障和弹力设计 隔离设计 Bulkheads 异步通讯设计 Asynchronous 幂等性设计 Idempotency 服务的状态 State 补偿事务 Compensating Transaction 重试设计 Retry 熔断设计 Circuit Breaker 限流设计 Throttle 降级设计 degradation 弹力设计总结 管理设计篇 分布式锁 Distributed Lock 配置中心 Configuration Management 边车模式 Sidecar 服务网格 Service Mesh 网关模式 Gateway 部署升级策略 性能设计篇 缓存 Cache 异步处理 Asysnchronous 数据库扩展 秒杀 Flash Sales 边缘计算 Edge Computing 区块链技术 区块链的革命性及技术概要 区块链技术细节 - 哈希算法 区块链技术细节 - 加密和挖矿 去中心化的共识机制 智能合约 传统金融和虚拟货币 编程范式游记 编程范式游记(1)- 起源 编程范式游记(2)- 泛型编程 编程范式游记(3)- 类型系统和泛型的本质 编程范式游记(4)- 函数式编程 编程范式游记(5)- 修饰器模式 编程范式游记(6)- 面向对象编程 编程范式游记(7)- 基于原型的编程范式 编程范式游记(8)- Go 语言的委托模式 编程范式游记(9)- 编程的本质 编程范式游记(10)- 逻辑编程范式 编程范式游记(11)- 程序世界里的编程范式 …… 热点事件 Equifax 信息泄露始末 从 Equifax 信息泄露看数据安全 …… 经验之谈 Go 语言,Docker 和新技术 程序中的错误处理:错误返回码和异常捕捉 程序中的错误处理:异步编程和最佳实践 魔数 0x5f3759df 推荐阅读:机器学习 101 故障处理最佳实践:应对故障 故障处理最佳实践:故障改进 …… 成长 在过去这 20 年中,我感觉到,很多人都非常在意自己的成长。所以,我会分享一堆我亲身经历的,也是我自己实验的与个人发展相关的文章。 比如,如何利用技术变现、如何面试、如何选择新的技术、如何学习、如何管理自己的时间、如何管理自己的老板和工作、如何成为一个 Leader……这些东西一定会对你有用。(但是,我这里一定不会有速成的东西。一切都是要花时间和精力的。如果你想要速成,你不应该来订阅我的专栏。) 程序员如何用技术变现(上) 程序员如何用技术变现(下) 何为技术领导力 如何拥有技术领导力 推荐阅读:每个程序员都该知道的事 答疑解惑:渴望、热情和选择 如何成为一个大家愿意追随的 Leader? 时间管理:同扭曲时间的事儿抗争 时间管理:投资赚取时间 答疑解惑:我们应该能够识别的表象和本质 …… 程序员练级攻略 2018 开篇词 入门篇 零基础启蒙 正式入门 修养篇 程序员修养 专业基础篇 编程语言 理论学科 系统知识 软件设计篇 软件设计 高手成长篇 Linux 系统、内存和网络(系统底层知识) 异步 I/O 模型和 Lock-Free 编程(系统底层知识) Java 底层知识 数据库 分布式架构入门(分布式架构) 分布式架构经典图书和论文(分布式架构) 分布式架构工程设计 (分布式架构) 微服务 容器化和自动化运维 机器学习和人工智能 前端基础和底层原理(前端方向) 前端性能优化和框架(前端方向) UI/UX 设计(前端方向) 技术资源集散地 程序员面试攻略 面试前的准备 面试中的技巧 面试风格 实力才是王中王 高效学习 端正学习态度 源头、原理和知识地图 深度,归纳和坚持实践 如何学习和阅读代码 面对枯燥和量大的知识 高效沟通 Talk 和 Code 同等重要 沟通阻碍和应对方法 沟通方式及技巧 沟通技术 好老板要善于提问 好好说话的艺术 管理 这 20 年,我觉得做好技术工作的前提是,得做好技术的管理工作。只有管理好了软件工程和技术团队,技术才能发挥出最大的潜力。大多数的技术问题都是管理上的问题。 所以,我会写上一系列的和管理相关的文章,涵盖管理三个要素:团队、项目和管理者自己。比如,人员招聘、绩效考核、提升士气、解决冲突、面对变化、沟通说服、项目管理、任务排期、会议、远程管理,等等。 这些内容都是我在外企工作时,接受到的世界顶级管理培训机构培训内容,我会把我的实践写出来分享给你。这其中一定少不了亚马逊相关的各种实践。这些东西,我和很多公司和大佬都讲过,到目前为止还没有人不赞的。 为了对付费用户负责,保证文章能够达到收费的质量,我承诺这个专栏的每一篇文章一定是用心创作的,而且是可以让你从中受益的。 但因为是第一次做全年专栏,收费也让我有一定的压力,所以,我非常希望你能够跟我分享你的感受和体会。 我会根据你的反馈及时做出调整和修正,并不断努力提高文章的质量和思想高度,以满足你对有价值、有营养的文章的需求。