当前位置: 首页 > 编程日记 > 正文

Marty Cagan:怎样寻找出色的产品经理

《程序员杂志》的文章,原帖位于http://www.programmer.com.cn/7760/

写的很好,自己转贴存储一下,也符合Product Owner的要求,就是……要求太高了!

本文是他回顾自己二十多年来从事软件产品管理工作的总结和经验分享,谈到了招聘产品经理的标准,以及产品经理应该具备的特质。

文 / Marty Cagan,译 / 姜天纬

寻找出色的产品经理

“哪里能找到出色的产品经理?”CEO经常问我这个问题。

Marty Cagan是享有世界声誉的产品管理专家,曾经担任网景副总裁、eBay产品管理及设计高级副总裁。
Marty Cagan是享有世界声誉的产品管理专家,曾经担任网景副总裁、eBay产品管理及设计高级副总裁。

我总是这样回答:出色的产品经理就在公司里,只不过在其他岗位上,有可能是软件工程师、用户体验设计师、系统工程师,等着伯乐去发掘。无论你打算从公司内部还是从公司外部招聘产品经理,必须清楚合适的人选应该具备哪些特质。这一章,我将列举产品经理应有的特质。

个人素质和态度

技术可以学习,素质却难以培养,有些素质是成功的产品经理必不可少的。

  • 对产品的热情

有这样一群人,他们对产品有一种本能的热爱,把自己生活中的一切事物都看成产品,怀揣对优秀的产品的热爱和尊重。这份热情是产品经理必备的素质,是他们夜以继日克服困难、完善产品的动力。这份热情能感染团队成员,激励所有人。

辨别这种特质很容易,可以让应聘者谈谈自己最喜欢的产品及喜欢的原因,聊聊不同领域的产品和他讨厌的产品,问问对方,如果有机会,他打算怎样完善自己最喜欢的产品。热情是难以伪装的,虚伪的做作容易毕露无遗。

  • 用户立场

理想的产品经理不一定来自产品的目标市场(这种情况有利也有弊),但是他必须融入目标市场。这一特质对制造大众产品的高科技企业尤为难得。我们倾向于从自己的角度去理解用户和市场。事实上,目标用户的经验、喜好、价值观、知觉能力、忍受程度、技术理解很可能与我们的大相径庭。

可以就产品的目标市场向应聘者发问,让他谈谈如何换位思考。了解应聘者对目标市场的感觉,最重要的是看对方是尊重目标市场希望融入其中,还是打算一意孤行改变用户习惯。

对国际化的产品和针对特定地域的产品来说,换位思考尤其重要。各种文化虽有共通之处,但也存在许多差异。有些差异对产品无关紧要,有些则至关重要。应该考察应聘者是否足够了解目标市场,能否区分这两种差异。

  • 智力

人的智力水平是无法替换的。产品管理需要洞察力和判断力,因此必须具备敏锐的头脑。勤奋当然是必需的,但从事这项工作光有勤奋还远远不够。

招聘聪明人是项知易行难的任务,结果在很大程度上取决于招聘者的能力和可靠性。常言道,“物以类聚,人以群分”,此言不虚。方法之一是测试应聘者解决问题的能力。微软令人称道的、深入而有效的面试,即是考察应聘者解决问题的能力,通常由一位或多位领域专家就一个问题对应聘者进行深入考察。面试官不关心应聘者是否知道正确答案,而看重应聘者解决问题的思路和方法(智力优于知识)。如果应聘者回答正确,面试官会将问题略作调整,询问应聘者在新情况下如何应付。重复这个过程,直到应聘者被迫处理他不知道答案的情况,说出解决方法。

  • 职业操守

每种团队角色承担的义务和付出的努力都不相同。产品经理肩负着产品的前途和命运,绝不适合贪图安逸的人担任。即便掌握了时间管理和产品管理的技巧,产品经理依然要为产品投入大量精力。成功的产品经理能拥有时间享受清闲的家庭生活吗?只要具备足够的经验,我相信可以做到。但是,如果你期望的是一周只工作四十个小时,下班后把工作抛诸脑后,那是不现实的。

