大模型时代来临:程序员如何自处,产品经理如何迎接新挑战

news2024/11/15 7:08:05

一名失业中的程序员,因为一次大胆的求职之举登上了微博热搜。

向瑶函花费999元,在广州地铁珠江新城站购买了一个广告位5天的使用权,用来投放自己的简历二维码,扫码就可以了解这名程序员“飘零的前半生”。

向瑶函是在2023年5月“主动失业”的。去年3月15日凌晨GPT-4发布,兴奋之余,他和很多其他程序员隐隐感到不安——面对生成式AI技术的爆发,是当一名旁观者,还是主动拥抱新变化?

此时的向瑶函还在广州一家粮食企业当数据经理,热衷于AI比赛的他总是自诩为“AI狂热分子”,业余在广州的互联网行业咨询圈子也干得有声有色。

2023年5月,举办了4场小范围AI讲座后,向瑶函明显感到大模型的热度已经不能简单地用“陡然上升”来形容。

来参加讲座或来咨询的广州老板们陷入了AI焦虑,不论是哪行哪业,企业多大多小,都琢磨起了建大模型的主意。

但向瑶函当时的东家——一家把泰国的大米卖到中国的上市公司,似乎对做AI并不感兴趣。“AI是大方向”“我要做AI”“指不定成为中国AI界一颗冉冉升起的新星”……抱着这样的想法,雄心勃勃的他计划转型去当一名算法工程师。

消失的产品经理

事情没有向瑶函想得顺利,“门槛确实太高了,很多招聘要求是能开发底层大模型”。

向瑶函自认在写代码这件事上是有天赋的,在AI比赛上靠写中小模型也获过不少奖项,但对大模型经验寥寥。

更糟糕的是,毕业于湘潭大学企业营销专业的他,曾经靠自学Python闯入技术圈,但“英雄不问出处”的法则在大模型行业失灵了,“学历上就卡死了”。

市场达成了自己的共识,这个共识就是追求确定性,以实现不确定性。

要在大模型行业有一席之地,人才密集和资金密集与否,是唯二决定生死的核心要素。

大家多少清楚如今大环境下投资人的谨慎,至于人才,情况要令人困惑得多——从大厂高管、创业公司老板,再到投资人、猎头,没人了解方向,都在从零摸索起。

作为大模型初创公司共生团队负责人,张林最近做了一个决定,暂时搁置招聘产品经理的工作。

创办共生团队几个月后,市场给忙于吸纳人才的张林上了最新一课——**大模型公司很难在互联网体系内找到可以经验复用的产品经理。**放弃招聘后,他和几位AI工程师出身的创始团队成员,兼起了公司产品经理的职责。

“我们筛选过很多产品经理的简历,做UI的、产品的等等,但他们的共同问题是,不了解大模型项目的底层机制,导致没有办法很快迁移经验。”张林说道,“如果理解程度是‘画一个界面’,那最后基本一塌糊涂。”

国产大模型已经卷了一年半,但张林至今没有看到“比较高质量”的产品经理出现。他产生了巨大的紧迫感。

他说,创办公司几个月的时间里,团队更加坚定了这样的认知:“我们尝试从原子化角度来看,如果一个新技术让单个个体角色发生根本性变化,那么由这样一个个体所组成的单位和系统,自然也逃不过变化。”

大模型猎头Louis则感觉**“所有人都在追逐同一拨人”**,就是清华帮那十几个,“如果追求对底层大模型的认知,国内只有他们。”

“无论创业公司还是大厂都在问我同样的事情:唐杰老师(智谱AI首席科学家、清华大学计算机系教授)的减一(直属下级)能不能挖来?岂凡超(深言科技创始人、清华大学人工智能研究院教授孙茂松的学生)的减一能不能挖来?”

短时间内,清华帮十余人成了国内大模型人才市场唯一的确定性,要招他们之外的人,大家几乎连招聘要求怎么写都没有头绪。

资深猎头肖恩曾接过几个互联网大厂的大模型招聘需求,只不过对接的过程令他有些哑然失笑。

