04__产品经理和项目经理有什么区别?

产品经理的英文是“Product Manager”,项目经理的英文是“Project Manager”。同样简称为 PM,这让很多人搞不清楚两个岗位间究竟有什么区别。比较大的科技公司通常会同时招收产品经理和项目经理,所以在投递简历的时候,你要区分清楚。

04__程序实体的那些事儿(上)

我已经为你打开了 Go 语言编程之门,并向你展示了“程序从初建到拆分,再到模块化”的基本演化路径。

一个编程老手让程序完成基本演化,可能也就需要几十分钟甚至十几分钟,因为他们一开始就会把车开到模块化编程的道路上。我相信,等你真正理解了这个过程之后,也会驾轻就熟的。

04__除了横平竖直,照片还能怎么拍?

你好,我是随你们去。上一节课,我专门讲了画面内容对于一张好照片的重要性。围绕着这一点,这节课我们来聊聊构图。

当我们明确知道想要拍摄和表达的画面内容是什么后,就该轮到构图来帮助我们进行准确表达了。例如主体人物该放在画面哪个位置、宏大建筑该如何拍摄、不同内容照片的画幅比例该如何选择等等之类的问题,都是我们需要关注的。

04__穿越功耗墙,我们该从哪些方面提升“性能”?

上一讲,在讲 CPU 的性能时,我们提到了这样一个公式:

程序的 CPU 执行时间 = 指令数×CPI×Clock Cycle Time

这么来看,如果要提升计算机的性能,我们可以从指令数、CPI 以及 CPU 主频这三个地方入手。要搞定指令数或者 CPI,乍一看都不太容易。于是,研发 CPU 的硬件工程师们,从 80 年代开始,就挑上了 CPU 这个“软柿子”。在 CPU 上多放一点晶体管,不断提升 CPU 的时钟频率,这样就能让 CPU 变得更快,程序的执行时间就会缩短。

04__从Equifax信息泄露看数据安全

上篇文章中,我们讲了 Equifax 信息泄露始末,并对造成此次事件的漏洞进行了分析。今天,我们就来回顾一下互联网时代的其他几次大规模数据泄露事件,分析背后的原因,给出解决这类安全问题的技术手段和方法。

04__从那些不规范的表达中,我们可以学到什么?

你好,我是陈亦峰,欢迎你和我一起学英语。

今天我们继续来阅读The Product-Minded Software Engineer这篇文章,我为你精讲文章的第三段和第四段。

课前朗读

  1. Curiosity and a keen interest in“why?”

Product-minded engineers like to understand the“why?”behind all things. Why build this feature for the product, why not the other one? Why ship this first milestone, instead of choosing another one, that’s a lot simpler to build? How will things be measured - why don’t we choose a more thorough way to measure things?

04__存储:区块链的存储设计有定式吗?

你好,我是赵铭。

上一讲我们从直观的角度,用“铁索连环”的例子和你探讨了区块链技术特性,也顺便引出了区块链技术基础。从今天开始,我会用几讲的时间为你解释每一种技术在区块链中的最核心应用,以点带面,为你勾画出区块链技术体系。

04__错误预算:达成稳定性目标的共识机制

你好,我是赵成,欢迎回来。

上一讲是我们引入 SRE 的关键,我们掌握了选择 SLI 指标和设定 SLO 目标的方法。你可以先回顾一下内容,看看是不是能回答这三个问题:选择 SLI 的两大原则是什么?VALET 法则是什么?怎么来计算 SLO?如果答案都很清晰,那么恭喜你,你攻克了 SRE 的一个关键知识点;如果有点模糊,那就回去复习一下,咱不求快,但求扎实。

04__导航流程:从输入URL到页面展示,这中间发生了什么?

“在浏览器里,从输入 URL 到页面展示,这中间发生了什么? ”这是一道经典的面试题,能比较全面地考察应聘者知识的掌握程度,其中涉及到了网络、操作系统、Web 等一系列的知识。所以我在面试应聘者时也必问这道题,但遗憾的是大多数人只能回答其中部分零散的知识点,并不能将这些知识点串联成线,无法系统而又全面地回答这个问题。

