袁庭新陕西理工大学演讲——AIGC时代面临的机遇与挑战

大家好,我是袁庭新。分享一篇我在陕西理工大学给计算机专业、人工智能专业和网络工程专业的演讲内容。

各位计算机学院的小伙伴们,大家好啊!欢迎各位来到今天的分享会,非常荣幸能在这里和大家相聚。今天在这里,我要与大家共同探讨一个正在深刻改变我们行业、乃至整个社会的热门话题——《AIGC时代面临的机遇与挑战》。

首先,自我介绍一下,我叫袁庭新。不过大家也可以叫我老袁,因为同学们都这么叫我,这样感觉更亲切些。我呢,算是计算机行业里的一个“老炮儿”了,当然,这里的“老”不是指年龄,是指在这个领域里摸爬滚打的时间,一晃眼就是好多年。今天呢,我来到这里,就是希望能跟大家一起分享一些我在计算机行业里的所见所闻,包括最新的技术趋势、行业动态,还有一些我个人的心得和体会。AIGC技术的兴起,究竟意味着哪些前所未有的机遇?又伴随着哪些不容忽视的挑战?我们如何在浪潮中把握方向,不仅成为技术的驾驭者,更能成为推动社会进步的力量?

先给大家介绍一位顶级大佬——里德·霍夫曼。他是著名互联网企业家,领英联合创始人;知名风险投资者,Open AI早期投资人;《纽约时报》畅销书作者、播客主持人。他著有《GPT时代人类再腾飞》一书,这本书探讨了AI,尤其是像GPT-4这样的大语言模型,如何在教育、商业、创造力、社交媒体、新闻、劳动方式等方面提升人类的能力与强化人类的特质。今天我把这本书带过来了,就是这本书。这是人类历史上第一部由GPT-4与人类合著的开创之作!

你们知道吗?这一年来,人工智能,特别是AIGC,简直火的一塌糊涂。从AI生成图片、一键搞定PPT、智能写作助手,到辅助写论文、智能客服,还有AI和法律、教育的结合,这些应用简直遍地开花。对于咱们这些学计算机的小伙伴来说,最感兴趣的莫过于AI如何辅助我编程,还有怎么让软件研发工作也变得智能化起来。是不是听起来就让人跃跃欲试啊?这个板块来给大家介绍两款工具:AI编程助手、AI程序员。

过去这一年里,AI辅助编程工具呈爆发式增长,简直就是百花齐放,百家争鸣的热闹场面!Gartner是美国的一家信息技术研究分析公司,提供了大量专业的行业分析及趋势预测。AI辅助编程在Gartner报告中处于期望顶峰,备受关注。根据最新数据显示,自2023年以来,AI编程工具这个赛道,已经吸金无数,数十亿美元数十亿美元的投资嗖嗖地往里砸。足以显示出这一领域的巨大潜力。

现在啊,你看国内外那些大厂,一个个都摩拳擦掌,争先恐后地推出他们自家研发的智能神器。咱们国内,百度有文心快码,阿里拿出了通义灵码,字节跳动也不甘示弱,推出了豆包MarsCode。放眼国外,微软和OpenAI联手搞了个AI编程神器GitHub Copilot,瑞士有家公司弄了个Bito,还有亚马逊,他们整了个生成式人工智能小帮手Amazon Q。你们发现没?这些科技大佬都不约而同地盯上了开发环节的智能化,这不就是互联网行业最新的风向标吗。

说实话,我在这里没法把市面上所有的AI编码助手一一给大家介绍一遍。但阿里的通义灵码绝对是个亮点,深受开发者们的追捧和喜爱。你们猜猜看,它的插件下载量有多少?超过500万!没错,500万开发者选择了它!更牛的是,它竟然为这些开发者们生成了超过10亿行的代码!是不是听起来就让人热血沸腾?