“某头部大厂根本不知道想要什么,还异想天开想从OpenAI、Meta什么的挖人。”“有些大厂大模型团队办公室都开到国外了,但是也没做出什么水花,也不知道未来要干什么。”

投资人也在雾里看花。曾经有投资人问张林,是不是国内(大模型公司)已经泛滥了,这让张林感到无奈。“根本不可能,真正能做底层大模型的始终只有那一拨人,无非是几个团队间绕来绕去,这个技术很难短期内扩散。”

眼下,优秀的AI工程师就像上世纪九十年代的程序员,匮乏且抢手。技术招聘平台CoderPad近期发布的报告显示,“AI专家”成为最难填补的职位第二名,而即使在十年前的上一轮AI革命,AI专家的招聘难度都未曾进过前三。

去年Louis为一家大模型团队招聘一系列技术岗位,包括数据清洗和SFT(有监督微调)等。和所有人一样,她最开始的路线是专找圈内“掐尖儿”的技术人员,但很快这些候选人被验证“又贵又不好用”。

很大一个原因在于,大模型时代,技术岗位边界在变得模糊。

张林的技术团队不到10个人,除去一两位专做底层大模型的工程师,其他人绝大部分精力用来做系统设计和产品设计,写代码的比重越来越小。“落地时,谁写的代码谁就自己做项目经理。”

HiDream.ai的研发人员同样覆盖全流程,公司创始人兼 CEO梅涛博士:“工程师做完模型自己封装,才跟得上迭代的速度。”

走访了解到,行业普遍的预测是,未来程序员和产品经理两个岗位将合体。

要找到符合这样要求的复合型人才是件难事。一方面,如张林的经历,现阶段市场里没有现成的人选,另一方面,需要跟时间赛跑的大模型公司们,也不被允许等待市场培养出成熟人才后再收割,大模型迭代,晚一天都是万亿参数训练的落后。

经过一年摸索后,Louis感觉国产大模型人才需求进入阶段性稳定期,呈现出一种“哑铃状”格局,要么追求头部技术大咖,要么招应届或在读的学生。

“有些公司的心态是,大模型极大地降低了编程门槛,那对于一些非核心技术岗,利用开源大模型也可以迅速学会,应届生又便宜、技术又新,Why not?”Louis说道。

张林在碰壁后也发现,通过招聘的方式,已经很难找到技术和产品的多面手,他选择另辟蹊径,从源头培养。

他说,共生团队已经开始广泛跟高校合作,“我自己在带硕士和博士的科研项目,在这个过程中发掘足够强的候选人,将来自然而然进入公司工作。”

张林的做法并不少见,学术和工程边界加速弥合,是大模型公司带来的新变化。以Midjourney为例,11人团队中,9人是研发人员,没有产品经理,且9位研发人员中,有4位都是尚未毕业的本科生。

而“工业界与学术界融合”最为成熟的标杆,自然是OpenAI。

过往,新的技术突破总是最先诞生在学术界,但ChatGPT成为一个节点——一个独立于大公司之外的研究型组织,引入一批“年轻甚至在读的顶尖学者”,将科学和产品、商业结合,才最终诞生了ChatGPT这样伟大的系统。

“过去把研究型组织安插在大公司,这样的AI Lab模式已经成为历史了。”月之暗面创始人杨植麟日前在接受腾讯新闻采访时表示,AGI的生产方式跟互联网不一样,科研或教育系统会转变职能,变成培养人才为主。

这一轮技术革命中,经验的重要性被不断降级,取而代之的是“拥有足够新的知识”,越来越多科技领域学者,在学术生涯早期便介入工业界。

在此背景下,大模型老板们自然也是下手多早都不为过。“本科生我们都不放过”,据张林观察,在大模型时代,本科生甚至比博士生更容易出东西,“没有(旧技术的)负担很重要”。

并非取代那么简单