成功的产品经理需要付出多少努力?在这个问题上,我对应聘者向来坦率,产品管理工作绝不能用时间来衡量,付出多少都不为过。紧急情况下临时找来的“救火队员”多半不是合适的产品经理人选。

在漫长的项目周期里,产品经理需要付出的努力和承担的义务并非一成不变。有的阶段比较轻松,有的阶段则很紧张。但是称职的产品经理对产品的关注和忧虑程度,以及愿意为之付出努力的热情是不会改变的。

  • 正直

在所有产品团队成员里,产品经理最能体现公司和产品的价值观。通常产品经理不直接管理团队成员,不能要求别人执行命令,所以他必须通过行动影响、说服身边的同事。这种影响基于相互的信任和尊重,要求产品经理必须是个正直的人。

产品经理是产品团队、销售团队、公司高管之间的枢纽,经常要协调处理各种问题,比如提早供货、满足大客户的特殊要求。产品经理如何处理这些难题,同事们都看在眼里。

信任和尊重需要时间培养,产品经理唯有通过工作展示自己的素质和能力,才能成为真正的团队领导。如果产品经理对待同事缺乏诚意,怀有私心,一碗水端不平,那么势必会影响整体团结和工作效率。产品经理虽然不必事事精通,但应当知道每位成员最擅长做什么,尊重大家发挥工作特长的意愿,充分信任大家。

考察一个人是否正直绝不比考察他的智力容易,考察陌生的应聘者是否正直就更难了。对那些有工作经验的应聘者,可以问问他们如何处理工作中的压力,多追问工作细节。

  • 信心

很多人相信经验可以让人产生自信。如果仅凭经验可以建立信心,为什么许多工作多年的产品经理却毫无自信?相反,刚刚步入社会的大学毕业生却往往充满自信(虽然这种自信通常源自对自身状况的无知)。

自信是很重要的素质。公司高管、产品团队、销售团队都需要看到产品经理的信心,确信他们投入的时间、金钱、努力不会付之东流。自信的人更有说服力,更容易成为人们愿意追随的领导者。

  • 态度

称职的产品经理把自己当成产品的CEO,愿意为产品的最终成败承担全部责任,绝不找借口。虽然他清楚产品按时成功上市要克服许多困难——开发难度大、开发时间长、成本过高、产品复杂等,但他明白预见和解决这些问题是他的责任。

这并不是说产品经理要事必恭亲,监督每个人的工作,而是指出现问题时他应该及时承担责任,进展顺利时他应该及时给大家以鼓励。称职的产品经理知道,虽然产品的实现离不开大家的协助,但是他应该对自己的产品创意负责。

技能

掌握一些重要的技能是打造成功产品的关键。我相信,只要具备优秀的个人素质,所有技能都可以习得。

  • 运用技术的能力

很多成功的产品经理是工程师出身,因为策划产品在很大程度上取决于对新技术的理解,以及如何应用技术解决相关的问题。
出色的产品经理并不需要自己发明或实现新技术,但必须有能力理解技术、发掘技术的应用潜力。
培养理解技术的能力有多种途径,可以参加培训课程,阅读相关书籍和文章,向程序员和架构师请教,参加开发团队的头脑风暴也不失为一种途径。

  • 注意力

产品经理要优先解决重要问题。研发产品的过程中有很多干扰。能否集中注意力解决关键问题、克制不断增加功能的冲动、不受关键人物或重要客户的影响,取决于产品经理是否有足够强的自律性——不但要遵守公司制度,还要严格要求自己。
几乎所有产品都有些不那么重要的功能——这些功能对提高销量和用户满意度毫无作用。如果去掉这些功能,产品甚至会因为简单、易用获得更多用户的喜爱。我建议过滤多余的功能,缩短研发时间,降低生产成本,让产品更早上市。

  • 时间管理

电子邮件、即时消息和手机构成的世界充满了干扰。你可能一大早就来上班,拼命工作一整天,连吃饭喝水都顾不上,深夜回到家却发现到头来没完成一件重要工作。时间都用来“救火”和处理“紧急”事件了。

熟练、迅速地区分重要任务和紧急任务,合理地规划和安排时间是产品经理必备的技能。如果产品经理无法集中精力完成真正重要的任务,那产品就难免命运多舛了。

