01你为什么需要数据分析能力?
你好,我是陈旸,清华大学计算机系博士毕业。清华有一门课,叫数据挖掘,正是通过这门课,我学会了如何从海量的数据中找到关联关系,以及如何进行价值挖掘。那时候感觉自己掌握了一门利器,就特别想找到一个钉子,来试试自己手里的这把锤子。
你好,我是陈旸,清华大学计算机系博士毕业。清华有一门课,叫数据挖掘,正是通过这门课,我学会了如何从海量的数据中找到关联关系,以及如何进行价值挖掘。那时候感觉自己掌握了一门利器,就特别想找到一个钉子,来试试自己手里的这把锤子。
开篇词 | 你写的每一行代码,都是你的名片
你好,我是范学雷,现在是 Oracle 的主任工程师,也是 OpenJDK 和 Java 安全的评审成员。很高兴和你一起聊聊怎么写好代码这个话题。
开篇词 | 重新理解晋升
你好,我是华仔。欢迎来到这门课,和我一起学习职场晋升。
2018 年,我在极客时间开了一门课,《从 0 开始学架构》。我和你分享了自己多年研究和实践积累得到的一套完整的架构设计方法论,来帮助你提升架构设计的能力。
在绝大多数在线应用场景中,数据是存储在关系型数据库中的,当然,有特殊要求的场景中,我们也会将其他持久化存储(如 ElasticSearch、HBase、MongoDB 等)作为辅助存储。但不可否认的是,关系型数据库凭借几十年的发展、生态积累、众多成功的案例,依然是互联网企业的核心存储。
你好,我是若地。今天我们将正式开始学习本专栏,一同了解一下 Netty。
众所周知,Java 的生态非常完善,同一类型的需求可能会有几款产品供你选择。那为什么 Java 的网络编程框架大家都会向你推荐 Netty,而不是 Java NIO、Mina、Grizzy 呢?
本课时主要讲解如何让分库分表真正落地。
在互联网系统开发过程中,分库分表并不是一个新概念,很多开发人员对分库分表或多或少都有所了解,也知道其使用场景。但是对究竟如何实现分库分表并不是很明确。当然,分库分表的含义与实现远比字面意思要复杂得多,这就引出了今天我要阐述的核心话题:如何让分库分表真正落地。
你好,欢迎学习分布式数据库,我们的课程就正式开始了。
在开设这门课程之前,我简短地与身边同僚、朋友交流了课程的大纲。当时,大家都表示出了浓厚的兴趣,并且不约而同地问了我这样一个问题:啥是分布式数据库?更有“爱好学习”的朋友希望借此展现出“勤学好问”的品德,进而补充道:“这是哪个大厂出的产品?”
软件的核心载体是程序代码,软件开发的主要工作产出也是代码,但是代码被存储在磁盘上本身没有任何价值,软件要想实现价值,代码就必须运行起来。那么代码是如何运行的?在运行中可能会出现什么问题呢?
你好,我是臧萌,这篇文章是专栏的第一篇,我们以工作中的优先级这个话题开始。我们在日常工作中,总会这样感慨:事情,是干不完的。
既然干不完,那我们就要分清轻重缓急,哪个重要,哪个不重要,给它们划分一个优先级,这样不至于让自己手忙脚乱。
本课时主要从理论分析入手来介绍性能优化的衡量指标,及其理论方法和注意点。
本课时,我们就开始正式进入 Kubernetes 的学习,或许你已经听过或简单了解过 Kubernetes,它是一款由 Google 开源的容器编排管理工具,而我们想要深入地掌握 Kubernetes 框架,就不得不先了解 Kubernetes 的前世今生,而这一切都要从“云计算”的兴起开始讲起。
今天是我们第一节课,我想和你聊一聊 Serverless 架构兴起的原因。
Serverless 是最近几年业界很火的技术名词,你可以在国内外各种技术大会上看到它的身影,主流云服务商也不断地推出 Serverless 相关的云产品和新功能(比如 AWS Lambda、阿里云函数计算、腾讯云云函数),各种关于 Serverless 的商业和开源产品也层出不穷(比如 Serverless Framework、OpenFaaS、kubeless)。
为什么把本课时作为第一课时呢?因为通过本课时,你将构建起对流计算技术和系统的整体认识,这样既可以为后面的课时打下基础,又可以对设计和开发实时流计算应用有所启发。
云原生(Cloud Native)这个概念最早是由 Pivotal 公司的 Matt Stine 提出的。发展至今,云原生架构已然成为互联网行业的技术热点,并在很大程度上推动了 IT 成本的降低和企业的发展。不过为便于你更好地理解和学习这部分内容,在本节课的开始,我们就先来快速了解下相关的架构演进及其设计思想。
今天我们开始学习一个在工作,以及面试中经常被问到的一个数据结构——栈。
栈这种数据结构,在计算机中有着广泛地运用,比如编程语言中函数的调用、操作系统中从用户态到内核态寄存器的保存、网络消息的处理等都会用到栈。
我们现在正面临着一场前所未有的挑战:中美贸易战。自有贸易历史以来,这是世界上规模最大的一场贸易战。美国曾和德国打过贸易战,也和日本打过贸易战,但是都没有和中国这场贸易战的规模大。这是一场“史诗级”的贸易战,它必将载入史册。, , 今天我们就来聊一聊正在进行的这场如火如荼的中美贸易“世纪之战”,以及我们应该如何应对。话不多说,让我们进入主题。, , 第一轮:双方叫阵, , 2018 年 4 月 3 日,美国宣布要对中国 500 亿美元的进口商品征收 25% 的额外关税。中国立刻做出应对,也对 106 种美国进口商品征收 25% 的关税,也是 500 亿。美国一看:嘿,中国没怕!那就加码。, , 4 月 6 日,美国又追加了 1000 亿美元的商品关税。中国商务部发言人立即回应:“中方已做好充分准备,我们将毫不犹豫,立刻进行大力度的反击。”我们的态度非常明确:打,奉陪到底;谈,大门敞开。, , 简单一句“奉陪到底”,但过程并没有那么简单。在这里,我先解释一个概念:赤字。简单来说,我们记账一般都用蓝字来记,如果是负数就用红字记录,久而久之就叫赤字了。, , 经济学中有两种赤字,一种是财政赤字;另一种叫贸易赤字。, , 那么什么是贸易赤字呢?很简单,用出口减去进口,如果是正数就是贸易盈余,如果是负数就是贸易赤字。, , 我们先看一组数据:2017 年中国出口到美国的商品价值 5056 亿美元,进口美国的产品是 1300 多亿美元。我们用 5056 亿-1300 亿=3756 亿美元,这 3756 亿美元对中国来说是贸易盈余,对美国而言就是贸易赤字。, , 美国说:“这么大的赤字我不干,我要给中国进口到美国的商品增加关税,减少美国贸易赤字。”这也是美国打贸易战的理由。, , 也许你会问,就算为了减少贸易赤字,美国至于这样大动干戈吗?先别着急,我们往下看。, , 首先,我们要了解中美之间为什么会有这么大的赤字。, , 中国出口到美国的商品有哪些?电视、玩具、服装、鞋帽以及机电、科技产品等。而美国进口到中国的产品是:大豆、玉米、高粱、麦子、飞机、芯片、化工产品等。, , 其实中国真正需要的是高科技产品,但美国拒绝向我们出口。在美方看来:我出口给你高科技,等你的科技产业发达后跟我竞争怎么办?我不给你出口,当然会进一步加大赤字。中国是出口的商品多,进口的商品少;美国则是进口的商品多,出口的商品少。所以中国出现了贸易盈余,美国产生了贸易赤字。, , 美国喊了两轮后,发现中国一点都不害怕。得!那就再来一轮吧。, , 于是在 2018 年 4 月 17 日,美国又打出一张牌:限制对中兴通讯出口“芯片”,禁令长达 7 年,理由是中兴通讯违反了美国规定,对伊朗出口了通信设备。因为中兴的设备里装有美国的零部件,所以不许出口到美国敌对的国家。, , 这条禁令一出,立刻在市场上引发了巨大反响。, , 我们知道,中兴通讯是我国第二大通信设备的供应商,禁止芯片,就是要置中兴于死地。, , 美国想:我看你怕不怕?看你中国政府管不管企业的死活?其实,美国发现喊了半天没什么用,就想着坐下来谈谈吧,但是作为大国又拉不下面子,所以用这种方式逼着中国政府坐到谈判桌上。, , 于是从 5 月份开始,中美互派代表团谈了三轮。, , 这三轮谈判无比艰难,中国在合理范围内已经尽可能对美国作出了让步。我们都以为谈得差不多,该答应的条件也都答应了,以为可以通过谈判解决中美贸易争端时,美国却彻底翻脸,扬言一定要打中国。, , 6 月 15 日白宫发表声明,要对中国出口到美国的 500 亿美元的商品征收 25% 的关税。, , 面对这种情况我们又该怎么办呢?, , 中方立即采取了反制措施:对美国的 500 亿美元进口商品加征 25% 的关税,这里包括大豆、谷物、棉花、汽车和水产品等。同时外交部发表声明,如果美方出台包括加征关税在内的贸易制裁措施,双方谈判达成的所有经贸成果将不会生效。言外之意,如果美国真的开打,我以前答应你的条件都作废,都不算数了。, , 经过三轮叫阵和三轮谈判后,美国发现没有奏效。于是,中美贸易战正式打响。, , 7 月 6 日正式开打,美国对中国 500 亿美元进口商品加征关税 25%。中国毫不示弱,也对美国进口 500 亿美元的商品加税 25%。都加税 500 亿美元,但说起来容易做起来难!对很多企业来讲,这种举措称得上是灭顶之灾。, , 试想,一个中国的出口企业,把产品出口到美国,本来利润只有 5%-10%,如果加了 25% 的税,就相当于赔了 15%-20%,这样还能继续生存下去吗?反过来说,美国出口到中国的 500 亿美元商品,对于这些出口企业来说不也是灭顶之灾吗?, , 9 月 17 日,贸易战继续加码。美国政府宣布从 9 月 24 日起,对中国 2000 亿美元商品加征 10% 进口关税,并在 2019 年 1 月 1 日起加征关税税率上调至 25%,筹码又上升了 2000 亿美元。, , 对于美国这份“中秋节大礼”,我们态度是“来而不往非礼也”,也给美国回了一份礼:对美国 600 亿美元的进口商品,征收 10% 或 5% 关税,我们也加码 600 亿美元。, , 美国恼羞成怒,他们声称:“如果中国再次实施报复,美国将对剩下的 2600 多亿美元的中国货物全部加收关税。”言外之意就是把中国 5000 多亿美元的商品全部加收关税。, , 中国政府不是吓大的,马上发表 3.6 万字白皮书,对这场贸易战全面反击。白皮书表示:对于贸易战,中国不愿打、不怕打,必要时不得不打。, , 你可能会问,中国这次为什么只加税 600 亿美元?为什么不跟美国一样,也跟进 2600 亿美元呢?, , 还记得我们刚才说的数据吗?美国总共出口给中国的商品才 1300 亿,我们已经打出 1100 亿美元了。数额不够,我们只剩下 200 亿美元了。, , 于是,给美国 600 亿美元商品加税的同时,中国商务部发言人回应说:“如果美方失去理性,出台清单,中方将不得不采取数量型和质量型相结合的综合措施,作出强有力的回应。”简单来说,即使数量不够,中方在质量上依然能够对美方做出强有力的反制。, , 这三轮打下来,中国没想到的是,美国如此不讲信用,出尔反尔、不讲道理。特朗普拿出了和商人谈判的那套技巧来对付中国政府,但是他想错了,我们的政府不会拿中国的核心利益去做交换。因为每后退一步,都是在损害中国企业的利益。, , 我们再回到最核心的话题上,为何美国摆出如此大的阵仗,要和中国打这场贸易战呢?美国究竟为何而战?, , 一句话概括就是:美国不想让中国长大,不想跟中国跟他平起平坐。, , 我们来看一组数据:2017 年,美国 GDP 总量是 18.9 万亿美元,中国是 12.9 万亿美元,只差 6 万亿美元。中国经济总量差不多是美国的 60% ,已经达到了美国的 2/3。中国是世界第二大经济体,排在第三名的日本才 4 万多亿美元,中国的 GDP 总量是日本的 3 倍之多。, , 举目望去,当今世界还有哪个国家敢跟美国对着干?恐怕只有中国了。美国在估算中国经济发展速度后,得出一致结论:如果现在不打中国,以后就没机会了,等中国成长后,他们就打不了了。他们不想让中国追赶上,于是,美国选择先动手。, , 美国从来都要把世界第二干掉。80 年代日本成为世界第二,美国跟日本打贸易战,1985 年签订广场协议,让日元升值,使得日本经济长期处于停滞状态。1991 年苏联解体,把苏联这个和美国对抗了很久的第二名干掉了。美国这次想干掉中国,却没想到栽了大跟头。, , 和中国博弈半年多,对美国来说有三个没想到。, , 第一个没想到:中国决心这么大。, , 特朗普开战之前多次说:“和中国打贸易战很简单,通过极限施压,美国肯定会赢。”他认为,只要 500 亿美元关税牌一出手,中国肯定会服软;500 亿不行,再加码 2000 亿美元。不行就继续加码,直到打到中国怕了为止。, , 但他没想到,美国这次踢到了铁板上。中国人一向以温和忍耐著称,这一次,我们没有选择退让。美国每一次开出商品的征税清单后,中国立刻列出反击清单,针锋相对,毫不示弱。在他每次威胁中国,以为我们不能反击时,中国都毫不犹豫地予以反击。, , 第二个没想到:中国经济韧性这么强。, , 在开战前,就有一些美国官员多次暗示中方的官员:中国经济在下滑,股市在下跌,用贸易战对抗美国,中国必输无疑。你们干脆别打了!但是半年多过去了,中国经济没有垮。美国只能咬着牙,不断升级贸易战,试图迫使中国屈服。, , 美国实在是低估了中国经济的韧性。, , 以前中国的经济是出口导向,30% 靠出口拉动,但现在出口对中国经济的拉动作用不断减少,去年已缩至 9.1%,不到 10%。也就是说,中国目前 90% 以上的经济增长来自消费和投资拉动。消费对中国经济贡献率去年达到了 58.8%,不用靠出口,依靠消费就可以拉动中国经济的增长。, , 现在中国是世界第二大经济体,我们有完整的产业链、便利的基础设施、良好的营商环境。庞大的市场规模是我们应对贸易战最大的底气,我们怕什么?应当说,打这场贸易战中国会面临损失,但美国也不可能全身而退。, , 我们再来看一组数据:, , 2017 年美国出口的商品中,, , 美国生产的大豆 57% 卖给中国;, , 美国生产的波音飞机,每 4 架有一架卖给中国;, , 美国生产的汽车,每 5 辆车中就有一辆卖给中国;, , 14% 的集成电路;, , 17% 的棉花销往中国。, , 美国生产出这么多东西,不卖给中国能卖给谁?当今世界还有哪个买家比中国更大?所以,这是一场耐力和韧性的大比拼。, , 第三个没想到:中国反击如此理性。, , 不管美国如何耍横,中国坚持不开第一枪。比如,美国加征关税是北京时间 12 点,中国反击就在 12:01。我们不卑不亢,就等着你出牌。美国最想看到的是中国惊慌失措,希望中国求饶说:“我们不打了”,可惜他们没等来中国的认输。, , 其实美国人根本不了解中国人的性格,更不了解中国历史。看看朝鲜战争和越南战争,中国任何时候都没有怕过美国。我们交过手,但是怕过你吗?这次贸易战更是如此。, , 所以说,特朗普既不懂经济,也不懂历史。, , 这三个没想到让美国后背发凉,中国早已经看透了美国打这场贸易战的真正原因,他想像对付日本和苏联一样对付中国,打垮中国。只可惜中国不是当年的日本和苏联!, , 有人说,我们不跟美国打这场贸易战,中国答应美国提出的条件,不就不打了吗?但你要知道,过去中国经济总量是小兔子,往草丛里一趴,谁也发现不了。现在是一头大象,藏不住,躲不了。趴下,美国就不打了吗?美国照打不误,而且会更狠,因为姿势不对。两军交火不分胜负,谁有了后退的想法,对方一定乘胜追击,我们只会一溃千里,所以只能迎头痛击。正所谓:狭路相逢,勇者胜!, , 这是一场关乎中国经济命运的贸易战,中国政府不仅需要勇气,还需要谋略。, , 美国明知贸易战是一个双输的结局,明知美国的农民和消费者要为此买单,而且中美已经谈判了 三轮,中国已经做出了妥协和让步,美国为什么还要翻脸呢?下一讲我将和你聊一聊这些问题的答案。, , -– ### 精选评论 ##### **才: > 挺有意思的,比技术好玩多了 ##### *林: > 催更! ###### 编辑回复: > 一周三更,马上就来~ ##### guard: > 老师讲的真好,期待后续 ##### **林: > 讲的真好!感谢老师!感谢拉勾! ##### **子: > 讲的铿将有力 ##### iLeGeND: > 美国想要的直接结果是什么?美国加关税,中国不加。还是威胁中国答应他什么条件? ###### 编辑回复: > 下一讲就解决你的疑问~
响应式编程是一种新的编程技术,其目的是构建响应式系统。对于响应式系统而言,任何时候都需要确保具备即时响应性,这是大多数日常业务场景所需要的,但却是一项非常复杂而有挑战性的任务,需要对相关技术体系有深入的了解。
你好,我是戴铭。
我已经在专栏的第一篇文章中,和你梳理了一份 iOS 开发的知识体系框架图。今天,我们就正式从基础出发,开始自己的 iOS 开发知识体系构建之路吧。接下来,我就先和你聊聊与 App 启动速度密切相关的那些事儿。希望你听我说完启动速度的事儿之后,在专栏里的学习状态也能够快速地启动起来。
“人非圣贤,孰能无过?”技术人员也是人,因此编程过程中难免出 Bug,出了 Bug 系统就会出问题,出了问题系统就会宕机。那么,Bug 引发的一连串事故,该不该追究责任,又如何去追责呢?
你好,我是韩健。
很多同学可能都有这样的感觉,每次要开发分布式系统的时候,就会遇到一个非常棘手的问题,那就是如何根据业务特点,为系统设计合适的分区容错一致性模型,以实现集群能力。这个问题棘手在当发生分区错误时,应该如何保障系统稳定运行,不影响业务。
你好,我是石雪峰。今天我们来聊聊 DevOps 的价值。
前段时间,因为工作的缘故,我参访了一家在国内数一数二的金融企业。在跟他们科技处的同事交流的过程中,有一件事情让我非常吃惊,想跟大家分享一下。
首先我来问出这个问题:“你觉得 HTTP 是什么呢?”
你可能会不假思索、脱口而出:“HTTP 就是超文本传输协议,也就是HyperText Transfer Protocol。”
如果你了解面向对象语言的发展史,那你可能听说过 Smalltalk 这门语言。它的影响力之大,以至于之后诞生的面向对象语言,或多或少都借鉴了它的设计和实现。
在 Smalltalk 中,所有的值都是对象。因此,许多人认为它是一门纯粹的面向对象语言。
上一期我们讲到在并发场景中,因可见性、原子性、有序性导致的问题常常会违背我们的直觉,从而成为并发编程的 Bug 之源。这三者在编程领域属于共性问题,所有的编程语言都会遇到,Java 在诞生之初就支持多线程,自然也有针对这三者的技术方案,而且在编程语言领域处于领先地位。理解 Java 解决并发问题的解决方案,对于理解其他语言的解决方案有触类旁通的效果。
你好,我是鸟窝。
上一讲我们一起体验了 Mutex 的使用,竟是那么简单,只有简简单单两个方法,Lock 和 Unlock,进入临界区之前调用 Lock 方法,退出临界区的时候调用 Unlock 方法。这个时候,你一定会有一丝好奇:“它的实现是不是也很简单呢?”
你好,我是张鹏。
在上一讲,我为你介绍了 CLAP 模型。它包括对比(Comparison)、逻辑(Logic)、认知(Acknowledge)和规划(Project)4 个环节,既能帮你优化做事细节,也能帮你优化业务战略。
在衡量 Web 页面性能的时候有一个重要的指标叫“FP(First Paint)”,是指从页面加载到首次开始绘制的时长。这个指标直接影响了用户的跳出率,更快的页面响应意味着更多的 PV、更高的参与度,以及更高的转化率。那什么影响 FP 指标呢?其中一个重要的因素是网络加载速度。
你好,我是曹林。今天我们来聊聊 To B 中的消费心理学。
To B 也好,To C 也罢,都是在卖东西,所以,最重要的是要和能买单的人对话。上一节课我们谈到了,整个 To B 的采购链路是非常长的,决策人也很多,但是在这个漫长的链路中,CXO(以 CEO、COO、CTO、CFO 为代表的高层,后面会以 CEO 做代称)是一个关键人群,任何一个产品,只有 CXO 们真正认可了,才能有买单的可能性。
你好,我是周爱民。
如果你听过上一讲的内容,心里应该会有一个问题,那就是——在规范中存在的“引用”到底有什么用?它对我们的编程有什么实际的影响呢?
你好,我是卢誉声。
上一课我们学习了贪心算法,提出了硬币找零的问题,发现了贪心算法的局限性。与此同时,我还提出了一个重要概念,那就是局部最优与整体最优的概念,即最优化问题。今天,我们就从最优化问题开始聊起,引出学习动态规划时的另一重要概念:递归。
在上一篇文章中,我向你介绍了频率学派对概率、统计和机器学习的理解。今天则要转换视角,看一看贝叶斯学派解决这些问题的思路。
还记得那个“九死一生”的例子吗?对其中 90% 的概率更直观、也更合理的解释是生病之后生还的可能性。之所以说频率主义的解释牵强,是因为没有哪个人能倒霉到三番五次地得这个病。当多次独立重复试验不可能实现时,就不存在从频率角度解读概率的理论基础。
在侦探漫画《名侦探柯南》中,无论柯南走到哪里都会遇到新的“案件”,这也很像程序员的“日常”,我们每天工作也会遇到各种各样的疑难问题,“崩溃”就是其中比较常见的一种问题。
你好,我是 Chrono。
上节课我介绍了 C++ 程序的生命周期和编程范式,今天我就接着展开来讲,看看在编码阶段我们能做哪些事情。
在编码阶段,我们的核心任务就是写出在预处理、编译和运行等不同阶段里执行的代码,还记得那句编程格言吗:
你好,我是尉刚强。
在计算机领域,由于 CPU 单核性能的增⻓逐渐停滞,而我们面临的业务问题复杂度却在不断地上升,为了更好地解决这个冲突,在 CPU 中增加核数就成为了一种默认的应对方案。而通常来说,我们会借助并行设计来充分发挥硬件多核上的运行性能。
我不算是聪明的人,经历也不算特别成功,但一步一步走来,我认为,我能做到的,你一定也能做到,而且应该还能做得比我更好。
还是那句话,本质上来说,程序员是个手艺人,有手艺的人就能做出别人做不出来的东西,而付费也是一件很自然的事了。那么,这个问题就变成如何让自己的“手艺”更为值钱的问题了。
你好,我是庄振运。
上一讲我们谈了,作为一个程序员,你所负责的软件模块的性能是很重要的。如果写的程序性能不好,轻则通不过开发过程中的性能测试这一关,严重的话,还会为以后的业务生产环境埋下很多地雷和炸弹,随时会踩响和爆炸,从而影响公司的业务和运营。
你好,我是杨四昌。
在上一讲,我们在分析 1G~3G 发展历程时,从前提要素(满足需求或者解决问题)、产业要素(技术满足商业化条件)和前景要素(是否具备规模经济效应)这 3 个维度找到了移动通信技术的内在发展规律。
在我的工作经历中,每当同事评论起项目代码质量的时候,听到的最多的评语就是:“代码写得很烂”或者“代码写得很好”。用“好”“烂”这样的字眼来描述,非常地笼统。当我具体问到底如何烂、如何好的时候,尽管大部分同事都能简单地罗列上几个点,但往往都不够全面、非常零碎,也切不中要害。
你好,我是邵巍。在上一讲中,我给你介绍了三个半导体行业的基本概念,让你知道晶体管和集成电路是支撑半导体行业发展的两个基础发明,摩尔定律是丈量行业进步的重要尺子。
你好,我是蒋伟良博士。聚焦战略,简化管理,实现有效增长。欢迎你和我一起学习《流程型组织 15 讲》这门课。
今天是第 2 讲,我们来探讨一个非常重要的管理理念——金字塔,所谓金字塔就是组织通过建立管理层级,进行积极管控的一种管理结构。比如说我们从员工到主管,到经理,到高级领导的这么一个层级结构,就是经典的组织管理思想的结晶,它也反映了当前社会背景下伟大的管理学家对组织管理变革方面的根本思考。