大模型或许是属于技术追求者的最好的时代,它更单纯、更聚焦、更长期主义。产品是否受欢迎,比拼的几乎只有技术。

这也造成了一种技术焦虑——新一轮技术冲击下,跟不上就会被抛弃吗?

地铁站求职广告发布后,有50多家企业找到向瑶函,这本该令人高兴,但30多次面试下来,靠谱的工作还是偏数据分析。他不得不告诉自己,自己的“大模型梦”可能很难实现了。

“感觉大模型出来后,之前学了三年python都白费了。”

在他身边,案例也逐渐变得两极化,有人因为在高精尖行业做大模型如鱼得水,也有以“AI可以取代你”为名而被迫离职的案例。

向瑶函眼下的职业困境,或许和大模型编程能力的完善有关,这听上去简直是个悖论。

编程是从计算机诞生起就存在的概念,是构建互联网最基础和底层的工作。与此同时,编程语言一直在进化,从最初的二进制,到后来的机器代码、汇编语言,再到高级语言,诸如C语言、JAVA、Python等当下流行的编程语言都已有三四十年的历史。

2021年时,OpenAI就开发出了Codex系统,Codex可根据程序员的自然语言输入进行简单的代码编写支持,被看作是AI编程的开端,这之后便开始有声音讨论“大模型取代程序员的可能性”。

直到最近,类似产品开始井喷,一批“码农大模型“密集诞生。比如初创公司Cognition发布的首个AI软件工程师Devin、蚂蚁集团CodeFuse平台推出的“图生代码”技术、微软根据OpenAI的Codex模型开发的代码建议工具GitHub Copilot……

今年年初,技术招聘平台CoderPad的一份调查显示,超过80%的开发者正在工作中使用ChatGPT或Copilot。CSDN的一份调查则显示,35%的开发者每天使用代码生成工具,其中36%的人认为开发效率得到极大提升。

相比于过去一段日子大模型学会画画、做视频和作曲,“学会编程”这件事之所以更具有颠覆意味,在于互联网的生产方式围绕编程展开。编程之外,还有需求分析、测试运维、数据洞察等成体系的开发流程,改变了基础编程,就改变了互联网的生产方式。

用英伟达CEO黄仁勋的话说,“现在世界上每个人都是程序员”——过去需要编程语言完成的工作,如今使用自然语言就可以完成。

“从早期的COBOL语言到现在的Java、Rust、JavaScript,编程语言之父们发明了数百种编程语言,只为让开发更容易。”CSDN创始人兼董事长蒋涛说,如今大模型允许自然语言生成代码后,“我们预计在未来3年至5年,全球开发者会从现在的1亿增长至10亿规模。”

当个体开发者增长到一定规模后,蒋涛预测会出现一批超级程序员个体,会像视频的up主一样,提供类似freelancer的软件开发服务。

当然,硬币永远有另一面。

“把编程能力看作是一个金字塔形状的话,大模型吃掉的是最下面一两层、门槛最低的写代码能力,比如代码辅助和生成,市场对开发者的需求会向上层能力转移。”蒋涛说道,“这一调整过程中,一定会经历一个阶段,是程序员失业期。”

Motherboard和Blind此前展开了一项有9388名工程师参与的调查,数据显示有66%的人认为找工作变得更加困难了,而从岗位供给来看,Motherboard表示人工智能将导致程序员招聘人数减少。

作为前沿试验场,硅谷大模型公司的人才结构说明了一切。Midjourney只有11名全职员工,Magnific AI只有2名全职员工,Sora只有13人。

36氪受访者中,共生团队同样只有十余人,HiDream.ai则只有不到30人。

与此对应的变化是,虽然大模型公司的全职开发团队在精简甚至缩编,但“零工”体量在变大。

CoderPad数据显示,去年近六成招聘方为了满足技术需求,会招聘临时工或实习生技术岗。Midjourney同样是个典型的例子,在11人全职团队外,其外包人员达60余人。

拉长时间看,这样的变化和“取代”发生在一次又一次的技术迭代之中。