04__第一印象(下):如何策划一场产品发布会?

你好,我是曹林。

上一节课里,我重点讲的是如何理解产品、完成产品发布的卖点提炼和产品 PPT 的初步制作,其实这些操作背后的逻辑就是:要做好一场产品发布会,首先要对产品反复挖掘。正如著名摄影师罗伯特·卡帕(Robert Capa)的名言,你没有拍到好照片,是因为你还不够近!

04__动态规划:完美解决硬币找零

你好,我是卢誉声。今天我们来继续学习动态规划。

在前面的几节课中,我们经历了贪心算法求解硬币找零的问题,并从中发现了贪心算法本身的局限性:它几乎只考虑了局部最优,因此无法应对需要考虑整体最优的算法面试问题。

04__分布式选举:国不可一日无君

你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。

相信你对集群的概念并不陌生。简单说,集群一般是由两个或两个以上的服务器组建而成,每个服务器都是一个节点。我们经常会听到数据库集群、管理集群等概念,也知道数据库集群提供了读写功能,管理集群提供了管理、故障恢复等功能。

04__函数表达式:涉及大量概念,函数表达式到底该怎么学?

你好,我是李兵。

前面几节我们聊了 V8 中的对象和函数,并介绍了函数为什么会被称为是一等公民,了解这些之后,我们就可以来学习函数表达式了。

函数表达式在 JavaScript 中非常基础也非常重要,使用函数表达式可以用来实现代码隐藏,还可以实现变量隔离,所以函数表达式被广泛地应用在各个项目中,了解函数表达式的底层工作机制,可以帮助我们更加深刻地理解项目。

04__互斥锁(下):如何用一把锁保护多个资源?

在上一篇文章中,我们提到受保护资源和锁之间合理的关联关系应该是 N:1 的关系,也就是说可以用一把锁来保护多个资源,但是不能用多把锁来保护一个资源,并且结合文中示例,我们也重点强调了“不能用多把锁来保护一个资源”这个问题。而至于如何保护多个资源,我们今天就来聊聊。

04__缓存设计:做好缓存设计的关键是什么?

你好,我是尉刚强,今天我们来聊聊基于性能的缓存设计。

缓存就是一个临时储存数据的地方。当用户查询数据时,首先会在缓存中查找,如果找到了就直接使用;如果找不到,就再到数据的原始位置去寻找。所以,缓存本质上是一种用空间换时间的技术,通过数据在空间上的重复,来提升数据的访问速度。

04__基础篇:经常说的_CPU_上下文切换是什么意思?(下)

你好,我是倪朋飞。

上一节,我给你讲了 CPU 上下文切换的工作原理。简单回顾一下,CPU 上下文切换是保证 Linux 系统正常工作的一个核心功能,按照不同场景,可以分为进程上下文切换、线程上下文切换和中断上下文切换。具体的概念和区别,你也要在脑海中过一遍,忘了的话及时查看上一篇。

04__计算学习理论

无论是频率学派的方法还是贝叶斯学派的方法,解决的都是怎么学的问题。但对一个给定的问题到底能够学到什么程度,还需要专门的计算学习理论(computational learning theory)来解释。与机器学习中的各类具体算法相比,这部分内容会略显抽象。

04__架构风格:NewSQL和PGXC到底有啥不一样?

你好,我是王磊,你也可以叫我 Ivan。

分布式数据库已经是技术新潮流了,所以产品也越来越多,如果你要做技术选型或者想要学习,该如何下手呢?怎么能更高效地了解不同产品的特点呢?这就需要你把它们分分类,有些差不多的产品,熟悉了其中的一个,剩下的我们只要记下差异点就可以了。那下面的问题就是如何分类了,这个其实很简单,因为业界已经有共识,把产品按照架构风格划分到不同的阵营。

04__镜头焦段与实际运用:你拍到的是你看到的么?

你好,我是小麥。

上节课我们说到,影响景深的,除了光圈,还有物距、画幅和镜头焦段,这节课我们重点要讲的就是镜头焦段是如何影响景深范围的。与此同时,我们也会讲解不同的镜头焦段在对同一画面进行拍摄的时候,成片会有什么区别,以及由此衍生的实际应用。