我认识太多每星期工作七十个小时、累得精疲力竭的产品经理。他们把所有的时间和精力都花在工作上,体力透支到了极限。对他们而言,最可怕的事实莫过于做的都是无用功。为此,我有意在培训课程中加入了时间管理和合理安排工作任务的内容。产品经理的时间应该用来改变现状,而不是疲于奔命参加大小会议、逐一回复邮件。有许多事情不值得做。

  • 沟通技能

虽然沟通技巧可以学习,但要做到出类拔萃需要经年累月的练习。沟通(包括口头表达和书面表达)能力是产品经理必备的技能,如前所述,产品经理只能以理服人,绝不能靠职位压制他人。

口头表达能力可以在面试中测试,测试书面表达能力则需另寻他法。我常建议应聘者随身携带文字材料证明其书面表达能力,比如,不涉及专利的产品策划文档。

注意,如果应聘者使用非母语时带有口音或有轻微的语法错误,不代表其沟通技巧不佳,只要说话口齿清晰、易于理解、具有说服力即可,完美的发音和语法不是必要条件。

产品经理会花许多时间写电子邮件、产品说明文档、策划书、同类产品分析文档等。聪明的产品经理不会浪费时间写没人看的东西,一旦决定动笔就要做到最好,言之有物,让人信服。

书面表达务必条理清晰、言简意赅,因为同事(特别是公司高管)会根据这些文字评估产品经理的工作。有时文字材料是他们评判的唯一依据。

还有一种常见的沟通形式是演讲。对许多人来说,面对听众演讲并非易事,有效地表达观点更是困难。尽管如此,演讲是产品经理的家常便饭。产品经理必须用最短的时间向公司高管、大客户、销售团队解释产品的内涵和重要性。

我们都听过糟糕的演讲——幻灯片一张接一张没完没了,演讲人死板地朗诵条目,听众不得不费劲地揣摩每张图表的意义,既抓不住重点,也不明白价值何在。

与此相反,成功的产品经理尽可能减少幻灯片的页数,他们的演讲充满热情、重点清晰、数据充分、引人入胜,绝不超时(甚至提前结束)。他们更喜欢听众提问,即使遇到暂时无法回答的问题,也会努力尝试向提问者和听众阐述自己的理解。杰里·韦斯曼(Jerry Weissman)的《演讲制胜:讲故事的艺术》是一本非常好的提高演讲水平的指南。

商业技能

作为产品团队的发言人,产品经理要协调团队与财务部门、营销部门、销售团队、公司高管之间的工作——必须使用这些人听得懂的概念和术语。

我认为产品经理应该具备双语技能。这并非指中文和英文,而是指产品经理既能与程序员讨论技术,又能与管理层和营销人员讨论成本结构、边际效应、市场份额、产品定位和品牌。

由于上述原因,很多产品经理都是商学院毕业的。企业需要懂得商务的人,所以雇用MBA。虽然MBA也可以成长为出色的产品经理,但总的来说商业技能只是产品经理需要具备的多种技能之一,而且完全可以在商学院以外的地方学到。比如,技术人员进入产品管理领域后,通过阅读、培训学习商业技能是很常见的事。

去哪里招聘产品经理?

具备以上这些素质和技能条件的人极少见,和优秀的产品一样稀少。没有比产品经理更重要的职位了,所以必须用严格的标准考察应聘者。

关于招聘产品经理,有许多不同的看法。许多公司认为他们需要的只是营销部门的人或有MBA学历的人,就像教科书对产品经理的定义一样。这种看法也许曾经是正确的,但如今无疑是一种谬论。

许多公司喜欢招聘从顶级商学院毕业、拥有技术类学士文凭、具有行业经验的MBA。不过别忘了MBA课程几乎不涉及产品管理。如果你认为现在的MBA毕业生们知道如何管理产品,那就大错特错了。