25年前,蒋涛创办CSDN的上世纪90年代,他们这群“国内第一批互联网程序员”还曾需要自己“画窗口”。

蒋涛告诉36氪:“程序员的工作,几乎每天都在经历自动化。过去几次自动化,是给程序员提供了‘框架’,如何使用框架,还需要程序员的能力,但如今这一能力被大模型掌握了。”

90后软件工程师苏奇试用了几次大模型后,并未引发他过多的职业焦虑。“可以取代一部分重复工作来提升效率,比如idl和一些POJO代码,但本身壁垒不深的技术岗,比如测试、SRE、前端,可能会最早受到冲击。”

他的焦虑不来自于取代本身,而是来自于如何确定自己是否会被取代。

“假设大模型取代了简单工种,原来的程序员只保留了头部的30%到50%,但我如何判断自己是否是前30%?”苏奇说,“比如一个应届生刚工作,没有经验,基本无法判断自己的身位。”

开发者更好的时代?

技术开发所需要的核心人员越来越少,过去互联网时代堆人头的开发方式,在大模型时代不再奏效。

大模型是互联网之外的一个新底座,互联网旧系统很可能已经不再适用,大模型之上的生产方式与组织方式要被重构。

比如“螺丝钉”,这一诞生在互联网时代的名词,张林觉得会在技术行业消失。

“即使未来共生团队扩张,业务增加,我们技术团队的人数也不会暴增。不管哪个做大模型的公司或机构,如果哪天突然人数暴增,我觉得都是不正常的。”

蒋涛抱有类似的看法。虽然互联网三十年,庞大的软件程序是靠每一位程序员的每一行代码建立,但从另一个角度看,“‘程序员’同样是过去软件开发最大的阻碍”。

“一个没有编程知识的人,即使有想法,也无法落地成应用。所以即使几十年过去,程序员数量仍然远远小于需求量。”蒋涛说道,“而对于公司而言,如果想开发任何软件,算一下调用和雇佣程序员的ROI,大部分应用可能就被放弃了。”

杨植麟此前在腾讯新闻采访中被问及,如果Sam Altman是在微软内部领导微软旗下的人工智能团队,会和OpenAI有什么不同。他直言,要在旧文化里产生新组织,难度很大。

苏奇曾先后在中美的三家互联网大厂做软件工程师,在应聘过程中,他发现国内各个阶段的互联网公司招聘,都很喜欢要“速赢人才”。

“一家公司要做A业务,就要把竞对大厂做A业务很多年的人直接挖过来,能带点PPT和代码就更好了。这导致什么?**整个行业的技术框架高度同质化。**比如搜推都是百度的架子,订单、支付、对账都是阿里的。”

“速赢人才”能最大程度促进扩张,这自然对追求规模效应的互联网公司至关重要。当然,算法好坏也很关键,但仍然比不上在当地铺了多少地推、发了多少补贴、办了多少拉新活动重要。

不管是“速赢人才”还是“螺丝钉”,互联网公司的生产逻辑,是尽可能细得切割个人能力,然后将个体固定在某一环节进行生产。但36氪的多个受访者看来,大模型将不再奉行这一逻辑。

梅涛的体会是,哪怕是跟上一代AI四小龙时期比,大模型为代表的AI技术也更为技术导向。“以前一个人脸识别单子下来,十几个供应商都在那里投标,这里面看的不是模型,而是公司的综合解决方案能力。”

他举例,小区闸门的人脸识别、工厂的人脸识别和关口的人脸识别本质都不一样,性能差别很大,无法基于同一个模型底座,最终就变成传统企业的服务现象——需要大量的BD和交付,有N个项目就需要招N倍的人。

“今天的AI,它在任何时候都不是一个商业模式,也不是一个行业,它是一个自己能闭环的技术。”梅涛说。

张林同样遇到过类似的问题。经常有投资人一见面就问他“你们是做哪个行业的”,但这是属于互联网时代的“问法”,“什么是行业”在大模型公司要重新定义。

