04__产品经理和项目经理有什么区别?
产品经理的英文是“Product Manager”,项目经理的英文是“Project Manager”。同样简称为 PM,这让很多人搞不清楚两个岗位间究竟有什么区别。比较大的科技公司通常会同时招收产品经理和项目经理,所以在投递简历的时候,你要区分清楚。
产品经理的英文是“Product Manager”,项目经理的英文是“Project Manager”。同样简称为 PM,这让很多人搞不清楚两个岗位间究竟有什么区别。比较大的科技公司通常会同时招收产品经理和项目经理,所以在投递简历的时候,你要区分清楚。
我已经为你打开了 Go 语言编程之门,并向你展示了“程序从初建到拆分,再到模块化”的基本演化路径。
一个编程老手让程序完成基本演化,可能也就需要几十分钟甚至十几分钟,因为他们一开始就会把车开到模块化编程的道路上。我相信,等你真正理解了这个过程之后,也会驾轻就熟的。
你好,我是随你们去。上一节课,我专门讲了画面内容对于一张好照片的重要性。围绕着这一点,这节课我们来聊聊构图。
当我们明确知道想要拍摄和表达的画面内容是什么后,就该轮到构图来帮助我们进行准确表达了。例如主体人物该放在画面哪个位置、宏大建筑该如何拍摄、不同内容照片的画幅比例该如何选择等等之类的问题,都是我们需要关注的。
上一讲,在讲 CPU 的性能时,我们提到了这样一个公式:
程序的 CPU 执行时间 = 指令数×CPI×Clock Cycle Time
这么来看,如果要提升计算机的性能,我们可以从指令数、CPI 以及 CPU 主频这三个地方入手。要搞定指令数或者 CPI,乍一看都不太容易。于是,研发 CPU 的硬件工程师们,从 80 年代开始,就挑上了 CPU 这个“软柿子”。在 CPU 上多放一点晶体管,不断提升 CPU 的时钟频率,这样就能让 CPU 变得更快,程序的执行时间就会缩短。
上篇文章中,我们讲了 Equifax 信息泄露始末,并对造成此次事件的漏洞进行了分析。今天,我们就来回顾一下互联网时代的其他几次大规模数据泄露事件,分析背后的原因,给出解决这类安全问题的技术手段和方法。
你好,我是陈亦峰,欢迎你和我一起学英语。
今天我们继续来阅读The Product-Minded Software Engineer这篇文章,我为你精讲文章的第三段和第四段。
- 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?
你好,我是赵铭。
上一讲我们从直观的角度,用“铁索连环”的例子和你探讨了区块链技术特性,也顺便引出了区块链技术基础。从今天开始,我会用几讲的时间为你解释每一种技术在区块链中的最核心应用,以点带面,为你勾画出区块链技术体系。
你好,我是赵成,欢迎回来。
上一讲是我们引入 SRE 的关键,我们掌握了选择 SLI 指标和设定 SLO 目标的方法。你可以先回顾一下内容,看看是不是能回答这三个问题:选择 SLI 的两大原则是什么?VALET 法则是什么?怎么来计算 SLO?如果答案都很清晰,那么恭喜你,你攻克了 SRE 的一个关键知识点;如果有点模糊,那就回去复习一下,咱不求快,但求扎实。
“在浏览器里,从输入 URL 到页面展示,这中间发生了什么? ”这是一道经典的面试题,能比较全面地考察应聘者知识的掌握程度,其中涉及到了网络、操作系统、Web 等一系列的知识。所以我在面试应聘者时也必问这道题,但遗憾的是大多数人只能回答其中部分零散的知识点,并不能将这些知识点串联成线,无法系统而又全面地回答这个问题。
你好,我是曹林。
上一节课里,我重点讲的是如何理解产品、完成产品发布的卖点提炼和产品 PPT 的初步制作,其实这些操作背后的逻辑就是:要做好一场产品发布会,首先要对产品反复挖掘。正如著名摄影师罗伯特·卡帕(Robert Capa)的名言,你没有拍到好照片,是因为你还不够近!
你好,我是卢誉声。今天我们来继续学习动态规划。
在前面的几节课中,我们经历了贪心算法求解硬币找零的问题,并从中发现了贪心算法本身的局限性:它几乎只考虑了局部最优,因此无法应对需要考虑整体最优的算法面试问题。
你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。
相信你对集群的概念并不陌生。简单说,集群一般是由两个或两个以上的服务器组建而成,每个服务器都是一个节点。我们经常会听到数据库集群、管理集群等概念,也知道数据库集群提供了读写功能,管理集群提供了管理、故障恢复等功能。
上一节,我们讲了复杂度的大 O 表示法和几个分析技巧,还举了一些常见复杂度分析的例子,比如 O(1)、O(logn)、O(n)、O(nlogn) 复杂度分析。掌握了这些内容,对于复杂度分析这个知识点,你已经可以到及格线了。但是,我想你肯定不会满足于此。
你好,我是四火。
今天我要邀请两位风格迥异的主角登上舞台,一位西装革履,另一位随性洒脱。前面那位,代表着工整、严谨和细致;后面那位,代表着自由、灵活和简约。
你好,我是李兵。
前面几节我们聊了 V8 中的对象和函数,并介绍了函数为什么会被称为是一等公民,了解这些之后,我们就可以来学习函数表达式了。
函数表达式在 JavaScript 中非常基础也非常重要,使用函数表达式可以用来实现代码隐藏,还可以实现变量隔离,所以函数表达式被广泛地应用在各个项目中,了解函数表达式的底层工作机制,可以帮助我们更加深刻地理解项目。
在上一篇文章中,我们提到受保护资源和锁之间合理的关联关系应该是 N:1 的关系,也就是说可以用一把锁来保护多个资源,但是不能用多把锁来保护一个资源,并且结合文中示例,我们也重点强调了“不能用多把锁来保护一个资源”这个问题。而至于如何保护多个资源,我们今天就来聊聊。
你好,我是尉刚强,今天我们来聊聊基于性能的缓存设计。
缓存就是一个临时储存数据的地方。当用户查询数据时,首先会在缓存中查找,如果找到了就直接使用;如果找不到,就再到数据的原始位置去寻找。所以,缓存本质上是一种用空间换时间的技术,通过数据在空间上的重复,来提升数据的访问速度。
你好,我是倪朋飞。
上一节,我给你讲了 CPU 上下文切换的工作原理。简单回顾一下,CPU 上下文切换是保证 Linux 系统正常工作的一个核心功能,按照不同场景,可以分为进程上下文切换、线程上下文切换和中断上下文切换。具体的概念和区别,你也要在脑海中过一遍,忘了的话及时查看上一篇。
无论是频率学派的方法还是贝叶斯学派的方法,解决的都是怎么学的问题。但对一个给定的问题到底能够学到什么程度,还需要专门的计算学习理论(computational learning theory)来解释。与机器学习中的各类具体算法相比,这部分内容会略显抽象。
你好,我是王磊,你也可以叫我 Ivan。
分布式数据库已经是技术新潮流了,所以产品也越来越多,如果你要做技术选型或者想要学习,该如何下手呢?怎么能更高效地了解不同产品的特点呢?这就需要你把它们分分类,有些差不多的产品,熟悉了其中的一个,剩下的我们只要记下差异点就可以了。那下面的问题就是如何分类了,这个其实很简单,因为业界已经有共识,把产品按照架构风格划分到不同的阵营。
你好,我是朱维刚。欢迎你跟我一起重学线性代数!
在上一节课中,我讲解了线性方程组的另一种表达——矩阵。那么今天,我们就来讲解一下如何使用矩阵来解线性方程组,也就是如何求线性方程组的特殊解和通用解。
你好,我是苏杰。今天让我们一起来聊聊竞品分析的话题,这是第一轮 MVP,Paperwork 的第二讲。
顺着上一讲,我们理解了用户之后,就要加深对已有的解决方案,也就是各种竞品的理解了。
你好,我是高伟。欢迎你继续跟我学习视觉笔记。
上一节课中,我们学习了动态资讯视觉容器的记录方法,这一节课我们就来看看静态资讯的记录又会经常用到哪些容器。
你好,我是小麥。
上节课我们说到,影响景深的,除了光圈,还有物距、画幅和镜头焦段,这节课我们重点要讲的就是镜头焦段是如何影响景深范围的。与此同时,我们也会讲解不同的镜头焦段在对同一画面进行拍摄的时候,成片会有什么区别,以及由此衍生的实际应用。
你好,我是王庆友。
上一讲中,我们介绍了如何打造一个可扩展的架构。今天,我就针对最近十几年电商平台的架构变化过程,来具体说明下,为了支持业务的快速发展,架构是如何一步步演进的。
如果你还没有上手用过 Linux,那么接下来的课程,你可能会感受到困惑。因为没有一手的体验,你可能很难将 Linux 的机制和你的使用行为关联起来。所以这一节,咱们先介绍几个上手 Linux 的命令,通过这些命令,我们试试先把 Linux 用起来。
你好,我是程远。
今天我们来讲容器中 init 进程的最后一讲,为什么容器中的进程被强制杀死了。理解了这个问题,能够帮助你更好地管理进程,让容器中的进程可以 graceful shutdown。
考虑到各个水平层次的同学,并且保证专栏内容的系统性、全面性,我会循序渐进地讲解跟设计模式相关的所有内容。所以,专栏正文的第一个模块,我会讲一些设计原则、设计思想,比如,面向对象设计思想、经典设计原则以及重构相关的知识,为之后学习设计模式做铺垫。
你好,我是朱晔。今天,我们来聊聊使用连接池需要注意的问题。
在上一讲,我们学习了使用线程池需要注意的问题。今天,我再与你说说另一种很重要的池化技术,即连接池。
你好,我是陶辉。
上一讲我们谈到,当索引的大小超过内存时,就会用磁盘存放索引。磁盘的读写速度远慢于内存,所以才针对磁盘设计了减少读写次数的 B 树索引。
你好,我是任杰。这节课我想和你聊一聊如何设计顶层金融软件架构。
通过前面三节课的学习,你应该感觉到金融业务比较复杂,对应的金融软件也很复杂。那想让业务和架构设计良好配合,就是一个非常有挑战性的事情了。这也是软件工程要解决的问题。
你好,我是葛俊。今天我们来聊聊怎样从流程方面来提高研发效能。
从这一篇文章开始,我们就正式进入研发流程模块了。在第 1 篇文章中,我与你强调了软件开发的最大特点在于它是一条非常灵活的流水线,因此提高研发效能的第一步就是优化流程。
如果你看过秒杀系统的流量监控图的话,你会发现它是一条直线,就在秒杀开始那一秒是一条很直很直的线,这是因为秒杀请求在时间上高度集中于某一特定的时间点。这样一来,就会导致一个特别高的流量峰值,它对资源的消耗是瞬时的。
在掌握内存相关的背景知识后,下一步你肯定想着手开始优化内存的问题了。不过在真正开始做内存优化之前,需要先评估内存对应用性能的影响,我们可以通过崩溃中“异常退出”和 OOM 的比例进行评估。另一方面,低内存设备更容易出现内存不足引起的异常和卡顿,我们也可以通过查看应用中用户的手机内存在 2GB 以下所占的比例来评估。
你好,我是涂伟忠。今天我们一起来学习正则中的匹配模式(Match Mode)。
所谓匹配模式,指的是正则中一些改变元字符匹配行为的方式,比如匹配时不区分英文字母大小写。常见的匹配模式有 4 种,分别是不区分大小写模式、点号通配模式、多行模式和注释模式。我们今天主要来讲一下这 4 种模式。
你好,我是付晓岩。
上节课,我介绍了构建数字化转型方法论最核心的思维模式,也就是架构思维,它是负责连接方法论与实践的。毕竟,光有思维模式还不够,得能融入到实践中才行,最直接的方式就是做架构设计了。架构思维,就是通过对企业架构的设计和实施,去指导企业数字化转型。
你好,我是宝玉,我今天分享的主题是:瀑布模型的衍生模型都有哪些,你该如何选择?
在上一篇文章中,我重点介绍了瀑布模型。你现在知道了,瀑布模型简单易行,对于软件质量是有比较高保障的。但是瀑布模型对于前期需求不明确的项目,很难开展需求分析,后续如果有需求变更,瀑布模型便很难响应。
你好,我是雷蓓蓓。今天是硬技能篇的第一讲,主题是识别项目中的四类干系人。
所谓万事开头难,一个项目刚刚启动的时候,往往是各种混乱夹杂在一起。如果没有经过专业培训,只是凭着一腔热情,一头扎进文山会海之中,那么很可能你做得越久,就会遇到越多的困难,也会越发困惑。
你好,我是李一帆。
我曾经做过一个小调查,问很多情侣这样一个问题,“你们在这段感情中印象最深刻,让你最心动的事情是什么?”
事情当然各不相同,但发生的时间惊人一致,百分之 七 十 都发生在 暧昧期。
你好,我是吴骏龙。
在前面几讲中,我谈到了容量测试和容量指标分析等工作,这些工作能够帮助你验证服务是否存在容量问题,并定位问题出现的原因。
找到问题以后,我们需要排除这些容量风险,确保服务的稳定性,这就是容量治理需要做的工作了。优秀的容量治理工作不仅仅能通过一系列手段解决已出现的容量问题,而且还能预防容量隐患,做到防患于未然。