其中一个问题,就是:什么是「好产品」? 在这一年多的时间里,看到了很多朋友从不同的角度阐述了自己的观点,很多内容让我受益匪浅。作为这个问题的提出者,我现在尝试从自己的角度阐述一下。...首先,总的来说,这不是一个「好」问题。因为太过于宽泛,如果本着「寻求答案」的目的,往往不会有什么太好的结果。但是我的目的并不是寻求答案,而是想看看大家的思维方式。...基于此,我也思考了很久,究竟什么才算是「好产品」?脑袋里出现了很多维度,我在等待它们慢慢的类聚在一起。...所以不论什么手段,满足「需求」才是关键 2、黏性 好产品是不是一定要有「黏性」,或者是不是黏性一定很强?其实不一定。还是要看这个产品的具体使用场景。...整体上还是认为,「满足需求」是第一要务,不一定要「惊喜」。在我口渴的时候,我能够得到一瓶水,喝起来没什么惊喜,就是水。但它依然是好产品。 4、差异化 好产品是否一定跟其他竞品「不同」,我觉得不一定。
什么是好代码 你如何定义好的代码?本文通过咨询65个开发人员同一个问题从而得出了一个伪科学的答案。 首先我们相信写好代码是非常重要的。为什么呢?首先,好代码比差代码更有趣,成本更低。...其次,代码好,就意味着你正在构建的产品有可能会更好。第三,也是非常关键的一点,写出好的代码是我们的职责:毕竟,我们的工作就是写代码。...当然,目前最常见的答案是,代码必须可读(78.46%),几乎10分之8的开发人员认为,好的代码应该易于阅读和理解。...然后是可测试的/测试过的(29.23%),这说明好的代码应当是经过自动化测试的(或至少是有可能执行测试的)。...编写可工作的代码,是我们的首要任务之一。所以我们很惊讶为什么并不是每一个开发人员的答案中都囊括这一条。 可测试/已测试过的:测试的重要性在这里我就不多说了,相信大家已经听到过不知道几百遍了。
本文是本学期第一篇,聊一聊什么是好的R包。这个问题源于年前一个同学,她在学习R语言,然后拿着一张总结的一些R包的图片问我:还有没有更好的包?当时就把我问蒙了,问她什么是更好的包?...她说是新更新的或者被大家所公认的包。我说你发的图里面的都是啊。。。然后就结束了对话。 ? 就是这张图 其实在她问我之前我从来也没想过什么算是“好”的包。...那么什么是好的R包呢,对于我们这些只需要用R来做生信分析的人来说,如果功力没有那么深厚,看不懂R包的源代码,确实需要找到一些普遍都在使用且坚持更新的包,不仅仅不容易出错,而且网上这些包的学习资料也更多。...其实每个月生信类的杂志都会出很多新的R包的文章,但是大部分都没什么人用。能在网上留下痕迹的都是经过大家检验的。...乱七八糟说了那么多,总结起来有以下几点:想要实现某种功能,需要科学上网,搜索别人之前造好的轮子,你能想到的大概率世界上已经有其他人做到了;多看包和函数的说明文档,里面有很多相关功能的其他函数及包的信息;
但热炒的背后是什么? 什么是平台工程? 平台工程方法补充了 DevOps。该“平台”是一个内部环境,创建为开发人员构建和运行软件(例如应用程序、工具和工作流)的空间,且该环境安全且合规。...这些成本最常见的原因是开发人员为每个项目(甚至项目中的各个测试用例)启动单独的环境。另一个好处是,由于能够自动化在统一平台中工作的操作流程,因此能够大规模工作的可能性增加了。...这意味着组织反而需要对其购买的产品或已采用的开源软件进行一些工程工作。但问题是:自己设计多少才是合适的?平台工程可能会分散对业务目标的注意力,而不是推动这些组织与众不同之处。...在此模型中,每个组织的平台都是定制构建的,但它位于现有、受支持、可购买的工具之上。通过这种方法,组织可以摆脱构建与购买的两难境地,并专注于微调其平台以满足其组织的需求。 它要成为常态,需要发生什么?...如果没有组织中每位开发人员的全力支持以及高级团队成员的支持,企业将无法成功实施平台工程。 为什么开发人员应该关心? 对于大型软件工程组织来说,拥有庞大而复杂的技术堆栈很容易。
错误信息是我们在线日常生活的一部分。每次服务器故障或没有网络,或忘记在表格中添加一些信息,我们就会收到错误信息。"出错了" 是常见的做尘。但是什么出错了?发生了什么?...而且,最重要的是,我要怎么做才能修复它? 图片 那怎样写才是一个好的提示呢? 在介绍好的提示之前,我们先来看一下什么是不好的错误提示。...Technical jargon 专业术语: 程序员喜欢把一些专业术语用在错误提示里面。例如:你不能获取我的数据?我的凭证被拒绝了?...好的错误提示 图片 Say what happened and why: 说明出错的原因:让用户清楚的知道发生错误的原因,可以通过视觉和文字的结合来完成。解释用户为什么会出现这个错误。...即使是技术原因,也要说明是我们的原因,而不是用户操作错误。比如:「由于技术上的原因,暂时无法连接到你的账户」。 Provide reassurance 提供保证:比如「你的修改已被保存到草稿」。
对于什么是好的编程语言,他发表了一篇文章分享了自己的观点。以下是他的全文: 这篇文章改编自我在 Cygni 科技峰会上的一次演讲。...那么程序语言的选择有多重要呢?有没有一种语言可以被认为是完美的? 什么是好的语言?...在学术界,关于什么是一门好语言的话题似乎相当平静,但 Tony Hoare 在 1973 年发表了一个有趣的主题演讲,名为「Hints on Programming Language design」。...我认为这听起来是一个很好的方法,尽管我还想补充一点,编程在某种程度上也应该很有趣。 随后,Tony Hoare 提出了一些好的编程语言应该具备的特性: 最重要的是简单性。...现在我在探索 Shen,它有一些非常好的语法特性,嵌入式 Prolog 和一个可选的基于顺序逻辑的类型系统。
关于测试用例的话题,我之前已经写了 12 篇相关文章了 今天想说说「什么是好的测试用例」。...这个话题的争议很多,每个人的理解千差万别,比如我用搜索引擎搜索关键词「什么是好的测试用例」,百度返回 1960 万条结果,Google 返回 574 万条结果。...在给出我的结论前,我先列一下现有的一些有代表性的答复。...); 2、好的测试用例要有重复性; 3、好的测试用例必须清晰地定义一个或者多个期望的结果以及测试通过和失败的标准; 4、好的测试用例是没有冗余; 5、好的测试用例能覆盖更多的测试需求 答复二(百度知道...至于其他答复中提到的某些关注点,有一些算是用例格式的要求,我在之前的 12 篇文章中多有提及,其他没有提及的,后面会有专门的文章进行说明,敬请期待。
C语言杂谈 什么是好的c/c++程序员? c/c++程序员就应该有c/c++程序员修养 什么是好的c/c++程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。...对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。 我认为好的c/c++程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。...有句话叫“字如其人”,我想从程序上也能看出一个程序员的优劣。因为,程序是程序员的作品,作品的好坏关系到程序员的声誉和素质。而“修养”好的程序员一定能做出好的程序和软件。...有个成语叫“独具匠心”,意思是做什么都要做得很专业,很用心,如果你要做一个“匠”,也就是造诣高深的人,那么,从一件很简单的作品上就能看出你有没有“匠”的特性,我觉得做一个程序员不难,但要做一个“程序匠”...我在这里不讨论过深的技术,我只想在一些容易让人忽略的东西上说一说,虽然这些东西可能很细微,但如果你不注意这些细微之处的话,那么他将会极大的影响你的整个软件质量,以及整个软件程的实施,所谓“千里之堤,毁于蚁穴
关于什么是好代码,软件行业烂大街的名词一大堆,什么高内聚、低耦合、可复用、可扩展、健壮性等等(作者【CoderBaby】)。...一匹跑得快(运行速度快),少生病(健壮),可以驮载各类货物(可扩展),容易辨识(容易看懂),病好治(bug好发现),高大英俊的千里汗血马是也 ?...什么是好代码,不好定义,但是关于什么是代码里的"坏味道",比较容易搞清楚。...函数名能让人望名知义,看名字就知道函数的功能是啥,以至于几乎不需要多少comments最好 通常DAO层函数的命令规范是:“操作+对象+通过+啥”,如:updateUserById, insertQuarter...不知道Java社区为什么不太关注反射耗时的问题,以前写C#都会谨慎使用,C#社区有专门讨论反射优化。
头条写的是安全,写完有点意犹未尽。想就着话题聊,不过这里又写明了叫机器学习,一咬牙一跺脚,聊一个大一点的话题。 什么是好的技术。 这是个没有标准答案的话题,甚至可能不是一个技术的话题。...一般来说,我们说一项技术“好”,意思通常是这么技术比较“先进”。但是,先进的技术一定是好的技术吗? 这里不给答案,只聊两个事情。 头条聊到网络安全,那就先说说网络协议。...操作系统安全也是我的研究内容之一,单从软件工程的角度看,早期的Android有很多一言难尽的地方,而Windows是远要成熟得多。 那为什么现在是Win11原生支持Android,而不是反过来呢?...而且,很多人容易忽略的是:不同的分布情况,分布也是不同的。也就是说,某些数据分布出现的概率要远比其它大的多。 这就是我对什么是好的技术的回答。 最后,说一点安全方面的东西。...如果能,那“什么是好的技术”就很好回答了:符合未来发展方向的技术当然就是好的技术。不过,需要首先回答另一个问题: 业界下一个“爆点”在哪里? 这是个技术问题,又不是个技术问题。
关于什么是好代码,软件行业烂大街的名词一大堆,什么高内聚、低耦合、可复用、可扩展、健壮性等等。...一匹跑得快(运行速度快),少生病(健壮),可以驮载各类货物(可扩展),容易辨识(容易看懂),病好治(bug好发现),高大英俊的千里汗血马是也 坏味道 什么是好代码,不好定义,但是关于什么是代码里的"坏味道...",比较容易搞清楚,避免代码里的“坏味道",离好的代码就不远了,坏味道一二三及推荐做法: 代码重复 函数太长 如果太长(一般不宜超过200行,但不绝对),你自己都不太容易读懂,请不要犹豫,拆成小函数吧。...函数名能让人望名知义,看名字就知道函数的功能是啥,以至于几乎不需要多少comments最好 通常DAO层函数的命令规范是:操作+对象+通过+啥,如:updateUserById, insertQuarter...不知道Java社区为什么不太关注反射耗时的问题,以前写C#都会谨慎使用,C#社区有专门的讨论 基本类型优于装箱基本类型 基本类型更快,更省空间。
文章作者:途索 阿里巴巴 算法专家 内容来源:《数据分析通识》 导读:什么样的模型是好的模型?相信这是每一个数据分析师和大数据AI算法工程师都曾经默默思考过的问题。...又如,将一些互联网移动支付行为,以数据关系的形式形成交互行为模型。在这个过程中,规范与标准是真实世界的互联网移动支付行为,最终形成的样式是一个反应交互行为的数据表现形式,即交互行为模型。...一个好的模型,应该是在一定的数据规模和数据维度的条件下,可以最接近上界的映射反应。 2. 好的模型,是一个可以反映真实业务关系的模型。 靠近数据与特征确定的上界,主要依赖模型自身通过参数的调节能力。...例如,在SVM模型中,我们会认为不同分类之间的分类超平面应该距两个分类的支持向量间的距离是相等的并且是最大的。但是为什么?这是因为我们认为两个分类间的间隔就应该如此,这是在“业务”上带入的假设。...此时参与者自我感觉良好,想知道自己身体状态不佳是为什么,表现在哪里。此时,如果模型可解释性不强,就得不到相应的衍生结论。 模型的可解释性同时也可以为接下来业务的提升与改进提供非常有意义的指导与借鉴。
一、wireshark是什么? wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。 wireshark是开源软件,可以放心使用。...对应的,linux下的抓包工具是 tcpdump。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。 二、Wireshark常用应用场景 1....Wireshark使用的环境大致分为两种,一种是电脑直连网络的单机环境,另外一种就是应用比较多的网络环境,即连接交换机的情况。...Packet Details Pane(数据包详细信息) 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。...(4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP (5)Hypertext Transfer Protocol: 应用层的信息,此处是HTTP
文章作者:姚凯飞 Club Factory 编辑整理:Hoh Xil 内容来源:作者授权发布 出品社区:DataFun 注:欢迎转载,转载请注明出处 什么是好的推荐系统?...宗旨:服务提供方与消费方的双赢 推荐系统是一个多方交互的复杂系统,有很多因素能够对推荐系统的效果产生影响,本文试对这些因素中的一些代表性因素进行简单的阐述分析。...2) 准确的推荐 信息分发维度,推荐就是需要准确,必然是准确的推荐是好推荐的核心要素之一。 3....2) 用户不知道什么商品存在 好的推荐系统是既可以根据用户的反馈来推荐,也可以不断帮助用户进行探索,因为用户可能不具有某个领域内的知识,好的推荐系统还需承载帮助用户发现新事物的功能。 4....Who:人物维度,则更多地去考虑用户各类信息特征,比如用户是男是女,是老是少,是新用户还是老用户,平时喜欢买什么品牌,喜欢什么品类的东西,风格如何等等,这些都是在描述这个人,现在这一类技术一般作为用户画像存在
先从答案显然的开始吧,然后一步步深入到不那么好判断的。...这里有一篇文章讲到这种注释为什么不需要的原因,注释应该解释“为什么”,而不是“是什么”,即说明原因而不是说明作用(Why, not what)。...这个是一个函数调用,函数名已经足够解释了。优先用这种方式来说明用途可以替代一些注释。 CSS预处理器让CSS更接近传统编程语言。尽可能使用命名良好且有意义的变量和函数,这样能让代码更清晰。...好:注解难懂的补丁性的代码 我对注释也不是总那么苛刻的,比如我就很难找到下面的注释的问题,若你曾看过normalize.css的源码,你一定会注意到它满满的注释,不得不说,真是“极好的”注释。...当然,不是每个打补丁的代码都要这样注释,但若bug不是那么容易发现,而且与浏览器怪癖有关,那么还是这样注释吧。 好:指令式注释 一些工具如KSS , 会在CSS文件中创建一些样式规范。
一、wireshark是什么? wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。 wireshark是开源软件,可以放心使用。...对应的,linux下的抓包工具是 tcpdump。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。...Wireshark使用的环境大致分为两种,一种是电脑直连网络的单机环境,另外一种就是应用比较多的网络环境,即连接交换机的情况。...Packet Details Pane(数据包详细信息) 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。...(4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP (5)Hypertext Transfer Protocol: 应用层的信息,此处是HTTP
Linux是什么?Linux是一个开源的、免费的操作系统内核,它广泛用于各种计算机系统中。...Linux该如何学习,推荐一些易读的工具书,以及一些实践和常见问题和处理方法学习Linux可以按照以下步骤进行:了解基本概念和基础知识:熟悉Linux的起源、发展、基本架构和常用命令等。...下面是一些易读的Linux学习工具书推荐:"鸟哥的Linux私房菜":作者鸟哥以幽默风趣的方式讲解Linux的基础知识和常用命令,非常适合初学者。"...在实践中,可能会遇到一些常见问题,下面是一些解决方法:无法连接网络:检查网络设置、网络驱动程序和网络设备是否正常,并尝试重新配置网络连接。...以上是学习Linux的一些建议、易读的工具书推荐,以及一些常见问题和处理方法。希望对你有所帮助!
好的网站设计一般都具有以下特点: 第一、好的页面设计肯定是清晰明了的。 好的页面设计,重视的是用户的体验,所以会将产品详细地介绍给用户,让用户能充分认识产品,而不是盲目地将网站的价值灌输给用户。...例如,购买过程,产品的价格设置不清晰,免费的产品,在付款的时候没有自动减少相对应的价钱,造成用户的困惑。 第二、好的网页设计是易于理解的。...如果页面设计得合理,当用户访问网站的时候,根本就不需要花费过多的时间去了解这个网站,就可以知道网站的大概内容是什么,不需要其他指引就知道下一步需要做什么。...所以,好的网站设计,会在每一个功能上给用户一些提示,一步一步指引用户,熟悉网站的操作。 第三、好的页面设计是可以使用户愉快的。...用户在网站上进行操作的时候,要告诉用户为什么会有这个操作,对每一个操作都要理解。然后将每一个操作都要诚实地展示出来,这样用户在操作过程中更加便捷。
用公式来概括细节虽然很直观但是并不详细,所以本文将详细解释为什么我说这个公式是正确的。...V(X)公式的另外一个备选 下面的证明中,我们将对方差公式进行一些转换,用最右边的位替换中间位: V(X) = E[(X - E(X))²] = E[(X )²] - [E(X)]² 下面是这个公式是如何推导出来的...用括号这样做的原因是期望值是和/积分,所以无论我们对常数总和/积分用括号做什么,也可以对期望值做什么。这就是为什么如果a和b是常数,那么E[aX + b] = aE(X) + b。...更通俗的说法就是就是“如果有两个具有相同偏差的估计器,我们选择方差较小的一个” 还有许多不同的方法可以选择“最佳”估算器。因为“好”的属性包括无偏性、相对效率、一致性、渐近无偏性和渐近效率等等。...-方差权衡是关于什么的。
创建设计的第一步是设计分割,设计分割的依据是数据流。设计分割的结果是将设计划分为特定的功能单元,从而使得不同的设计者并行工作,同时每个功能单元可封装为相对独立的IP,实现设计复用。...设计分割时需要考虑的一个重要因素是定义设计层次(Design Hierarchy)。...尽可能使逻辑边界上的数据路径是寄存器输入/寄存器输出 对于包含关键路径的层次边界,要使其输出为寄存器输出,这样可将该路径封装于特定的模块或边界之内。...对位于边界的数据路径寄存还可获得一个好处:调试时易于跟踪。 下图是一个很好的例子,解释了什么是好的设计层次。可以看到模块的输入输出都做了寄存处理;时钟模块放置在设计的顶层。...同时,对顶层的输入输出寄存器使用了综合属性SHREG_EXTRACT,并将其值设置为“no”。目的是保证这些寄存器不会被综合为基于LUT的移位寄存器。
领取专属 10元无门槛券
手把手带您无忧上云