下面我通过一个小视频介绍下通义灵码AI智能编码工具它的一些核心功能。能帮你续写代码,根据上下文和当前语法自动预测和生成建议代码。帮你写代码,根据自然语言描述,生成你要的功能,编码心流不间断。帮你写代码注释,一键生成方法及行间注释。帮你解释代码,一键生成代码解释。帮你写单元测试,自动生成多种框架单元测试。帮你优化代码,识别潜在的编码问题,提供具体的优化建议代码。帮你答疑解惑,你来问问题,灵码来解答。帮你生成终端命令,终端命令助手,轻松获取命令。帮你一键生成提交说明,自动概括变更内容,简化代码提交流程。这就是通义灵码最核心的一些功能演示。

有那么多AI编码助手可共选择,为何你唯独只介绍通义灵码,有同学可能会问到。为什么通义灵码能获得国内外研究机构和开发者的广泛认可呢?第一个是,通义灵码获得国内外研究机构众多荣誉。通义灵码是唯一进入到Gartner AI代码助手挑战者象限的中国代码助手产品。通义灵码首批通过信通院“可信AI智能编码工具”权威评测,获得4+评级。2024年7月,通义灵码入选2024世界人工智能大会展览镇馆之宝,是首个入围的AI编码助手。第二个是,通义灵码对多编程语言、多编辑器全方位支持。支持Java、Python、Go、JavaScript、TypeScript、C/C++、C#等主流语言,同时兼容Visual Studio Code、Visual Studio、JetBrains IDEs等主流编程工具,为你提供高效、流畅、舒心的智能编码体验。第三个是,通义灵码能代码智能生成,完成工作更高效。通义灵码经过海量优秀开源代码数据训练,可根据当前代码文件及跨文件的上下文,为你生成行级/函数级代码、单元测试、代码注释等;沉浸式编码心流,秒级生成速度,让你更专注在技术设计,高质高效地完成编码工作。

你别看AI编码助手那么强悍,其实它们可不是万能的,也有自己的小短板。比如说,你的代码仓库要是私有的,它可就摸不着门路了,因为它没在你的数据上训练过,对你的私有仓库一无所知。再一个,这家伙没法实时跟你的编程环境互动,就像它没法拿起你电脑上的那些软件工具来帮你干活一样。还有啊,它的自主能力比较差。因为它是靠静态数据训练出来的,遇到那种需要从头到尾、一步一步灵活解决的复杂软件任务,它就有点儿力不从心了。所以啊,虽然AI编程助手很强大,但咱们还是得清楚它的局限性,别一股脑儿地指望它能搞定所有事儿。

随着大模型的持续进化,在语义理解、代码生成、开发工作流等方面的能力也获得了持续、全面的提升。你说,要是有个编程小助手,就像智能汽车能自动驾驶一样,咱们只需要动动嘴皮子,它就能嗖嗖地给咱们写出代码来,这画面是不是挺带劲的。没错,AI程序员,这个听起来就像科幻电影里的角色,现在正一步步走进现实。你知道吗?就在2024年3月12日,Cognition公司放了个大招,推出了全球头一个AI程序员——Devin,这可是AI和软件开发牵手共舞的新纪元啊。还有GitHub,他们也搞了个新花样,叫做GitHub Copilot Workspace,是基于GPT-4这个超级大脑打造的一款AI智能编程工具。不过呢,这些海外产品均基于闭源模型,包括GPT4o、Claude3.5等,在国内产品中无法使用。

再来看一下国内的AI程序员产品,主要以通义灵码AI程序员为代表。通义灵码 AI 程序员是阿里云和通义实验室联合开发的一款 AI 智能体,旨在辅助并部分替代人类程序员完成复杂的编程任务。

无论是哪家公司的AI程序员产品,他们的使用场景是类似的。开发者负责输入需求,然后AI程序员来理解需求和任务拆解,再交由开发者来确认计划,确认完成后AI程序员开始编码实现、自主测试和提交代码,最终开发者进行结果确认。在这个过程中我们比较关注AI程序员的三种使用场景,分别是缺陷修复、测试生成和需求实现。