他一遍遍解释,“和上一代技术不一样,今天很难定义什么叫行业。比如不管是服装设计还是建筑设计,对于大模型来说,它们二者是一样的,因为计算方式一样。大模型有很强的牵引性。”

张林最近跟朋友聊起《人月神话》——这本书被视作软件开发行业的圣经,经历了一段时间大模型创业后,他对这本书的理解更深了。

书中写道,当软件组织体量很大,开发的难度并不是线性增长的关系,而是指数级增长,最后导致重要的开发问题变得异常复杂,像一个“焦油坑”,让所有开发人员深陷其中。

“为什么会这样?很重要的一个原因是,过去的软件开发绝大部分是体力劳动,就是敲代码,当公司越来越大,代码和人员越来越多时,一个组织中需要有1/4甚至更多的人去做管理,这个系统才能运转起来。”张林说道。

《人月神话》更具体地描述了这种困境:比如一个项目需要4个开发,可能需要配2个测试,1个项目管理,2个产品经理等,最终下来,团队中的研发比例只剩不到30%。这本书最终推论,一窝蜂的作业方式无助于软件生产,且会制造麻烦,产生出更差的软件。

在这样臃肿的“旧文化”里,技术创新的空间便愈发逼仄。

苏奇对《人月神话》序章那句“success without applause,diligence without reward.”深有同感,“代码写得好不好、有没有实际价值、是否产生新效益,全凭开发人员主动的自我要求。”

但现实是大部分开发人员都是被动支持系统的“螺丝钉”。苏奇回忆供职的上一家大厂,时常发生的情况是,开发方案A改B晋升了一波人,走之后,方案B改A又晋升了一波人。

“有时为了争取资源,技术人员不得不做点简单问题复杂化但能汇报的东西。”苏奇说,“很多人自己做的产品自己都不用。”

《人月神话》已经是22年前出版的作品,如今软件工程发展了几十年,我们拥有了更快的硬件、更完善的框架、更方便的语言,然而这本书中描述的几十年前的问题,至今都没有被解决,依旧困扰着每一个程序员——

他们依旧无法评估工作量,难以进行合理的进度安排;他们很少能自己控制工作环境和工作目标,而是他人来提供目标和资源;项目落后时,只能被动延长工作时间或者增加人力……

所以软件工程几十年来没有进步吗?原因的源头自然不是技术,而正是几十年未变的生产链条。

GPT4.0 发布一年了,求职者向瑶函仍旧百分百对AI保持热忱,“人”才是他不相信的环节。

那个因为AI被裁员的朋友,没过几个月就发现是新人填补了他的空缺而不是大模型。“AI没有取代这个岗位”,向瑶函甚至怀疑,这仅仅是一个冠冕堂皇的理由。

零基础如何学习大模型 AI

领取方式在文末

为什么要学习大模型?

学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。

大模型实际应用案例分享

①智能客服:某科技公司员工在学习了大模型课程后,成功开发了一套基于自然语言处理的大模型智能客服系统。该系统不仅提高了客户服务效率,还显著降低了人工成本。
②医疗影像分析:一位医学研究人员通过学习大模型课程,掌握了深度学习技术在医疗影像分析中的应用。他开发的算法能够准确识别肿瘤等病变,为医生提供了有力的诊断辅助。
③金融风险管理:一位金融分析师利用大模型课程中学到的知识,开发了一套信用评分模型。该模型帮助银行更准确地评估贷款申请者的信用风险,降低了不良贷款率。
④智能推荐系统:一位电商平台的工程师在学习大模型课程后,优化了平台的商品推荐算法。新算法提高了用户满意度和购买转化率,为公司带来了显著的增长。

这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。

学习资料领取

如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

部分资料展示

一、 AI大模型学习路线图

整个学习分为7个阶段
在这里插入图片描述

二、AI大模型实战案例

涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
在这里插入图片描述

三、视频和书籍PDF合集

从入门到进阶这里都有,跟着老师学习事半功倍。
在这里插入图片描述