04__理论一:当谈论面向对象的时候,我们到底在谈论什么?

考虑到各个水平层次的同学,并且保证专栏内容的系统性、全面性,我会循序渐进地讲解跟设计模式相关的所有内容。所以,专栏正文的第一个模块,我会讲一些设计原则、设计思想,比如,面向对象设计思想、经典设计原则以及重构相关的知识,为之后学习设计模式做铺垫。

04__连接池:别让连接池帮了倒忙

你好,我是朱晔。今天,我们来聊聊使用连接池需要注意的问题。

在上一讲,我们学习了使用线程池需要注意的问题。今天,我再与你说说另一种很重要的池化技术,即连接池。

04__流程优化:怎样才能让敏捷、精益真正为我所用?

你好,我是葛俊。今天我们来聊聊怎样从流程方面来提高研发效能。

从这一篇文章开始,我们就正式进入研发流程模块了。在第 1 篇文章中,我与你强调了软件开发的最大特点在于它是一条非常灵活的流水线,因此提高研发效能的第一步就是优化流程。

04__流量削峰这事应该怎么做?

如果你看过秒杀系统的流量监控图的话,你会发现它是一条直线,就在秒杀开始那一秒是一条很直很直的线,这是因为秒杀请求在时间上高度集中于某一特定的时间点。这样一来,就会导致一个特别高的流量峰值,它对资源的消耗是瞬时的。

04__内存优化(下):内存优化这件事,应该从哪里着手?

在掌握内存相关的背景知识后,下一步你肯定想着手开始优化内存的问题了。不过在真正开始做内存优化之前,需要先评估内存对应用性能的影响,我们可以通过崩溃中“异常退出”和 OOM 的比例进行评估。另一方面,低内存设备更容易出现内存不足引起的异常和卡顿,我们也可以通过查看应用中用户的手机内存在 2GB 以下所占的比例来评估。

04__匹配模式:一次性掌握正则中常见的4种匹配模式

你好,我是涂伟忠。今天我们一起来学习正则中的匹配模式(Match Mode)。

所谓匹配模式,指的是正则中一些改变元字符匹配行为的方式,比如匹配时不区分英文字母大小写。常见的匹配模式有 4 种,分别是不区分大小写模式、点号通配模式、多行模式和注释模式。我们今天主要来讲一下这 4 种模式。

04__破除误解:企业架构真的做不做都行吗?

你好,我是付晓岩。

上节课,我介绍了构建数字化转型方法论最核心的思维模式,也就是架构思维,它是负责连接方法论与实践的。毕竟,光有思维模式还不够,得能融入到实践中才行,最直接的方式就是做架构设计了。架构思维,就是通过对企业架构的设计和实施,去指导企业数字化转型。

04__瀑布模型之外,还有哪些开发模型?

你好,我是宝玉,我今天分享的主题是:瀑布模型的衍生模型都有哪些,你该如何选择?

在上一篇文章中,我重点介绍了瀑布模型。你现在知道了,瀑布模型简单易行,对于软件质量是有比较高保障的。但是瀑布模型对于前期需求不明确的项目,很难开展需求分析,后续如果有需求变更,瀑布模型便很难响应。

04__启动:识别项目中的四类干系人

你好,我是雷蓓蓓。今天是硬技能篇的第一讲,主题是识别项目中的四类干系人。

所谓万事开头难,一个项目刚刚启动的时候,往往是各种混乱夹杂在一起。如果没有经过专业培训,只是凭着一腔热情,一头扎进文山会海之中,那么很可能你做得越久,就会遇到越多的困难,也会越发困惑。

04__容量治理的三板斧:扩容、限流与降级

你好,我是吴骏龙。

在前面几讲中,我谈到了容量测试和容量指标分析等工作,这些工作能够帮助你验证服务是否存在容量问题,并定位问题出现的原因。

找到问题以后,我们需要排除这些容量风险,确保服务的稳定性,这就是容量治理需要做的工作了。优秀的容量治理工作不仅仅能通过一系列手段解决已出现的容量问题,而且还能预防容量隐患,做到防患于未然。