第一个场景是,AI程序员具备强大的Bugfix Agents全自动缺陷修复能力。它具有项目感知能力,根据缺陷上下文,进行缺陷定位和信息收集,然后生成可用的经过验证的缺陷修复代码。开发者只需确认计划,AI程序员即可自动完成代码修复。整个过程是依靠多个Agents来协作完成的,成为每个开发者的Bugfix小助手。

第二场景是,UnitTest Agents全自动单测生成。单元测试是AI比较擅长的,并且可以大幅度提升代码质量,也是AI编码头部公司比较关注的领域。首先需要对UnitTest模型能力提升,这就需要对模型进行专项训练。第一个控制单元测试生成的数量,包括分支的覆盖;第二个规范性,比如Java单元测试范式的标准;第三个单元测试框架的支持,如JUnit4和JUnit5不能混淆,需要教会模型在不同框架下如何生成正确的测试用例;还有要保证生成的单元测试风格要统一等。通过这一系列的模型训练和优化,现在已经能做到单元测试一次性编译通过率达到40%左右。单元测试能不能实现达到近100%的通过率,这就需要用到Agent技术。通过Agent来建立一个复杂的工作流,包括生成单元测试、编译构建和运行、搜索工程信息、自主修复、报告生成、用例采纳等。

下面通过一个小视频来快速了解下通义灵码AI程序员的使用。通义灵码AI程序员是基于通义大模型的AI编程智能体。我输入需求,AI程序员理解需求,进行任务拆解,我确定计划,AI程序员来编码实现,以及进行自主测试和提交代码,最后由我来确认。我可以提出待解决的问题,AI程序员就会阅读问题详情,然后完成代码库拉取并进行分析,AI程序员基于分析结果生成解决计划。这个时候,我可以查看AI程序员定位的代码文件及方法,同时我可以修改解决计划,给AI程序员增加额外的一个优化点。AI程序员根据计划拟定解决方案,我来查看AI程序员即将修复的代码片段,确认无误后就可以进行下一步了。AI程序员按照解决方案变更代码文件,这时我就可以查看变更后的代码Diff详情了。AI程序员生成合并请求标题及描述,我来完成提交合并请求,还可以查看合并请求。这就是通义灵码AI程序员的核心功能。

作为未来的软件开发工程师,我们不光要学习这些先进的AIGC生产力工具,还得深入了解企业里智能编程的那些实际做法和应用情况。只有这样,咱们才能在技术的大潮里勇往直前,成为带动社会发展和产业升级的主力军。

科技公司最关注的就是研发效能,那AIGC对企业的研发效能有什么样的影响?可以从三个维度来探讨,研发效率、协作效率和个人效率。先说人员技能吧,这可是效率的基础,也是提高效率的突破口,AIGC能帮忙提升开发人员的本事,让他们补上技能上的短板。然后是协同消耗,我们都知道,软件架构越复杂,组织也就越复杂,合作起来消耗就越大,但是AIGC能让流程变得更规范,打造出超级个体,也就是让每个人都能发挥最大作用。最后一个就是持续提高效率了,AIGC可以将非结构化的数据结构化,将结构化的数据模型化,随着工具的不断升级,构建企业的数字资产。

软件工程是什么?软件工程是是人类历史上第一次大规模集体智力协作活动。这里隐含两个关键词,第一个是大规模协同活动,第二个是智力活动。大家知道智力活动有个显著的特点是不可见性,所有的知识都装在各位的脑子里,这也就是为什么软件开发行业要进行专业的分工,因为每个人的智力是有限的。

如果要提升研发效能,这是一个集体协作、知识共享的工作,我们能不能把隐性的工作通过AIGC显性化。比如说,我同事写的代码我知道它是什么,企业里的规范我也知道它的标准是什么。这样,对我来说在软件开发的协同过程中就不会有信息的壁垒。这就极大的提升了我的工作效率。