最有效的招聘途径是寻找具有上述特质潜力的人,通过培训课程和传帮带把他们训练成高素质的产品经理。这些人可能就藏身于公司内部。我认识许多优秀的产品经理,他们曾经是程序员、用户体验设计师、客服人员、技术支持人员、营销人员,甚至曾经是目标用户。他们利用各自的经验进一步完善产品管理工作。出于同样的原因,公司高管应该听取不同岗位员工对产品管理的建议。对于高管来说,这是宝贵的经验。

行业经验重要吗?

最近一位朋友向我了解一位产品经理应聘者(大卫)的情况,我曾经和大卫一起工作过。我的朋友是一家大众网络服务公司的主管,他非常喜欢大卫,但他心里有个疑问:“大卫是企业级软件产品方面的专家,他适合我们这种企业吗?”
我忍不住笑了,告诉他四年前我遇到过类似的问题。当时大卫现在的主管问我:“这个人对系统软件十分在行,可他能够做好企业级软件吗?”

其实大卫所受的教育与系统软件、企业级软件、大众网络服务都无关,甚至与软件技术无关。他是学金融出身的,非常聪明,善于快速进入新领域,理解新技术。

许多产品经理是因为他们的行业经验获聘的。经常有人问我产品经理是否必须具备领域和行业经验,我认为对某些产品来说,专业知识是必要的,比如,研发心脏除颤器,最好有一位懂得心脏护理的产品经理。但这只是个例,并非原则。

我甚至认为资深行业经验对产品经理的工作可能是不利的,因为长期从事某一行业的人通常会落入一种常见的心理陷阱:他们以为自己了解目标客户,盲目自信。产品经理应该习惯放下自己的成见。拥有资深行业经验的人也能做到这一点,但他们必须付出更多努力,保持开放的心态。

我并不是说管理产品不需要行业知识,相反,我觉得了解产品的领域知识(粗浅的了解不算数)是绝对必要的。我相信通过积极学习,高素质的产品经理可以快速熟悉新行业。以我自己为例,熟悉新行业达到自信制定产品策略的程度,只需要两三个月时间。

我相信开发企业级软件、系统软件、大众网络服务和消费类电子产品各自有不同的技能要求。例如,企业级软件的用户是数目较少的大企业(而不是数量上百万的消费者),所以有不同的手段了解需求、定义产品;不同类型产品的销售渠道各不相同;如果产品涉及硬件设备,则必须了解它会对流程和进度造成哪些影响;如果开发大众网络服务,必须知道如何展开规模管理和社区管理。

总的来说,我认为产品经理大约有80%的技能和天分可以用于不同类型的产品。

我并非要贬低经验的价值,但我发现最宝贵的经验不是行业知识或技术(这些都可能过时),而是打造优秀产品的流程、领导产品团队的能力、应对产品扩张的经验、个人对自己的认知,以及自我激励的能力。

与行业知识密切相关的是技术专长,业界一度非常看重两者的联系。有一次,我看到一家企业级软件公司招聘产品经理,要求应聘者具备开发Linux产品的经验。的确,不同操作系统之间差异很大,但产品经理如果连处理不同操作系统对产品影响的能力都不具备,那么等待他的麻烦将远比缺乏Linux知识来得多。

高科技产品行业虽然要求快速学习新技术,但更重要的是预见如何应用技术合理地解决问题。技术发展很快,所以产品经理必须善于快速学习新技术,解决新问题。我面试应聘者时,不关心他们已掌握的知识,只看重他们的学习思路。比如,让他们回忆研发产品之前,他们需要学习哪些知识,需要多长时间学习,如何利用这些知识。

年龄不是问题

各个年龄段都有出色的产品经理。为什么有人二十五岁就脱颖而出?首先,互联网真正普及是1995年以后的事情,因此,今天二十五岁左右的人和我们的上网经验一样多。互联网兴起时,十几岁的青少年很快学会了成年人搞不懂的技术。其次,经验虽然需要时间积累,但其他素质,比如智力和对产品的热情则与年龄无关。

当年为网景公司年轻的创始人马克•安德森(Marc Andreessen)工作时,我不得不适应给这个二十出头的年轻人打工的事实。但是当我发现他吸收新技术和说服他人的能力后,我很快就忘记了他的年龄。未曾与他谋面的人会认为,拥有这种商业能力的人至少得年过四十。