在这里插入图片描述

如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2038035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

灵巧守门员——代理模式(Java实现)

代理模式不仅在控制对象访问上展现了其独特的优势,还在功能扩展和系统安全性上起到了重要作用。上期我们介绍了代理模式在Python中的实现,今天,我们将继续探讨代理模式,并展示如何在Java中实现它。 什么是代理模式? …

How do you implement OpenAI GPT-3 Api Client in PHP?

题意:如何在 PHP 中实现 OpenAI GPT-3 API 客户端? 问题背景: I need help understanding the vague instructions on https://packagist.org/packages/orhanerday/open-ai 我需要帮助来理解这些模糊的说明... I downloaded the package fr…

PDF转图片新潮流,4款神器告别手动截图

在这个信息爆炸的时代,PDF文件因为能在各种设备上保持格式不变,成了我们学习和工作中的好帮手。今天,我就诚心诚意地给你推荐几款现在特别流行的PDF转图片工具。这些工具操作起来非常简单,转换速度快,而且转换出来的图…

前端工程化工具——plop的使用-生成模板页面

背景 软件列表 软件名称版本号备注vue3.2.13vue-cli5.0.8plop4.0.1 操作步骤 新建vue3工程 vue create test-plop按提示完成操作即可 modules安装工具选择&#xff1a;yarn或npm均可 安装plop模块 yarn add plop -g新建模板文件 page1/index.hbs <template><…

【启动centos报错】另一个程序已锁定文件的一部分,进程无法访问,打不开磁盘.

启动centos报错 另一个程序已锁定文件的一部分&#xff0c;进程无法访问打不开磁盘“D:\Program2\CentOS\CentOS7\CentOS7.vmdk”或它所依赖的某个快照磁盘。模块“Disk”启动失败。未能启动虚拟机。解决方法 删除.lck文件

基于InP的通用光子集成技术(四)

7.ASPIC设计环境 在光子学中引入通用晶圆方法将导致光子芯片复杂度的重大变化&#xff1a;它将把设计从器件级转移到光路级&#xff0c;这一转变发生在20世纪70年代和80年代的微电子中&#xff0c;现在也发生在PIC中。 在通用方法中&#xff0c;可以通过具有许多构建块的PDK访…

数学建模笔记(2):Topsis分析法

一.评价类问题的几个关键词 1.指标 评价一个方案或者对象我们需要有评价指标&#xff0c;即从哪几个方面进行评价。比如评价一个人在保研上的竞争力&#xff0c;我们可以从绩点&#xff0c;课外竞赛&#xff0c;科研成果&#xff0c;学生工作&#xff0c;志愿服务等几个方面来…

Qt QTabWidget之创建标签页的多页面切换

QTabWidget 用来分页显示 重要函数: 1.void setTabText(int, QString); //设置页面的名字. 2.void setTabToolTip(QString); //设置页面的提示信息. 3.void setTabEnabled(bool); //设置页面是否被激活. 4.void setTabPosition(QTabPosition::South); //设置页面名字的位置. 5.…

游标卡尺的使用

游标卡尺的使用注意事项 游标卡尺是比较精密的测量工具&#xff0c;使用时应轻拿轻放&#xff0c;不得碰撞或跌落地下。使用时不要用来测量粗糙的物体&#xff0c;以免损坏量爪。不用时应置于干燥地方防止锈蚀。测量工件时&#xff0c;卡脚测量面必须与工件的表面平行或垂直&a…

1915_开源C语言实现的通用队列

经常在工作中遇到一些队列处理的场景&#xff0c;以前要么是借用FreeRTOS这样的系统中的相关功能&#xff0c;要么是通过数组做一个简单的队列模型。但是&#xff0c;这两种方案都具有一定的局限性能&#xff0c;前者要求的FreeRTOS不见得相应的软件中有&#xff0c;而后者只能…

【C++】什么是模板?