在大语言模型日益成熟和广泛应用的背景下,人工智能带来了新的人机协同模式。可以分成三个阶段,第一个是大语言模型是一个Copilot阶段,这个阶段大语言模型不会改变软件工程的专业分工,但可以增强领域专业技术,AI研发工具辅助人来完成任务。第二个阶段是大语言模型是一个Agent阶段,它变成了单一职能专家,能够自主使用工具完成预定任务。第三个阶段是大语言模型是一个Multi-Agents阶段,软件开发是一个大工程,我们可以把它拆分成多个模块,再把每个具体的模块交给某个Agent专家来完成开发,这个大工程就变成了由多个Agent互相协作来完成这项复杂的工作,人就负责创意、纠偏及确认。这就是AI程序员要干的事情。

随着我们面临的问题越来越多,技术也越来越厉害,智能化研发工具能干的事儿就越来越广了。一开始呢,它就像个帮手,能帮我们写点代码,这个阶段咱们就叫它Copilot阶段。然后啊,它就能自己搞定一些任务了,像个能干的小助手,这个阶段就是Agent阶段。再往后,它就更牛了,能自己研发新功能,好像有好多小助手一起合作一样,这个阶段就是Multi-Agent阶段。这三个阶段,每个都有它们专门的智能化研发工具来帮忙。

在企业内部完成智能化工具建设,如何从企业级到工程级,全面覆盖各类研发场景呢?智能化工具的建设路径就包括:需求协作、代码生成、异常排查、测试辅助,再到代码审核、文档辅助。比如说,在代码生成阶段就包含代码框架生成、API调用生成、配置文件生成、函数变量命令等。在代码审核阶段就包含,自有规范审核、潜在风险提醒、代码改进建议、提交前代码评审等。企业研发智能化全面的覆盖到了软件开发的各个阶段。

AI辅助编码对于程序员的工作效率提升很大。 来看一份程序员的时间分配数据,在日常工作中,程序员花费三分之一的时间编写新代码或改进现有代码(32%);花费35%的时间来管理代码,包括代码维护(19%)、测试(12%)和响应安全问题(4%);另外23%的时间花在会议以及管理和运营任务上。引入AI编程辅助工具后,开发者的个人工作效率至少提升11.2%,这个数据是怎样得出来的呢?我们可以使用“开发者的编码时间占比 x AI代码生成占比”公式来计算出“个人工作效率提升”的数值。并且随着人工智能的不断发展,开发效能将持续被提升。

现在的科技公司都在使用智能编码助手,像通义灵码这样的智能化工具已成功入职多家金融、汽车、新零售、互联网等企业,来帮助企业实现研发智能化升级。还是以通义灵码为例,我们来看下企业是如何评价通义灵码的价值的,哈啰集团已全面接入通义灵码专属版,与自研产品融合,开发进入智能化创作时代,AI代码生成占比超25%,研发效率提升12%。中华财险是一家积极拥抱“云+AI”的金融保险企业,通义灵码已应用到他们的内部代码研发场景了,用于提升开发效能,使用的研发人员使用占比60%,问答准确率90%。

AI程序员实际落地比学术探索更困难。面临的问题非常的多,如何进行软件过程数据构建、项目感知(项目代码量很大,如何在输入长度有限的情况下拿到足够的上下文)、解决方案生成(如何规划整个解决方案的生成,并保障代码能够自动化合并到项目)、缺陷修复。还有像模型效果、响应时间、可干预性、推理成本等。都是摆在我们面前需要攻克的难关。

尽管AI程序员在落地过程中面临诸多挑战,但我依然持乐观态度。从需求分析阶段、系统设计阶段、软件开发阶段、软件演化阶段、软件维护阶段,AI程序员将成为领航者。我大胆预测下未来:软件开发将从依赖团队配合(人),逐步过渡到,依赖超大算力(机器),逐步形成“机器开发,人审核”的智能化软件工程范式!