寻找出色的产品经理不能以年龄、性别或种族作为判断标准。我知道行业中仍然存在不少偏见。例如,由于重视沟通技巧,我们尽量招聘母语是英语的应聘者。
我指出这一点并不是想谴责谁,只是想提醒大家,无意的偏见可能会让我们错过出色的产品经理。下次某个大学毕业生带着他的产品创意来找你时,你或许应该听一听,他的创意很可能是下一个Facebook。启示录_封一

过去20年,Marty Cagan作为负责定义和开发产品的高级经理人为多家一流企业工作过,包括惠普、网景通信、美国在线、eBay。他亲历了个人电脑、互联网、电子商务的起落沉浮,致力于通过写作、演讲、培训帮助客户打造富有创意的产品。为此,他撰写了《Inspired: How to Create Products Customers Love》一书,创办了硅谷产品集团公司(SVPG)。在此之前,他的最后一份工作是担任eBay产品管理及设计高级副总裁,负责规划全球电子商务网站的产品和服务。

本文节选自华中科技大学出版社《启示录:打造用户喜爱的产品》一书。该书从人员、流程、产品三个角度介绍了现代软件(互联网)产品管理的实践经验和理念。特此感谢华中科技大学出版社与Marty Cagan先生授权。


  本文选自《程序员》杂志2011年07期,更多精彩内容敬请关注07期杂志

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

转载于:https://www.cnblogs.com/spring3/archive/2011/08/28/2401426.html

相关文章:

LeetCode实战:除自身以外数组的乘积

背景 为什么你要加入一个技术团队?如何加入 LSGO 软件技术团队?我是如何组织“算法刻意练习活动”的?为什么要求团队的学生们写技术Blog 题目英文 Given an array nums of n integers where n > 1, return an array output such that ou…

PHP+MySql获取自动增长字段的新添加记录ID值

PHPMySql获取新添加记录的ID值 1.假设字段名称为recordID 2.字段属性须设为:auto_increment 3.添加数据后使用 $newID mysql_insert_id(); 得到ID值 ASP获取即时ID值 ASPAccess2000 1.要获取的ID值字段属性必须设为:自动编号(我们假设字段名为recordID)…

MyBatis框架添加客户有哪些步骤

在MyBatis的映射文件中,添加操作是通过元素来实现的。例如,向数据库中的t_customer表中插入一条数据可以通过如下配置来实现。 在上述配置代码中,传入的参数是一个Customer类型,该类型的参数对象被传递到语句中时,#{us…

磁盘IO的总结

转自:http://simpleframework.net/blog/v/8486.html 1. 完全随机写还是跳跃,5倍的性能差距! 全随机写无疑是最慢的写入方式,在logic dump测试中很惊讶的发现,将200M的内存数据随 机的写入到100G的磁盘数据里面&#xf…

UI设计培训之设计中的点线面-面

想要学好UI设计,从事UI设计工作,那么理论基础知识一定要会,今天小编为大家整理的就是关于UI设计中的点线面-面,在平面构成三要素中面是相对占空间最大的元素,在设计中也包含和表现更加强烈的情感色彩,有明显…

projecteuler_problem10

problem10 地址&#xff1a;https://projecteuler.net/problem10。 源码&#xff1a;gitcode.aliyun.com:qianlizhixing12/ProjectEuler.git。问题&#xff1a;找到2000000内质数和。 #include <stdio.h> #include <math.h> #include "debug.h" #include…

LeetCode实战:排序链表

背景 为什么你要加入一个技术团队&#xff1f;如何加入 LSGO 软件技术团队&#xff1f;我是如何组织“算法刻意练习活动”的&#xff1f;为什么要求团队的学生们写技术Blog 题目英文 Sort a linked list in O(n log n) time using constant space complexity. Example 1: I…

技术图文:双指针在链表问题中的应用

背景 最近这段时间团队在进行算法刻意练习活动&#xff0c;我带着同学们刷 leetcode 的“腾讯精选练习&#xff08;50&#xff09;题”&#xff0c;参见&#xff1a;我是如何组织“算法刻意练习活动”的&#xff1f; 在做题的过程中&#xff0c;同学们讨论比较多的是链表中遇…

