跳槽时的决策逻辑是什么?
你好,我是辰洋,《郭东白的架构课》的项目负责人。
我们正文的第二个模块已经更新过半。之前已经预告过,东白老师会时不时邀请一些不同行业的技术领导者来交流与对话,为你提供更多的视角、更宽阔的视野和更多元的思考维度。
正值金三银四,也是一个职业复盘的好时节。基于此,东白老师邀请了每日优鲜的CTO陈华良老师,来聊聊职业选择等话题。华良老师的职业背景丰富,既沉淀有消费互联网的经验,也在产业互联网积累了不少思考。在加入每日优鲜之前,华良老师也有意识地选择了百度、美团、阿里等几家公司,为自己的职业目标做积累。相信他与东白老师的对谈,能带给我们不一样的职业认知和人才理解。
主持人:郭东白 瓜子二手车集团CTO 嘉 宾:陈华良 每日优鲜技术VP,前美团算法委员会主席
完整的对话视频如下:
!video[https://static001.geekbang.org/resource/image/02/2f/028aa9c91259ffe28c49163b65c5332f.jpg](https://media001.geekbang.org/customerTrans/7e27d07d27d407ebcc195a0e78395f55/2e7ad29d-17fea304f81-0000-0000-01d-dbacd.mp4, https://media001.geekbang.org/f2adb034e45f4ea9aadaa223af42c84b/148b646e883849a8b73df9a4d0489300-bfac70df8a78c7d9d5788e172f82fb4b-sd.m3u8)
此外,我还根据视频整理了一版文字精华稿,部分对话有删减。而对话是两位老师相互启发、思想碰撞的过程,文字很难呈现全貌。所以有学习条件的话,更推荐你去观看完整视频。
文字精华稿
东白:大家好,我是郭东白。今天我们有幸请到了陈华良老师。他是每日优鲜的CTO,之前在百度、阿里等大厂工作过,我相信他今天肯定能给我们带来很丰富的故事和经验。我们先请华良老师来简单介绍下自己的经历吧。
华良:很高兴来这儿跟东白老师做一些技术上的交流。我刚开始是在一家小的创业公司,后来很快意识到如果刚毕业就去创业,成功概率其实是非常低的。所以就选择进入大公司,先后在百度、美团、阿里深入地做技术和算法方面的工作,从阿里出来后就加入每日优鲜做CTO了。
东白:我知道你最早在百度做得非常好,但是后来你又选择去美团、阿里。在转换的过程中,是什么让你觉得该动一动了?
华良:首先我觉得职业规划还是非常重要的,我的最终目标是做一家自己的公司。
最开始去创业公司是想学习创业方面的经验,后来发现过早地进入创业公司,能学到的东西非常有限。所以很快就及时止损,选择进入大公司,深入学习大公司的技术与文化,想为之后创业积累一些资源和经验。
当然,我确实是有意识地选择了百度、美团和阿里这几家公司,想要经历它们的技术和文化。我感觉自己的认知和能力提升到一个比较高的水准后,相对于业界来说,就决定选择一家相对小一点的创业公司。也就是每日优鲜,再去沉淀和积累自己的能力。
这样的话,整体上我的能力积累会比较充分和完整,也能为我下一站创立公司积累更多的资源。我是这么一个大的职业规划上的思考。
东白:我觉得这个挺好的。就像我在专栏开篇词里提到的:“如果没有战略意图就成不了一个好的架构师”。我觉得你刚才的描述,就把战略意图这件事情概括得非常好。
不过这三家公司的文化、技术等方面都有不小的差异。你能分享一下自己的看法吗?
华良:每个人看事物都是片面的,所以我只能说从我的视角,分享一下观察到的这几个公司的一些特点。
百度是一个纯技术驱动的工程师文化的公司,所以我刚进去的时候就感觉非常舒服。它会提倡我们去学习世界上最新的一些技术,然后用这些最新的技术去改变社会、改变世界,给用户带来更好的用户体验。
美团整体上是一个技术驱动的运营公司。它整体上是在做O2O这么一个业务,还有一些非常重的线下业务,整体来说非常复杂,所以它就需要很强的运营能力。对于技术人员来说,更多是说我怎么通过技术为运营赋能、创新,来提升整个运营的效率和价值。
对于阿里来说,它的基因就是一个电商公司。从技术人员的角度来看,我要做的就是怎么通过技术让整个电商业务运转得更加高效。
这是我个人对这几个公司的一点理解。
东白:阿里我也待过,去阿里之前我是在亚马逊,也很有意思。亚马逊和阿里,一个在美国一个在中国,都是电商公司,都做到了极致。有点像在血泊中打拼出来的两家公司,很不容易。其实看两家公司的竞争历史,你会发现它们都是非常痛苦的。
你能明显感觉到,像阿里,是一个中国企业,还带有一些家族企业的性质。亚马逊呢,是一个纯西方理念的公司,规则驱动做得非常不错。但是做到最后,你会发现这两家公司的企业文化、员工行为是非常接近的。
我总感觉这其中的根源是两家企业都在零售业,客户随时随地都能离开。就像客户要买一瓶水或者一个面包,他们只关心哪里便宜、哪里最好,根本谈不上什么忠诚度。导致这两家公司最终的很多行为和文化,甚至激励制度,都非常类似。
在美团和阿里,你看到的挺有意思的类似之处是什么呢?
华良:差异还是比较明显的。我个人的观点是这样,技术应用到社会实际服务中去的时候,是要跟业务强绑定的。所以业务的特性不一样,会让技术的整个架构和服务也不一样。
所以我刚才说,美团整体上是这种偏O2O运营的这么一个业务,这个业务所需要的技术和文化,跟阿里这种电商公司所需要的技术和文化,肯定就不太一样。
东白:你在美团是做美团外卖吗?
华良:我在美团主要是做平台技术,也就是做搜索、做推荐、做广告。我们的平台技术可以理解为一个比较流行的词,就是“中台部门”,用来支撑各个业务的技术。
东白:你对比过阿里和美团的搜索吗?
华良:我在这一方面还算比较熟悉。像美团的搜索,它更注重近场的一些匹配,比如用户跟周边商家的匹配关系,所以我们更多的是做一些类似于近场及时性的这种需求满足。
对于阿里来说,它更多的还是这种探索性的需求的满足。当用户搜一个东西的时候,他可能并不知道自己要找什么东西。所以我们在阿里会做很多探索性的工作,会给用户一些探索性的、新的、没有想到的结果。然后引导、激发用户的兴趣,满足用户的需求。
我觉得这是两种不同的目的。在不同的目的下,我们会构建不同的技术体系。
东白:我理解阿里做探索这部分,很大的目的其实是为了DAU的增长和用户时长的增长。因为当时的内容领域还没起来,淘宝慢慢地也在丢失用户市场,天猫的变现又没那么高效,所以一直期望能把DAU往上拉。
你在那个时间段,应该是对探索这部分非常迫切的。你有没有追踪过搜索前后的变化?有什么变化吗?
华良:你说得很对。这其实是两个方面。一方面是阿里,电商的探索是非常重要的。为什么?因为电商面对的是几百万上千万的商品,需要关注商品和用户之间的匹配关系。其实在用户的认知范围内,他知道的商品的集合是非常小的,可能就是几百款或者几千款。但实际上呢,还有其他更好的商品也能满足他的需求。
从这个角度讲,这个探索是非常好的。用户心里有一些目的,比如要买一款奶粉,知道有那么几款,而实际上可能有更好的奶粉。如果通过Explore这个机制,让用户发现这个奶粉 ,实际上就更好地满足了用户的需求。
从平台的角度讲,一方面能让用户得到更好的体验,另一方面也能让平台促成更好的交易。这是双赢的结果。最后带来的,就像你刚才说的,由于平台更好地满足了用户的需求,那么用户对平台的满意度会增加,留存也会增加。相应地,用户的DAU也会增加,这是一个大的逻辑。
东白:你最后为什么决定加入每日优鲜呢?有没有什么决策逻辑?
华良:相对来说,我跳槽还算比较多的。之所以跳这么多次,就像刚才跟你说的,我其实是有一个战略目标,就是成立一家公司。我希望经历不同公司的技术文化,锻炼我对创立一个公司的认知的能力和水平。我在选择公司上有一个选择公司模型,主要是四要素。
第一,我会看这个行业大不大。我们在选择一家公司的时候,一定要选择一个大的行业,这是非常重要的。如果这个行业很小,那它不管怎么做,规模还是大不起来。比如即便占有了市场份额的80%,那这个公司的规模可能还是很小,也就是几亿美金或者十几亿美金。所以我要选择一个超级大的行业,有几万亿甚至十几万亿这样一个规模,这是第一个要素。
第二,选择这个行业里的头部公司。有些人会期待说,是不是去小公司,通过自己的努力,迅速成长为一个行业专家的可能性会更大。我觉得可能性是有的,但这是一个概率事件。从本质上来说,它的概率相对会比较低。所以一开始就选择行业的头部,实际上概率才是更大的。
第三,看管理层的野心。一个公司本质上最重要的就是战略决策,那么战略决策谁来做?肯定是管理层来做。所以管理层是不是足够优秀,是不是足够有野心,这是非常重要的。当管理层的认知和野心都很大的时候,他的公司不会太差。
第四,技术在公司的重要性。我们作为专业的技术人员,作为资深的架构师,肯定希望技术能在公司发挥比较大的作用。
所以基于这四个要素,我选择了百度、阿里、美团这些公司。包括每日优鲜我也是这么选的。我加入的时候是2019年,整个生鲜其实是一个非常大的赛道。虽然大家平常的感知不是很明显,但本质上生鲜的赛道超级大,几万亿搭配十几万亿的市场规模(不同的口径说法不一样)。
而且在这个赛道上,也没有哪几家公司已经形成垄断性的地位了,比如一两家头部公司就把市场占领了。
第二就是我刚才说公司在整个行业的位置。每日优鲜在生鲜赛道基本处于头部的位置,所以发展的空间相对来说还是比较大的。
然后第三个是管理层。每日优鲜的管理层整体上是非常有野心的,他不是希望做个几亿美金的公司就行。他希望做一个上百亿甚至更大规模的公司,所以这也符合我的条件。
第四个是技术。我们希望通过技术来重构整个生鲜的赛道,把它变成一个生鲜的产业互联网,所以这也非常契合我的选择。
东白:我其实跟你特别像。我当时离开阿里进车好多的时候,很多人都说怎么回事,你怎么发疯了,这在阿里不是过得挺好的嘛!
我当时看了国内外好多机会。我的第一个决策原则是看大洲的运势。因为在我的候选项里,有两家新加坡的公司,有一家欧洲的独角兽公司,还有一家比较老一点儿的美国公司,最后就是国内几家公司。
如果赌每个大洲的运势的话,我觉得欧洲是个老龄化挺严重的地方,欧洲这些年的发展一直都敌不过美国和中国嘛,这个还是比较容易决定的。
但是东南亚会怎么样呢?我当时还是有一个问号。不过我决定选择的时候,正好疫情来了。我想这疫情至少得持续三年吧,最后就决定在中国的几家公司里面做选择。
然后我接下来的玩法跟你是很像的,我总结成三句话。
第一句话是“赛道足够大”。赛道必须得大,要不然将来你的池塘太小,是长不成大鱼的。
第二句话是“公司不会挂”。因为我一般看的都是比较Senior的位置,既然位置比Senior,那公司肯定不能挂才行。
第三句话叫“增值最大化”。就是在所有的公司中,我能带来的增值是最大的。我知道自己有啥价值,也知道这家公司是什么状态,所以我希望能给公司带来的增值是最大化的。我就赌这家公司,这是个赌命玩法。
华良:可以,你这个总结得非常到位,而且总结得非常顺口溜(笑)。
东白:我们俩在看职业的时候,其实都是有模型的。我可能是因为之前也做算法的工作,所以在选择的时候会算数。我会建一些参数,给每家公司算一算。我不知道你算不算,反正我自己会算一下(笑)。
华良:看来我们差不多,挺有意思的。
东白:你能讲讲你进了每日优鲜之后,都做了什么事情吗?
华良:可以。我刚才说的每日优鲜的业务是什么呢,它本质上是一个产业互联网。所以我其实是从消费互联网跨到产业互联网来做事情的,这是一个很大的变化。
具体会做什么事情呢?主要是我们需要拿技术手段去重构整个产业。我们之前总结了三句话,比较形象。
第一句是“产业标准化”,我们要把这个产业标准化。
第二句是“把标准数字化”。标准化之后,我们要通过技术手段把它转化成数据。
然后第三句是“数字智能化”,有了这些数据之后,我们再把它智能化,通过算法的方式去决策。这就是我们在每日优鲜主要干的事情的一个抽象总结。
再具体来讲,就跟这个产业有深度的关系了。什么意思呢?我们干的叫生鲜的零售,实际上就是从农民或者农场那里采购生鲜产品,最后卖给用户。这个事情说起来很简单,但是当你深入去做这个产业的时候,还是非常复杂的。
我再给一个数字,可能理解起来会更容易。我们把整个链条上的动作都进行了拆分,最后拆了300个环节。针对这300个环节,我们会再通过业务的规范动作把它们标准化。最后,我们会把这300个环节的数据采集下来,把它们智能化。
举一个更好理解的例子。比如我们采购、补货,这到底是啥意思呢?
假设我们有1000个前置仓,每个仓有3000个商品。实际上我们每天都需要决定我这个仓需要补多少商品进来,保证第二天卖给用户的时候不会缺货。
本质上我们每天需要做1000×3000,也就是300万商品这么一个量。原来基本上线下的产业都是靠人工做,大家拍个脑袋,觉得我今天能卖5个西瓜,明天能卖10个西瓜,主要是凭手感。
但实际上呢,手感很多时候是不太准确的。我们希望让整个运营的效率更高,更加精准化。所以我们希望通过算法的方式来做,建立一套算法的模型,来预测明天这个店能卖出多少西瓜,然后再决定我今天要补多少到店里。
你补多了就会有损耗,卖不出去就是损耗嘛。但你补少了就会售罄,所以就需要建立一个精准的算法来做这个事情。
刚才说了这么多,总结起来,我们其实就干了一些深入到产业里的事情。我们把产业里的300个动作进行标准化、数字化和智能化,然后让整个产业的运转效率更高。
通过这几年的建设,在这个事情上,相对来说我们做得还是比较专业的,真的还算比较专业。
而且我们从一线公司,像阿里、美团、百度这些公司,挖了大量资深的架构师和技术专家进来,然后一起深入地研发这套系统。整体上做了三四年的时间,把这个系统打造出来了,把我刚才说的那三个目标也实现了。
在我们整个招股书上,技术在公司的价值和创新里有着非常显著的体现。其中有几页PPT就是专门讲技术的创新,还有刚才提到的采购供需。
我们的决策,95%以上都能通过自动的系统化、算法化来完成。我们的配送、营销,大部分工作也都能通过系统化、算法化来完成,所以技术创新是我们这个公司的一个核心竞争力。
东白:我再问你一个更宏观的问题。标准化、数字化、智能化,我觉得这个大路数定得非常好。那做起来的时候,你觉得哪一块最难呢?
华良:我把这个定义为产业互联网,等于运营加上消费互联网,其中运营是个非常重要的因素。你刚才说什么事情很难,在我看来,运营跟消费互联网技术的结合是非常难的。因为它结合涉及线上和线下,涉及各个环节之间的耦合。
还是供需的例子。我要预测第二天西瓜能卖多少,那只是其中一个因素,实际上我还要考虑更多的因素。
比如我们需要考虑西瓜能够采进来多少。虽然第二天能卖5个,但如果采进来不够的话,我就需要去平衡一下该怎么分配,让每个仓都有东西可以卖。
这是跟物理世界相结合的。不是理论上说西瓜明天能卖5个,我就能补5个进来,它跟实际的采购有关系。物理世界说要采购100个西瓜,但实际上有可能只能采进来80个,这是一个问题。
第二个问题,我们采进来80个之后,还会有很严格的品控和质检。有可能质检发现其中一些西瓜有问题,最后就只剩下40个了。这也是需要考虑的因素。
然后第三个问题,比如说在仓内作业的时候,可能仓里面补进去了5个西瓜。但是作业的时候不小心“啪”摔了一个,这就只剩下4个了。
所以你刚才问最难的点,一看就知道你也是做产业互联网的,就明白这个逻辑。它其实是物理世界跟虚拟世界,或者说数字世界,互相耦合在一起的。它们是会互相影响的,所以这个是最难的。
还有一个比较难的,就是很多“人”的因素也会影响结果。
我刚才说300个动作,这300个动作是互相串在一起的。理想情况下,转起来都很好。但是突然某一个环节在物理世界执行的时候出了问题,就会影响整个链条的结果。这都是我们需要去考虑的,也比较复杂。
东白:我为什么问你刚才那个问题呢,其实大家的套路都很像,标准化、数字化、智能化。
智能化是变现路径,到了智能化其实就有戏了。但是我这边看到的难,是难在标准化,这是一个巨大的探索成本。你讲你们有300个动作,这其实是一个非常大的数字。假设这300个里面任取两项是冗余的,C300取2,也就是300乘以299再除2,在这样量级之下的探索,其实是一个浪费的探索。这在产业互联网里,搜索空间巨大,而搜索成本,尤其是只有一两家头部公司在负担这个成本,也是非常高的。
我一直觉得产业互联网可能需要孵化期。因为它相对于电商公司来说,探索空间太大了,这么大的探索空间由几家公司来分摊,这个成本也太高。
所以我判断可能像产业互联网这种领域,应该是有一个矩阵型的公司来探索。至少从一个风投角度来讲,最后能走出来的公司才能有一两家。在我看来这是个比较大的难度。
生鲜这边还好一点,像做瓜子二手车,其实我们每一步其实都是未知的。二手车行业几乎没有大的企业,瓜子和优信可能是你听说过的大一点的企业。其他有些信息流的企业,跟这个不是一码事。
专门做这个的就这么两家,然后再往下就几乎没有任何研发力量了。基本上就是些传统公司,可能有一点点App的能力、小程序的能力,研发团队可能就是几十人的量级。
所以整个探索交给一两家头部公司来做,成本是非常大的。所以你很难借鉴别人的什么招数,也没法直接交流或者学习。
生鲜当然已经进化好几轮了。我觉得这是挺有意思的一个话题。在这一轮的进化中,你怎么看前置仓这个模式?前不久盒马的CEO老菜说前置仓玩不转。你是怎么看这个评论的?
华良:我觉得是这样的,不同的人对事情有不同的认知,这是很正常的。特别是前置仓这个事情,它是这个产业中相对来说比较创新的一个模式。在它真正成功之前,有很多人想要挑战它,这是非常正常的。
举几个历史上的例子吧。京东当年做物流的时候,马云也说这个模式跑不通,但是今天看起来京东这个模式还是比较成功的。所以我们的判断是说前置仓这个模型是未来重要的模式之一,但并不是说它就是唯一的模式。
未来大家对生鲜需求的满足会有几种模式或者说业态。比如有前置仓,有这种标超的,有电商的,有数据团购的,有直播的,有菜场的,都有可能。未来这个行业,会是一个多样性的业态并存。
第二个是不同级别城市的业态的重要程度,可能会不一样。比如在一二线城市,可能前置仓会是一个很主要的业态。那么到三四线城市,可能标超会是一个主要的业态。到了四五线、五六线城市,菜场可能是一个很主要的业态。这是我们对未来的一个判断。
当然不同的人有不同理解,这是很正常的。整个业务也会持续地去发展,最后证明我们的判断。
东白:你有看到过一个数字,那种给你信心的数字吗?
一般来说生鲜这种业态终究会有一两个数字对企业命运是有决定性作用的。不论是店仓模式、纯店模式,还是前置仓模式,在我们看来,它们的成本差异都非常大。比如说二环内你是建不起店的,坪效不可能支持这种模式。
你有没有看到过一组数字,给了你一个挺明显的答案?
华良:我个人对这个事的理解是,不同的业态,它的成本结构是不一样的。然后不同的成本结构,可以在不同的环境下生存。就像你刚才说的,二环以内的房租非常高,那我根本就没有一个好的门店,这个时候前置仓可能是一个非常好的形式。
但是在一些相对比较便宜的地段,有比较好的门店或者资源,那我做店仓一体可能就是一个很好的形式。
我们另外一个判断的角度是技术。数字化对生鲜产业是一个非常重要的催化剂,会促进整个产业的创新。比如直播、社区团购、私域商城,都会是未来非常重要的形态。这些都可以满足用户生鲜消费的需求,这是我们大的判断。
东白:我刚才问你那个问题,我以为可能会有一个确定的答案在里面。为什么这么说呢?盒马当时做店的时候,用的是店仓这样的模式。它有一个大的想法,就是拉新成本会降低。因为盒马要求用户必须用App支付,如果是新用户,那必然有一次拉新。未来用户就变成在App上面下单了。
如果像你们做前置仓,没有店面的话,那么获取新用户的成本相对来说就要更高一点。你比较过这两种模式的获客成本吗?
华良:我的理解是,明显前置仓是有获客优势的。我刚才说不同的成本结构会有不同的业务的特点。比如盒马这种是有门店的,如果不考虑门店成本的话,那么它在线下的获客成本肯定是低的。但如果你把门店的成本摊进去,那这个获客成本肯定就是高的。不同的成本结构,它会有不同的业务运营的特点。
编辑小提示:两位老师的对谈未完待续,我们下节课继续!
文章来源:极客时间《郭东白的架构课》
相关文章:
跳槽时的决策逻辑是什么?
你好,我是辰洋,《郭东白的架构课》的项目负责人。 我们正文的第二个模块已经更新过半。之前已经预告过,东白老师会时不时邀请一些不同行业的技术领导者来交流与对话,为你提供更多的视角、更宽阔的视野和更多元的思考维度。 正值…...

vs2022下配置zxing cpp环境
生成zxing 下载zxing,zxing-cpp-master https://github.com/zxing-cpp/zxing-cpp Cmake生成项目,点Generate,把OpenCV_DIR修改了,NameValue没有报红就点Generate。然后点Open Project打开项目。 打开项目后,右击解决…...

【linux】linux入门级别指令
一些基础指令 前言用户登录新建用户 ls指令pwd命令cd 指令which指令alias指令touch指令mkdir指令rmdir指令 && rm 指令rmdirrm man指令cp指令mv指令catmoreless指令head 指令tail指令输出重定向时间相关的指令cal指令find指令grep指令zip/unzip指令tar指令bc指令uname指…...

Android 开发之核心技术点——性能优化篇(带面试题)~
性能优化对于Android开发的重要性非常大。随着Android设备的不断升级,用户对应用的要求也越来越高,包括应用的运行速度、响应速度、流畅度等方面。如果应用的性能不能满足用户的需求,很可能会导致用户流失、差评以及应用被卸载等情况。 另外…...

typescript全局安装卸载以及npm相关问题
全局安装 npm install -g typescript 全局安装之后,如果想要卸载要使用 npm uninstall -g typescript 全局安装之后可以在终端使用 tsc xxx 编译ts文件 本地安装,也就是在项目目录下安装 npm install typescript 本地卸载 npm uninstall type…...

一条SQL如何被MySQL架构中的各个组件操作执行的?
文章目录 1. 单表查询SQL在MySQL架构中的各个组件的执行过程2. SELECT的各个关键字在哪里执行?3. 表关联查询SQL在MySQL架构中的各个组件的执行过程4. LEFT JOIN将过滤条件放在子查询中再关联和放在WHERE子句上有什么区别?5. 聚集索引和全表扫描有什么区…...
Go语言面试题--进阶语法(30)
文章目录 1.下面的代码能否正确输出?2.下面代码输出什么?3.下面的代码有什么问题?4.下面代码有什么不规范的地方吗? 1.下面的代码能否正确输出? func main() {var fn1 func() {}var fn2 func() {}if fn1 ! fn2 {pri…...

JavaScript概述四(DOM文档对象模型)
1.DOM(Document Object Model) 会把网页里面的元素当成对象去操作,包含对象的属性,属性值,方便我们去 操作网页。 整个页面最终会形成一个对象 :document ,页面里面的所有的元素(如 标签 ) 最终都会转换成 js 里面的对象。 1.1 获取页面的元素(通过选择器࿰…...
【玩转client-go】如何获取 Kubernetes API 客户端的 *rest.Config 对象
目录 1. 使用 kubeconfig 文件 2. 使用 Kubernetes 集群内的 Service Account 3. 直接指定 API Server 的地址和认证信息 4. 使用 genericclioptions.NewConfigFlags() 总结 在使用 Kubernetes API 客户端——client-go 的过程中,我们通常需要获取 *rest.Config 配…...

保护模式段描述符
目前为止,内存还是分段模式,所以想要保护内存,就需要保存段。由于CPU的扩展导致了32位的段基地址和段内偏移,所以16位的段寄存器就无法放下这些信息。现在就需要把这些信息放到内存中,这些信息被封装成特定的段描述符。…...

两个数组的交集
给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 思路: 由于这道题目,输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的, 同时可…...

原创文章生成器在线版-ai写作生成器
随着人工智能技术的迅猛发展,越来越多的人开始意识到,利用AI可以实现许多以前不可能想象的事情。其中,一种最能体现人工智能技术优势的应用就是“ai原创文章生成器”。它可以为营销从业者提供一种全新的营销推广方式。 那么,什么是…...
打造高性能CSS的九个技巧我是这么做的
在Web开发中,CSS是不可或缺的一部分。但是,如果CSS代码不够优化,会导致页面加载速度变慢,用户体验下降。以下是九个技巧,用于打造高性能的CSS代码。 避免使用通配符选择器:通配符选择器会匹配页面中的所有…...
python tqdm教程
文章目录 1. 搭配迭代器使用2. 设置动态数据打印3. 中途打印不干扰进度条4. 在jupyter中打印不干扰进度条5. 使用gui显示进度条6. 双循环嵌套进度条7. enumerate和tqdm搭配使用参考文献tqdm是python中打印进度条的一个简易工具包,可以方便查看循环的进度。具体见tqdm文档 1. …...

深度学习 - 41.Word2vec、EGES 负采样实现 By Keras
目录 一.引言 二.实现思路 1.样本构建 2.Word2vec 架构 3.EGES 架构 4.基于 NEG 的 Word2vec 架构 三.Keras 实现 Word2vec 1.样本构建 2.模型构建 3.向量获取 四.keras 实现 EGES 1.样本构建 2.模型构建 3.Dot Layer 详解 3.1 init 方法 3.2 call 方法 3.3 完…...
研发管理风险控制
软件研发过程中需要做好风险控制,保证项目按计划发布,下面说明一下个人对软件风险控制的看法 一、规划、技术选型、架构方面提前规避风险 1.选择最熟悉、使用最多的技术 “一个新项目里最好不要使用超过30%的新技术”,我觉得这句话是有一定…...

母婴品牌内容输出怎么做?“四板斧”送你
新媒体时代,信息大爆炸,人们的注意力有限,有噱头和亮点的内容才能博得注意,成为用户关注的焦点。 母婴行业重视品牌效益和产品的质量,毕竟类似“三聚氰胺”的惨剧谁也不希望再发生。母婴产品的质量依赖技术和生产线支…...
【视频】视频存储技术
1、NVR NVR是(网络硬盘录像机)的缩写。NVR最主要的功能是通过网络接收IPC(网络摄像机)设备传输的数字视频码流, 并进行存储、管理,从而实现网络化带来的分布式架构优势。简单来说,通过NVR,可以同时观看、浏览、回放、管理、存储多个网络摄像机。NVR是x86架构储存+监控软…...
【C/C++】MySQL 为什么选择 B+ 树作为底层数据结构
为什么MySQL底层数据结构选择B树?(而不是B树等其他数据结构) B树非叶子节点,不存放数据记录,仅存放指针与关键字,所以一个B树非叶子节点可以存放更多子节点信息,有利于降低树高度,从…...

17、嵌入式Servlet容器
文章目录 1、切换嵌入式Servlet容器1.1、默认支持的webServer1.2、切换服务器 2、原理2.1、ServletWebServerApplicationContext2.2、作用2.3、ServletWebServerFactoryAutoConfiguration2.4、作用2.5、ServletWebServerFactoryConfiguration 配置类2.6、web服务器工厂作用 3、…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
Netty自定义协议解析
目录 自定义协议设计 实现消息解码器 实现消息编码器 自定义消息对象 配置ChannelPipeline Netty提供了强大的编解码器抽象基类,这些基类能够帮助开发者快速实现自定义协议的解析。 自定义协议设计 在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的…...

World-writable config file /etc/mysql/mysql.conf.d/my.cnf is ignored
https://stackoverflow.com/questions/53741107/mysql-in-docker-on-ubuntu-warning-world-writable-config-file-is-ignored 修改权限 -> 重启mysql # 检查字符集配置 SHOW VARIABLES WHERE Variable_name IN (character_set_server, character_set_database ); --------…...

FMC STM32H7 SDRAM
如何无痛使用片外SDRAM? stm32 已经成功初始化了 STM32H7 上的外部 SDRAM(32MB) 如何在开发中无痛使用SDRAM 使它像普通 RAM 一样“自然地”使用? [todo] 重要 MMT(Memory Management Tool) of STM32CubeMx The Memory Management Tool (MMT) disp…...