最后一个板块给大家介绍些前沿的技术趋势,包括Serverless+AI、AI+可观测性、以及AI原生应用架构。如果想在未来成为一名合格且具备前瞻视野的软件开发工程师,这些新兴且热门的技术领域都是需要去了解的,并且在参加工作前尽可能去系统学习掌握它。这些技术对于许多人来说可能会感到很陌生,甚至觉得有一定的学习难度。但请放心,今天我们并不是来系统学习这些内容的每一个细节,而是希望通过一个宏观的视角,为大家勾勒出这些技术的基本概念、它们如何相互融合、以及它们对未来软件开发和运维可能带来的影响。

Serverless与AI的结合是云计算和人工智能领域的一个重要发展趋势。Serverless架构是一种云计算的部署模型,Serverless架构为AI系统提供了有效的解决方案。随着云计算和人工智能技术的不断发展,Serverless+AI的应用将会越来越广泛。Serverless无服务架构是如何演进来的呢?主要经历三个阶段,应用程序的运行环境是从早先的物理机,到虚拟机,最后演进到Serverless这种架构的。那Serverless有什么价值?这里我给大家举一个例子,为了出行方便最早会买私家车作为代步工具,但是这种方式带来资源占有和维护成本高,以及平时大量闲置,这就好比是物理机。为了解决这些问题,我们可以汽车租凭,好处是灵活租凭使用时长,闲置相对较少,但是也带来一个新问题,扩容相对麻烦,虚拟机就像是汽车租凭。最优的方案就是打网约车,它完全按需使用,没有闲置成本,根据负载自动弹性伸缩。通过以上的介绍Serverless架构的价值也就显而易见了:按需付费,成本节省;弹性伸缩,省事省心;聚焦业务,降低Ops。

Serverless架构与AI的融合,能让应用开发变得超级简单。有了这种按需提供的模型托管服务,企业花很少的钱就能让应用跑起来,特别是Serverless GPU算力模型服务,其成本平均降低了60%。而且啊,开发者只要点点鼠标,就能快速创建和部署AI应用,再也不用为一开始怎么上手发愁了。还有流程化的开发工具和专门给AI用的Studio,开发效率直接飙升了90%!这种架构还特别灵活,组件可以像拼图一样随便组合,方便大家进行二次开发。它还接入了好多云服务,还能通过自定义插件快速扩展功能,这样一来,企业就能更好地积累和重复使用他们的业务资源了。

当咱们把应用程序搬到云上后,运维的工作就不只是盯着看那么简单了,它变得更全面,得叫做“可观测性”。那么,什么是系统的可观测性呢?我们可以借助一些类比来理解:就像开车时候得靠仪表盘知道车况,或者建筑师得拿设计图纸来了解建筑一样,这些都是让人一眼就能看明白情况的东西,它们都是可观测性的直观体现。在软件开发这行,可观测性就是说,咱们能实时地、从头到尾地看到应用程序是怎么运行的,哪儿不对劲儿还能马上报警、找出问题。有了这套观测系统,管理和维护那些IT资源和服务就变得轻松多了。

大家可能对系统的可观测性这个概念还不是特别明白,那我举个实际的例子来说明一下。2024年巴黎奥运会,阿里云为奥运会的14个场馆都装上了一个叫mucar的AI加强版多镜头回放系统。这个系统怎么做的呢?就是把好多摄像头拍到的画面都传到云上,然后用那种特别牛的“ACK Pro集群加上GPU节点”的AI计算能力,在云端实时地重建场景、做3D渲染。就这么几下子,几秒钟内,云端就能做出回放,而且还能直接插到比赛直播里,让全世界观众都能看到。阿里云还得保证奥运会的那些业务系统都稳定运行,就算有很多人同时看,也得保障超大流量访问顺滑。它是怎么做到的呢?靠的就是一个能全面监控整个系统稳定性的大盘,这个大盘就是可观测性的一个实际例子。