[BuildRelease]build number / id

build number&#xff0c; 也称为build id&#xff0c; 在build release的流程中唯一标示一个build&#xff0c;也是正式的产品的product version 和file version后两位&#xff08;Major.minor.xxx.xxx&#xff09;的来源&#xff0c;可以使用合适的方法将build number转化到p…

Windows Azure Storage (25) Azure Append Blob

《Windows Azure Platform 系列文章目录》 在笔者之前的文章中&#xff0c;我们介绍了Azure Blob 有两种&#xff1a;Block Blob和Page Blob。 在这里笔者介绍Blob的第三种&#xff1a;Append Blob。 概念&#xff1a; 1.Append Blob概念类似于Block Blob&#xff0c;因为都是由…

学python培训到底能干嘛

Python是在人工智能领域发挥着很重要的作用的&#xff0c;现在依旧有很多人对Python这项技术不是很了解&#xff0c;学Python培训到底能干嘛?下面小编来为大家做下详细的介绍。 python其实并不难学&#xff0c;对于初学者和完成普通任务&#xff0c;Python语言是非常简单易用的…

使用VB.NET加快代码开发速度

以前在学校时&#xff0c;编写代码都是使用C#&#xff0c;习惯了C#的代码习惯&#xff0c;等工作后由于工作需要逐渐的开始采用了VB.NET开发项目&#xff0c;渐渐地喜欢上了VB.NET&#xff0c;现在我就罗列一些VB.NET加速代码开发的方法。 一、智能感知 做.NET开发的许多人都知…

技术图文:举例详解Python中 split() 函数的使用方法

背景 这篇文章主要介绍Python中的split()函数的使用方法&#xff0c;split()函数通常用于将字符串切片并转换为列表&#xff0c;需要的朋友可以参考一下。 技术分析 Python中有split()和os.path.split()两个函数&#xff0c;具体作用如下&#xff1a; split()&#xff1a;拆…

Burning

转载于:https://www.cnblogs.com/kuiyuan/archive/2011/09/02/2163621.html

UI设计工作好找吗?有哪些面试技巧?

最近有很多学习UI设计的学员&#xff0c;想要了解UI设计学成之后是否好找工作?对于后期的面试有哪些技巧?下面小编整理的这些希望可以帮助到大家&#xff0c;来看看下面的详细介绍。 UI设计工作好找吗?有哪些面试技巧? 作品&#xff1a;很多初级小白的问题所在就是缺少大量…

刻意练习:Python基础 -- Task10. 类与对象

背景 我们准备利用17天时间&#xff0c;将 “Python基础的刻意练习” 分为如下任务&#xff1a; Task01&#xff1a;变量、运算符与数据类型&#xff08;1day&#xff09;Task02&#xff1a;条件与循环&#xff08;1day&#xff09;Task03&#xff1a;列表与元组&#xff08;…

CentOS 7更新时出现Multilib version problems

这两天在更新CentOS7系统时&#xff0c;出现了Multilib version problems错误&#xff0c;执行命令&#xff1a; # yum update 出现了的错误信息&#xff1a; .... ---> Package libcap-ng.i686 0:0.7.5-4.el7 will be installed ---> Package libstdc.i686 0:4.8.5-16.e…

HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。...

把以下内容加在web.config的<system.webServer>节点 <security><requestFiltering ><requestLimits maxAllowedContentLength"1024000000" ></requestLimits></requestFiltering></security> 上述中maxAllowedContentLeng…

APP自动化测试过程概述

对于Android App的自动化测试框架的使用&#xff0c;其实在很多书上面都会有说明&#xff0c;我们可以先来看一个常用的自动化测试实例&#xff0c;先不说框架&#xff0c;主要是测试用户操作的模拟、执行结果的判断&#xff0c;以便获得对测试自动化的理解与认识。 案例需求如…

MFC最小化到系统托盘

在VC中&#xff0c;想实现将MFC最小化到系统托盘&#xff0c;需要调用NOTIFYICONDATA类&#xff0c;并注册相应的消息&#xff0c;以下详细讲解如何实现&#xff1a; 第一步&#xff0c;声明一个NOTIFYICONDATA类&#xff0c;也就是NOTIFYICONDATA NotifyIcon;该句可以放在Dlg类…