有不懂的地方可以翻阅我之前文章&#xff01; 个人主页&#xff1a;CSDN_小八哥向前冲 所属专栏&#xff1a;CSDN_C入门 目录 模板函数 泛型编程 函数模板 类模板 模板函数 泛型编程 在之前的学习里&#xff0c;我们知道函数可以重载&#xff0c;当我们在实现多参数函数交…

【2.2】回溯算法-解含有重复数字的全排列 II

一、题目 给定一个可包含 重复数字 的序列nums&#xff0c;按任意顺序返回所有不重复的全排列。 二、求解思路及代码实现 回溯算法思路&#xff1a; 这道题目与之前讨论的全排列问题类似&#xff0c;但有一个关键的区别&#xff1a;本题中数组包含重复的数字&#xff0c;而之前…

Springboot集成Proguard生成混淆jar包

背景 当我们需要将 JAR 包交付给第三方时&#xff0c;常常担心代码可能会被反编译。因此&#xff0c;对 JAR 包进行混淆处理显得尤为重要。 市面上有许多 JAR 包源码混淆工具&#xff0c;但真正能稳定投入使用的并不多。例如&#xff0c;ClassFinal (ClassFinal: Java字节码加…

C++类和对象1

一.类的定义 1.1类的创建 类是C中用户自己建立的类型。类似于C语言中的结构体。定义类的关键字为class。格式为&#xff1a; class 类名 {成员函数成员变量…… }; class 类名称为类头&#xff0c;花括号中的称为类体。类的声明以花括号后的分号结束&#xff0c;分号不可省…

Go-Zero微服务框架下开发接口流程

目录 一&#xff1a;定义api入参和返回值 二&#xff1a;生成入参和返回值文件 三&#xff1a;定义rpc参数和返回值 四&#xff1a;生成返回值和参数 五&#xff1a;定义数据库 六&#xff1a;生成数据库文件 今天我们来讲解下如何在Go-Zero下开发一个api接口的具体流程&…

UCOSIII内存管理机制详解

目录 前言 1. 内存管理概述 2. 内存区域&#xff08;存储区&#xff09;和内存块 3. 存储区控制块&#xff08;OS_MEM&#xff09; 4. 内存管理函数 5. 内存碎片问题 6. 注意事项 7.代码实现 7.1创建内存区域 7.2申请内存 7.3释放内存 前言 UCOSIII&#xff08;即Mi…

算法的学习笔记—正则表达式匹配的动态规划算法解析

&#x1f600;前言 正则表达式是一种强大的工具&#xff0c;广泛应用于文本匹配和处理。在许多编程任务中&#xff0c;我们可能会遇到需要匹配字符串与某个特定模式的情况。本文将介绍如何使用动态规划算法实现一个支持 . 和 * 的正则表达式匹配功能&#xff0c;并以 Java 为例…

中科院TOP“灌水神刊”合集!年发文量动辄数千篇,TOP的地位,4区的录用率!

【SciencePub学术】本期&#xff0c;给大家推荐几本环境领域的“灌水神刊”&#xff01;均隶属于中科院TOP刊之列&#xff0c;但是每年庞大的发文量致使投稿接收率极高&#xff01;话不多说&#xff0c;想“灌水”的建议收藏&#xff01; 01 年刊文量4000 Journal of Cleaner …

【C++】---红黑树详解

【C】---红黑树详解 一、什么是红黑树&#xff1f;1、概念2、性质3、四个规则 二、红黑树的定义1、红黑树 结点 定义&#xff08;1&#xff09;将新插入的结点 设置为黑色&#xff08;2&#xff09;将新插入的结点 设置为红色 2、红黑树的定义 三、红黑树插入1、插入节点2、控制…

Zabbix自动导出PDF报告

zabbix6提供了定时导出PDF报告功能。此功能可按照Dashboard维度&#xff0c;定时自动导出报告&#xff0c;并通过邮件发送。 1.安装 zabbix 提供了官方的rhel8版本的rpm包&#xff0c;可使用yum方式安装&#xff0c;zabbix自动导出PDF功能是基于go环境的zabbix web service程…