软件运行过程中为了保证稳定性,需要观测的维度是非常多的。比如说,得看看基础设置咋样、容器运行得好不好、云产品是不是靠谱、应用是不是顺畅,还有用户体验怎么样。从专业技术角度来说,就是要实现基础设施可观测、容器可观测、云产品可观测、应用可观测和用户体验可观测等。随着AI技术的发展,可观测也在加速迈向智能化,将会形成全栈智能可观测的一种新趋势。企业用户可以像“搭积木”一样轻松、灵活地构建可观测体系。总之,未来可观测与智能化紧密结合是大势所趋。

下面我们来看看软件架构的演进历程。一开始是单体架构,然后变成了垂直架构,接着有了SOA架构、微服务架构,之后又蹦出了云原生架构,现在最火的是AI原生架构。从云原生跳到AI原生,网关这个角色也经历了翻天覆地的变化。在这一连串的变化里,网关技术也是突飞猛进。最开始就是简单的流量网关,还有企业服务总线(ESB),后来有了微服务网关、云原生网关,现在最新的潮流就是智能网关,也就是AI网关!

在AI原生应用架构中,我们会面临一些问题。比如说有,咱们得面对好多API、需要长时间保持的连接、高延迟问题,还有大带宽等诸多技术难题。先说说高延时,大语言模型的推理响应延时要比普通应用高出很多,此时如果AI应用遭到恶意攻击,攻击者的成本会很低,但服务端的开销很高。还有就是大宽带,AI场景对带宽的消耗远超过普通应用,网关如果没有实现较好的流式处理和内存回收机制,容易导致内存快速上涨。这个时候,在AI原生应用架构中,设计一个能够随时随地有效控制和管理应用流量的AI网关变得至关重要。这样一来,企业用AI的时候就既安全又高效了。

问题来了,我们到底需要多少个网关?接入网关、流量网关、安全网关、业务网关、云原生网关......等等。同时,还需要考虑网关的稳定性、安全性、是否方便集成、性能是否出众、是否智能化等问题。

Higress是一款云原生API网关,可以帮助开发者零代码构建AI原生应用。说到Higress的生态,它是AI先行者,在国内率先推出了一整套AI插件,让用户通过很少的代码就能打造AI应用,阿里云的PAI、百炼、通义这些强大工具都已经和Higress无缝对接上了。生态丰富,AI领域Al Proxy对接了20+大模型厂商,不光如此,它还把微服务、容器和安全这些领域都整合进来了。社区活跃,自2022.11开源以来累计发布版本35+。易于扩展,支持C++、Rust、Go、AssemblyScript等多语言开发插件。最后一点,关键它还是开源的,同时还提供了商业版。

云原生API 网关Higress,是基于真实的业务需求而孵化出来的。比如通义APP、模型服务灵积、人工智能平台PAI用的都是Higress网关。它在AI应用、AI模型服务平台、AI模型等业务领域,都有很好的实践案例。

在分布式微服务开发领域,Spring Cloud Alibaba提供了一整套的微服务解决方案,成为技术选型的主流。在AI的浪潮下,Spring Cloud Alibaba积极拥抱AI技术,研发了Spring AI Alibaba项目。

Spring AI Alibaba重磅发布,项目也正式开源。Spring AI Alibaba开源项目基于Spring AI构建,是阿里云通义系列模型及服务在Java AI应用开发领域的最佳实践,提供高层次的AI API抽象与云原生基础设施的无缝集成方案,帮助开发者快速构建AI应用。可以说是,让Java开发者一步迈入AI原生时代。

作为未来的软件工程师,大家可能比较关注的是微服务的发展趋势是什么?第一个是标准化,微服务已经进入成熟发展阶段,常用的组件已历经多年版本迭代,如RocketMQ 5.0、Dubbo 3.3、Spring Cloud 2023、Nacos 2.4。第二个是多语言化,随着业务的多样性,微服务支持Java、Golang、Python、Rust等多语言SDK。第三个是高可用化,研发态、运行态、变更态,领域默认就高可用。