资料分享:推荐一本《简单粗暴TensorFlow 2.0》开源电子书!

背景 本开源电子书是一篇精简的 TensorFlow 2.0 入门指导&#xff0c;基于 TensorFlow 的 Eager Execution&#xff08;动态图&#xff09;模式&#xff0c;力图让具备一定机器学习及 Python 基础的开发者们快速上手 TensorFlow 2.0。 本开源电子书的所有代码基于 TensorFlow…

JS设计模式-观察者模式

观察者&#xff08;又称发布订阅&#xff09;模式定义了对象间的一种一对多的依赖关系&#xff0c;以便一个对象的状态发生变化时&#xff0c;所有依赖于它的对象都得到通知并自动刷新。原文链接 应用场景 当用户在网页执行一些操作&#xff08;如点击&#xff09;后就需要执行…

如何理解JS的单线程?

JS本质是单线程的。也就是说&#xff0c;它并不能像JAVA语言那样&#xff0c;两个线程并发执行。 但我们平时看到的JS&#xff0c;分明是可以同时运作很多任务的&#xff0c;这又是怎么回事呢? 首先&#xff0c;JS的代码&#xff0c;大致分为两类&#xff0c;同步代码和异步代…

Fedora 14下安装使用rarlinux

安装Fedora 14后&#xff0c;其默认情况下不能解压RAR文档&#xff0c;因为系统自带的解压软件不支持RAR格式文档&#xff0c;但由于经常要用到RAR文档&#xff0c;因此就必须安装一个RAR软件。Linux版的RAR下载链接&#xff1a; http://www.rarlab.com/download.htm 以rarlinu…

技术图文:如何利用 Python 做一个简单的定时器类?

背景 今天在B站上看有关 Python 最火的一个教学视频&#xff0c;零基础入门学习 Python&#xff0c;这也是我们 Python基础刻意练习活动 的推荐视频教程。 在学习魔法方法的时候&#xff0c;有一节视频是制作一个简单的定时器&#xff0c;基本要求如下&#xff1a; 定制一个计…

20、C#里面方法的创建和显示

在C#里面&#xff0c;和Java也是一样的&#xff0c;都是可以创建方法的。这里所说的方法&#xff0c;就是其它编程语言里面的函数、子程序、过程等。创建的方法有两种&#xff1a;一种是没有返回值的方法。一种是有返回值的方法。无论是哪种方法&#xff0c;其实都是很简单的。…

优秀的Java程序员应具备哪些编程技术?

想要成为一名合格的java程序猿&#xff0c;需要学习的知识是有很多的&#xff0c;但是基础知识一定要非常牢固&#xff0c;基础不牢固的程序员&#xff0c;随时都会被新的知识和技术所淘汰&#xff0c;下盘不稳风一吹就倒&#xff0c;那么具体作为一个优秀的Java程序员应具备哪…

asp.net 后台事件掉用前台js

在下面的例子中&#xff0c;我们在一个 .aspx 文件中声明了一个 TextBox 控件和一个 Label 控件。当您更改了 TextBox 中的值&#xff0c;并且在 TextBox 外单击时&#xff0c;change 子例程就会被执行。change 子例程会向 Label 控件写一条文本&#xff1a; <script runat&…

Android -- 利用Broadcast开启Service

Broadcast和Service都是Android四大组建之一的。 这里的广播是动态的&#xff0c;自己注册的一个广播。 这种最典型的用法就是利用开机广播&#xff0c;然后再起自己的服务&#xff0c;也就是在Android手机中做到开启启动。 Service与Broadcast …

资料分享:推荐一本《李宏毅机器学习》开源电子书!

背景 今天在 github 上看到了 datawhale 发布的 李宏毅机器学习笔记。 https://datawhalechina.github.io/leeml-notes 其目录如下&#xff1a; P1 机器学习介绍P2 为什么要学习机器学习P3 回归P4 回归-演示P5 误差从哪来&#xff1f;P6 梯度下降P7 梯度下降&#xff08;用…