在微服务全景图里,绝大多数的组件都是由阿里提供的,像Dubbo、SCA、RocketMQ、Nacos、Sentienl、Seata、Higress等都是阿里的产品。阿里引领国内微服务架构,相关开源产品有60%市场份额。同时Spring Al Alibaba开源项目,可用于快速构建Spring AI标准应用,在AI场景中有着最佳的实践。更为重要的是,以上提到的有关阿里的组件或产品,都是开源免费的。

聊了这么多有关云原生和AI原生的技术,它们之间并不是孤立的,而是有着相互依存的关系,通过云原生让应用场景更多注入AI,通过AI原生让更多云原生应用赋予智能。

科技如此迅猛的发展,想象一下,未来30年、50年或100年后由AI驱动的世界,会是怎样的?我不知道。身处在这个行业,我已经深刻感受到,一项真正具有革命性的技术,正汹涌的渗入这个时代。面对这些未知,大家难免会感到惶恐、不安。新技术层出不穷,扑面而来,我们甚至不知道从何学起。想给大家分享的东西还有很多,由于时间的原因最后我借用《GPT时代人类再腾飞》书中的一段话来结束今天的讲演:“我们正在亲历前所未有的变革——互联网改变了信息传递的方式,指数级技术快速发展并颠覆商业世界,人工智能正在侵占越来越多的人类领地。面对这些变化,我们需要问自己:未来需要什么样的人才?答案是,成为终身学习者”。

谢谢大家!如果后续还有同学希望进行深入的交流与探讨( 我的地球号:yuantingxin2 )。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以客户为导向在开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序内容创作中的实践与价值

摘要:本文深入探讨了在开源 AI 智能名片 2 1 链动模式 S2B2C 商城小程序相关内容创作中以客户为导向的方法和意义。阐述了如何在创作过程中通过与客户对话和转换客户视角来优化内容,以提升该小程序在市场中的竞争力和用户接受度。 一、引言 在数字化商…

QT——TCP网络调试助手

目录 一.项目展示 ​编辑 二.开发流程 三.QTcpServer、QTcpSocket、QUdpSocket类的学习 1.QTcpServer服务端 2.QTcpSocket客户端 3.Udp通信 四.网络调试助手 1.首先我们实现当用户选择不同协议类型时不同的UI组件如何切换 2.实现打开/关闭按键图片的切换 方式一&…

【CSS3】css开篇基础(5)

1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…

C++学习路线(数据库部分)二

类型 整形类型 整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种数据类型。MySQL数据库除了支持这两种类型以外,还扩展支持了TINYINT、MEDIUMINT和BIGINT。下表从不同整数类型的字节数、取值范围等方面进行对比。 类型名称后面的小括号…

IDEA中通义灵码的使用技巧

大家好,我是 V 哥。在日常写代码的过程中,通过 AI 工具辅助开发已是当下程序员惯用的方式,V 哥在使用了众多的 AI 工具后,多数情况下,选择通义灵码来辅助开发,尤其是解释代码和生成单元测试功能甚是好用&am…

Docker篇(实际应用)

目录 一、MySQL 部署 1. 拉取 MySQL 镜像 2. 查看镜像 3. 创建 MySQL 容器 4. 进入 MySQL 容器,登陆 MySQL 5. 远程登陆 MySQL 6. 查看容器 IP 地址 二、tomcat 部署 1. 拉取 tomcat 镜像 2. 创建 tomcat 容器 3. 搭建 Tomcat 服务并部署 web 应用 三、Nginx 部署 …

Darknet 连接教程

本篇文章仅供学习,严禁用于非法用途。 1,前言: 首先明确一点,Darknet真没那么神奇,虽然有些技术文章的确很有水平,对于前端学习,软件开发以及PHP和一些服务器端维护都有许多文章,但…

江协科技STM32学习- P33 实验-软件I2C读写MPU6050

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

Hadoop生态圈框架部署(四)- Hadoop完全分布式部署

文章目录 前言一、Hadoop完全分布式部署(手动部署)1. 下载hadoop2. 上传安装包2. 解压hadoop安装包3. 配置hadoop配置文件3.1 虚拟机hadoop1修改hadoop配置文件3.1.1 修改 hadoop-env.sh 配置文件3.3.2 修改 core-site.xml 配置文件3.3.3 修改 hdfs-site…

立刻解决 gcc: error: unrecognized argument in option ‘-mabi=aapcs-linux’

unrecognized argument in option ‘-mabiaapcs-linux’ Linux 主线支持的硬件较少,一般是第三方开源( Linaro/Yocto )或者硬件厂商提供定制的嵌入式 Linux 如果确认主线支持自己的硬件,可以从 https://www.kernel.org/ 获取指定…

「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用

自定义组件可以帮助开发者实现复用性强、逻辑清晰的界面模块。通过自定义组件,鸿蒙应用能够提高代码的可维护性,并简化复杂布局的构建。本篇将介绍如何创建自定义组件,如何向组件传递数据,以及如何在不同页面间复用这些组件。 关键词 自定义组件复用组件属性传递组件通信组…

Windows版 nginx安装,启动,目录解析,常用命令

Windows版 nginx安装,启动,目录解析,常用命令 一级目录二级目录三级目录 1. 下载2. 启动方式一:方式二: 3. 验证是否启动4. 安装目录解析5. 常用命令 一级目录 二级目录 三级目录 1. 下载 官网下载:ngi…

Oracle视频基础1.3.7练习

1.3.7 看oracle是否启动构造一个pfile:boobooke.ora看spfilewilson内容修改alert log file里拷贝的参数内容,创建一个pfile boobooke.ora用新创建的pfile启动数据库,并创建新的spfile:spfilebbk.ora启动数据库,监听,看新的进程解…

【LeetCode】每日一题 2024_11_2 使两个整数相等的位更改次数(位运算/模拟)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动! 题目:使两个整数相等的位更改次数 代码与解题思路 先读题: 题目要我们把 n 这个数字转换成 k 这个数字,但是只能是二进制位 1 转换成 0 纯模拟的解法: f…

鸿蒙生态下开发挑战-鸿蒙低代码开发工具展望及优势

鸿蒙生态下开发挑战 在鸿蒙生态下开发时,开发者可能会遇到多方面的挑战,这些挑战主要涉及开发工具、技术难度、生态竞争以及市场定位等方面。以下是对这些挑战的详细分析: 一、开发工具不完善 尽管鸿蒙系统的开发工具DevEco Studio在逐步完…

typescript 如何跳过ts类型检查?

文章目录 前言any类型条件判断进行使用断言加注释跳过ts检查 前言 typescript 的使用,虽然让代码更加规范,利于维护,但也给开发带来很多麻烦。为了跳过很多ts的类型检查,大家也是费尽心思,下面就介绍一些常用的方式&a…

(八)JavaWeb后端开发——Tomcat

目录 1.Web服务器概念 2.tomcat 1.Web服务器概念 服务器:安装了服务器软件的计算机服务器软件:接收用户的请求,处理请求,做出响应web服务器软件:在web服务器软件中,可以部署web项目,让用户通…

Leetcode - 142双周赛

目录 一,3330. 找到初始输入字符串 I 二,3331. 修改后子树的大小 三,3332. 旅客可以得到的最多点数 四,3333. 找到初始输入字符串 II 一,3330. 找到初始输入字符串 I 本题就是一道找规律的题,拿示例一来…

使用python画一颗圣诞树

具体效果: 完整代码: import random def print_christmas_tree(height): # 打印圣诞树的顶部 for i in range(height): # 打印空格,使树居中 for j in range(height - i - 1): print(" ", end"") # 打印星号&…

camera和lidar外参标定

雷达和相机的外参标定(外部参数标定)指的是确定两者之间的旋转和平移关系,使得它们的坐标系可以对齐。 文章目录 无目标标定livox_camera_calibdirect_visual_lidar_calibration 有目标标定velo2cam_calibration 无目标标定 livox_camera_ca…