当前位置: 首页 > news >正文

怿星科技薛春宇丨智能汽车软件研发工具链国产化的挑战和探索

2024年7月25日,由上海良益企业管理咨询有限公司主办的“2024域控制器技术论坛“在上海成功举办,十位嘉宾做了精彩分享。“整零有道”将陆续刊出部分演讲的文字实录,以飨读者。

本期刊出怿星科技副总经理薛春宇的演讲实录:智能汽车软件研发工具链国产化的挑战和探索。文字经嘉宾本人审阅,有删节。

图片

各位早上好,很高兴跟大家在这里探讨关于软件开发、工具链以及软件开发过程中碰到的问题和挑战。刚才龙平先生也提到了软件开发的效率问题,值得大家深思。其实这几年软件研发的状态,内卷的程度,包括软件研发的工作量都是热门话题。大家都知道软件研发带来了大量的成本,所以在这里我代表怿星科技跟大家探讨一下,在软件开发过程中,怎么利用好国产工具链,然后怎么用工具链去提升效率,以及对于国产工具链的一些思考。我的演讲分三个方面:初心,怿星的解决方案,最后分享我对整个国产工具链的机遇和看法。

关于初心

我是做软件出身,开始的时候ABS/ESC的算法做了4-5年。在整个软件开发的过程中,碰到了大量效率的问题,代码一致性的问题,代码的测试问题,这些都造成了我们软件开发效率的低下。所以我们引入了一个叫“软件工业化”的概念,就是说软件工业化到底够不够,我们用软件工业化的这样一个标准来去评判软件开发。那么软件工业化的标准是什么?

首先是效率,然后是质量,然后是成本。大家都知道整个工业化的成果带来的就是效率的提升,成本的降低,然后质量的极大的提升,但是我们软件碰到的问题却是完全反面的,质量、效率都是极差的。

如果我们从工业化的角度看,一个真正的工业化的产品,PPM我相信应该是个位数,是极低的,我们其实要求0PPM。但是我们扪心自问一下,我们现在90%以上的软件是有大量问题的。在效率方面,我们还有大量的人工堆在软件开发的整个的通道里面,造成了软件开发整个效率低下的问题。

基于以上这些,我们认为整个软件的工业化程度是极低的。但是软件行业发展了那么久,软件效率还是那么低,肯定有它深层次的原因。我们大概总结了一下,原因有大量依赖人力,包括整个软件技术能力的参差不齐,也包括缺乏高效的软件开发的工具链。

其实软件开发工具链总体来讲还是很丰富,但是极其地碎片化,角色跟责任分工也不明确,也缺乏对软件开发整个周期的管理等等。软件(包括整个电子电器开发的工具链),我们一般把它归为5类。第一是设计类工具,大家用的比较多,像Matlab、Simulink等工具来帮助大家去生成整个架构or软件代码。另外编译器和集成开发环境,这个一般都是由芯片厂来提供的,提供了各种各样的编译环境。另外就是模拟和仿真工具,模拟仿真工具的话主要是用于整个开发过程,去仿真整个的环境也好,或者做相关的模型开发也好,生成代码也好。然后软件开发完以后,生成代码以后,做相关的调试跟测试。最后就是开发流程的管理工具。所以我们今天讲的范畴其实就是覆盖了这5个,我们准备用这5个工具来开发和测试相关的软件。

怿星科技在国产软件研发工具链方面的探索

怿星是做网络仿真,包括网络软件开发通信协议栈,包括智能座舱软件出身的,我们在这两个领域到底做了哪些探索?

图片

以上是怿星科技目前的产品矩阵。最右边部分比较容易理解,其实就是自动化的测试设备、HIL的设备,来仿真整个的电子电气架构环境,做软件集成测试仿真的。

这块其实覆盖了上面的测试验证过程,上面的过程大家都比较熟悉,因为做电子电器开发或软件开发,基本上就是传统的V模型,从需求定义、架构设计到软硬件的详细设计,到软件测试,再到系统集成测试,所以右侧的这些大型的HIL机柜其实就是为了服务好系统集成测试的,然后左边这两侧的其实就是服务好整个的软件开发工作,包括架构设计,包括软硬件的详细设计,包括软件测试的。我们也提供标准中间件的产品,包括车载通信的协议栈中间件,也包括智能座舱的中间件。中间件这块的话,现在CP的话基本上用的比较多,大家知道整个AP在国内用的不是特别多的,大家都有自己的一些想法来去实现域控制器方面的这样一个软件架构的一些框架。

然后中间的话其实就是研发工具链,研发工具链的话其实就是类似于Vector的这些相关的一些上位机的软件以及各种各样的接口卡,实现的功能其实就是做软件架构设计,然后做代码生成,做软件测试,帮着大家来去做好整个的软件开发。当然我们的目标是提供工程师人手一套的这样的工具,来做好软件开发跟测试。

图片

那具体包含了哪些?其实最核心的就是SolarONE,这是一个仿真测试的开发的软件平台,这个是跑在Windows环境下的,方便我们的软件工程师拿它做软件架构设计需求管理,然后做代码生成和软件测试的,主要用于网络仿真,就是车载网络的代码以及架构设计以及网络仿真和测试。然后基于这个SolarONE仿真测试平台,周边就是各种各样的硬件接口卡,硬件接口卡的话包括了CAN/LIN的接口卡,包括以太网的接口卡,故障注入模块,各种I/O接口卡等。

左下角就是刚才说的这些接口卡,包括各种I/O板卡,各种电源接口板卡,然后右下角的其实就是各种专项测试仪,基于现在的软件开发中遇到的各种各样的专项测试,也包括TC8的测试,TC10的测试,DDS的测试,包括同步精度的测试,比如TSN的网络的同步精度的测试,这些是我们把它归为专项测试仪。

图片

这是一个更详细的介绍,包括了刚才说的5430是我们首款国产的高性能的汽车以太网的接口卡,然后的话就是CAN/LIN的接口卡5130,再加上各种各样的测试仪,包括ETS4620的IOP测试仪,现在是国内首款真正做IOP底层测试的IOP测试仪,然后包括了高分辨的TSN的时钟网络同步精度的一个测试仪,用于TSN的网络分析的。

再有就是左上角的场景化的测试套件,其实就是各种各样的测试用例的用例库,所以基于这样一个软件,三套硬件,再加上一套测试用例库,我们搭建起了各种各样服务于不同场景的研发测试设备。

举个例子,基于我们SolarONE的软件,再加上接口卡,我们搭建起了智能座舱的开发环境,包括了软件的解决方案,包括了 UI/UE的逻辑层的解决方案,包括了自动化的测试方案。其实里面有大量的工具库,包括了我们的eStation。eStation是做座舱软件的开发流程管理的,包括需求管理。然后eFramework是我们的开发框架,是基于智能座舱的整个的上层应用的一个框架,用于帮助我们客户做好应用层软件的平台化。

图片

大家知道做硬件及基础软件这块的平台化还是比较好做的,大家提的中间件以下部分做平台化,而真正难做平台化的,其实是上层应用的平台化,我们eFramework的框架其实就是为了帮助我们客户做好上层应用层软件的平台化,包括UI/UE,包括逻辑层,包括业务层相关的软件代码的平台化,怎么做好。

图片

右下角的图可以帮大家理解,我们做了关于界面层的,关于UE逻辑层的和关于UI业务逻辑层的这样的一个解耦,刚才龙平先生也提到了相关的解耦,解耦完以后,各个层包括各个逻辑层、应用层,界面层,他们是通过信号来去进行交互的,通过各个层的逻辑层的解耦,再通过各个逻辑层之间信号的标准化来去完成各个层面的解耦,这是我们的方法。

这个框架现在在广汽、吉利、奇瑞等项目上都做了相关的应用,帮助我们客户做好相关的应用层软件的平台化。

除了软件代码,还有就是基于Solar的一个整车的智能座舱的测试的环境来去做好智能座舱的功能测试,这个就不多讲了。主要也是基于Solar的我们国产化的开发平台,它形成了这样一个Python的接口,所以它能够做到支持各种的硬件,支持各种的相关的测试用例库。

图片

这是座舱测试方案的大概的框架,它的优势其实也是基于刚才我说的这套环境,然后做好模块的组合,因为它支持各种各样的模块的接口,包括视频图像声音导航,包括机械臂,它兼容各种各样市面主流的硬件设备,可以支持集群化部署。这套方案也是基于我们SolarONE平台的,如果需要在云端部署,还需要SolarManager套件,它是一个云端部署的管理套件,支持云端的管理平台的对接及资产的管理,相关的一些测试报告的生成。同时它是一个低代码的工具,所以它完全可以通过图形化的界面来去做拖拽式的开发。

刚才说了智能座舱,现在讲一下车载通信,我们怎么做?其实也是基于SolarONE这个仿真测试平台,包括EEA架构设计,eVisionStack的中间件,也就是协议栈等代码的自动生成,还有就是仿真测试。所以我们支持左侧的开发,而右侧的测试包括了我们刚才说的各种各样的测试仪,包括了IOP的测试仪,然后TSN的测试仪,然后TC8、TC10、DDS的相关的测试仪,这些都是基于国产化的SolarONE上位机软件加上国产化的相关的接口卡开发出来的。

再往上的话就是集成测试相关的解决方案,包括了我们以太网的测试设备,包括了CAN/LIN的测试设备,包括了OTA的测试设备等等。

图片

所以大家可以看到,怿星科技基于这样一个统一的框架,也就是刚才说的SolarONE加各种硬件接口卡的这样一个框架,我们搭起了从软件开发到软件测试再到系统集成测试的这样一个开发环境。所以我们把它叫做工具链。我们强调的是“链”这个字。

这里我具体讲一下DDS测试的解决方案,其实基于我们刚才说的测试框架的话,我们实现了协议的测试,通信及交互功能测试,性能稳定测试,当然也包括我们的一些定制化的测试内容。这是网络测试的拓扑。我们基于 Robert Framework来搭建的框架,当然也是在我们SolarONE的开发环境里面的,同时也包括了测试中间件,相关的被测件,DDS的一个相关的协议栈,结构很简单,基于我们的上位机软件,基于我们的测试用例库,同时加一个T1转Tx的接口卡,还有就是打流仪。非常轻量化的一个DDS的测试的一个框架和解决方案。

图片

图片

讲完座舱测试和网络测试,接着的话就是我们自动驾驶的解决方案,自动驾驶的话主要是数据流,所以包括了整个的数据的采集,数据的存储,数据的脱敏和标注,再到数据的仿真注入的一个测试环境。

以上大概讲了一些我们的基于SolarONE整个框架的一些解决方案,包括座舱、自动驾驶,整车的开发环境。

国产工具链的机遇

其实我们整个的汽车电子的发展,大家也知道,我们基本上就是伴随着德国和美国的一些工具链成长起来的。我们在大概20年前,从2003年整个汽车行业开始慢慢崛起,刚开始10年的话,整个汽车产业链还是以打铁的为主,机加工各种轮毂铸件为主,汽车电子那时候还是非常弱小的,我们的汽车电子是学习欧美的整个的企业的经验慢慢成长起来的,原来我们做发动机电控,做ABS/ESC,做尾门控制器、座椅控制器,当时连尾门控制器、座椅控制器我们都做得不好,防夹算法、纹波算法我们都做得不是很好,但现在不一样了。

随着智能化的发展,包括域控制器,整个中国其实处于一个非常领先的地位。所以随着整个中国工具链,包括整个中国产业链的崛起,我觉得对于中国的整个的自主的工具链这块,软件工具链这块其实是一个极大的机会。但是这个软件的优势来自于哪里?是来自于整个智能化,像蔚来的龙平先生,他们也是从互联网来的,从手机行业来的,从消费品来的,所以中国有大量的软件工程师红利,有大量的软件工程师和硬件工程师红利,这样的话我们有极大的信心来去开发,或者说有极大的技术基础去开发这样的软件工具链,同样让我们有足够的市场试错空间。

这些机遇具体从哪来?

怿星科技成立于2014年,10年时间了,前5年我们基本上是做集成交付为主,从2020年开始我们自研相关的核心设备,所以我们基本上现在的核心设备的思路主要来自于这几点,怎么来去用好中国在这些方面的创新来去做好新一代的软件开发工具链,反过来,怎么用这些软件工具链来支持好中国在这些方面的创新。

首先的话就是复杂场景和数据,这个比较好理解,以自动驾驶为例,自动驾驶是典型的以数据驱动,以复杂场景为驱动的软件开发方式,跟传统的Model Base的完全不一样了,它是以数据驱动的方式来开发的。数据驱动的方式需要新的软件开发工具,这也是为什么我们开发了数据仿真注入系统来去做自动驾驶的开发。

第二个人工智能,主要来自于两方面的作用,第一方面的话当然是因为人工智能大模型等等带来的整个软件开发方式的区别。第二个的话就是人工智能在软件工具链方面的一个应用,我相信大家如果做软件开发的话,大家普遍已经在整个代码的生成的过程中用各种智能代码工具了,做代码的生成,做代码的检查等等,所以人工智能带来的软件开发以及软件开发方式方面的变革是非常大的。

第三个的话,今天讨论比较多的就是域控,包括整个的分布式架构,当然这个分布式架构的话,从现在的车内的分布式架构已经往车路云的分布式架构走了,其实大家刚才秀的博世那张图,其实最终的就是车路云的或者车云,当时其实博世没有考虑到路,车路协同的话其实是中国的概念,但是总体来讲,车云、端云之间的协同,分布式计算架构这块的话是未来的一个终局。

第四个的话是功能安全、信息安全给工具链带来的新需求。

第五个,是关于开发流程。大家讨论比较多的怎么来做好瀑布式跟敏捷开发的一个统筹。因为瀑布式的话其实就是V模型,我们大家比较熟悉V模型,但是从手机行业消费品行业,包括互联网行业带来的敏捷开发的方式,大型的网络软件,大型的这种软件管理方式,用敏捷开发的方式来驱动快速的迭代,这个的话其实跟瀑布式是表面上看是冲突的,实际上大家在实践过程中已经有一些非常好的经验了,我们所谓的大瀑布、小敏捷,大家已经在做相关的融合,但在工具链这块怎么来去做好大瀑布和小敏捷的一些结合,这个是非常重要的点。

第六个,开发方式。我们怎么去做好云原生,怎么去做好相关的一些容器化的部署,很多容器化的技术已经在我们的软件开发中在应用了。包括我们在整车架构中经常讨论的SOA的架构,相关的微服务,其实跟原来的云端部署的方式,包括容器化的方式其实是非常类似的。

第七个,是供应链生态,我们的软硬分离。软硬分离是一个很好的概念,软硬分离其实是两个概念层面的东西,第一个是供应链层面,供应链层面有做硬件的供应商,有做软件的供应商,这是完全从供应链层面说软硬分离。另外一个层面的话是技术层面,即使是同一家供应商做整个的域控的整个软件,从底层软件到中间件到上层应用层软件,其实也在做软硬分离。从供应链层面和技术层面的软硬分离也带来了对工具链的挑战。怎么来去服务好软硬分离的一个趋势?所以基于这些趋势的话,我们其实一直在努力地来去做好我们的软件工具链。

这是软件工具链整个现在国内的生态,这张图其实大家看到的不多,因为我们做工具链这块做了很久,但是很难找到国内对于工具链这块的整个生态的一个介绍,包括整个市场的介绍,我们把我们的友商也列上去了,国内在做软件工具的友商不多,当然左侧的Global玩家大家是比较熟悉,从 Vector、EB、Windriver、dSpace,这个是大家用的比较熟悉的,但在国内大家在做这方面的探索其实不多,所以我们呼吁大家关注国产的工具链。

一个好的趋势是,现在很多大的主机厂已经成立了国产工具链的一个小组,其实就是应对极端情况下的一些风险。说明大家正在关注国产工具链的重要性。我们最近接到了大量的主机厂,包括Tier1的邀请,来去跟他们探讨国产工具链,所以这里看到大家其实很多致远、经纬、昆易、同星,包括我们怿星等等,大家都在做这方面的探索,但是这个探索是极难的,工具链这块其实还是有很高的门槛,从性能、功能到一致性这块,包括易用性这块,大家都在探索,当然我们也得思考我们的优势在哪里?主要是研发团队在对国内的广大客户产生的新需求能够快速响应,所以刚才我说的那些专用测试仪,其实就是基于国内的客户的一些需求来去开发的专用测试仪,我们能够在很短的交付周期内完成这些产品的交付。

最后做个展望,其实国产工具链这块的话,我们探索了那么多年。这么多年下来,我们有一些对于趋势的展望。第一个就是合作,我们相信汽车供应链和各类的科技公司会产生大量的协作,来去支持研发工具链的创新,因为我们需要大量的软件和硬件的人才来去做好开发。然后市场份额上的转化,我们相信国产工具链肯定会崛起的,随着供应链的崛起。第三创新产品,国产工具链的崛起肯定是伴随着相关的一些特殊工具链的创新,而且创新的话都是基于场景化的,各种场景化的测试和开发的需求。第四行业标准,整个标准的建立才能帮助国产工具链的快速发展,大家分好工来去分别支持好相关的开发,然后做好互操作性。最后是生态,我们希望建立起这样一个健康的生态。

好,我的分享就到这里,谢谢大家。

相关文章:

怿星科技薛春宇丨智能汽车软件研发工具链国产化的挑战和探索

2024年7月25日,由上海良益企业管理咨询有限公司主办的“2024域控制器技术论坛“在上海成功举办,十位嘉宾做了精彩分享。“整零有道”将陆续刊出部分演讲的文字实录,以飨读者。 本期刊出怿星科技副总经理薛春宇的演讲实录:智能汽车…...

Flutter动画渐变

User experience is everything. One way to improve it is by making transitions between different UI elements smoother and more visually appealing. This is where the AnimatedCrossFade widget comes in handy. 用户体验就是一切。改善用户体验的方法之一就是让不同…...

Python毕业设计选题:基于Web学生会网站的设计与实现-django

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 系统首页界面 用户注册界面 用户登录界面 校内报道界面 品牌活动界面 个人中心界面 …...

如何选购高性价比百元头戴式耳机?六大选购技巧加性价比耳机推荐

在日益繁忙的生活中,头戴式耳机已成为许多人享受音乐、放松心情的重要工具。然而,市面上的头戴式耳机种类繁多,价格各异,如何选购高性价比百元头戴式耳机?成为了许多消费者的难题。为了帮助大家更好地做出选择&#xf…...

Java爬虫的京东“寻宝记”:揭秘商品类目信息

开篇:Java特工的神秘任务 在这个数据驱动的时代,我们就像一群特工,穿梭在数字的海洋中,寻找着隐藏的宝藏——商品类目信息。今天,我们将带领你一起,用Java这把精密的瑞士军刀,深入京东的神秘领…...

React前端框架

React 是一个用于构建用户界面的 JavaScript 库,由 Facebook 开发和维护。React 采用组件化的开发方式,使得开发者可以构建可复用的 UI 组件,从而提高开发效率和代码的可维护性。 React 的基本概念 组件:React 的核心概念是组件…...

React-query vs. 神秘新工具:前端开发的新较量

流畅的分页体验:AlovaJS的分页请求策略 在现代web应用中,分页是一个常见的功能需求。无论是浏览商品列表、查看文章集合,还是管理后台的数据表格,用户都需要一种高效且流畅的方式来浏览大量数据。然而,实现一个流畅且…...

TensorFlow面试整理-分布式

在深度学习的训练过程中,随着数据量和模型的复杂性增加,单个 GPU 或 CPU 无法满足高效训练的需求。TensorFlow 提供了强大的 分布式训练 功能,通过并行处理加速训练过程。分布式训练可以在多个 GPU、多个机器甚至是 TPU 上运行。以下是分布式训练的关键概念及其使用方法。 1…...

OceanBase 回收站机制详解

OceanBase 回收站机制详解 在 OceanBase 数据库中,回收站机制用于在执行 DROP 或 TRUNCATE 等操作后,临时保存被删除的对象,以便在需要时进行恢复。以下是对回收站机制的详细说明: 1. 不同租户对回收站的访问权限 SYS 租户 权…...

Java特工队:潜入京东,高效获取商品详情的绝密行动

在这个由代码和逻辑编织的电商世界里,京东商品详情就像是被锁在高塔中的神秘卷轴,等待着勇敢的Java特工队成员去解救。今天,我们要讲述的是如何装备你的Java代码装备,化身为一名编程界的特工,潜入京东的API网络&#x…...

车易泊相机 —— 智能车位管理的得力助手

在当今社会,停车问题日益成为城市管理和人们日常生活中的一大难题。寻找车位耗费时间、车位被非法占用、停车管理效率低下等问题层出不穷。然而,车易泊相机的出现,为车位管理带来了全新的解决方案。 一、车易泊相机的强大功能 车易泊相机是一…...

C++初阶(七)--类和对象(4)

目录 ​编辑 一、再谈构造函数 1.构造函数体赋值 2.初始化列表 二、类型转换 1.隐式类型转换 2.explicit关键字 3.类类型之间的对象隐式转换 三、static成员函数 1.概念 2.特性 3.面试题: 四、友元函数 1.基本介绍 2.回顾: 3.友元类&am…...

Python 爬虫的寻宝大冒险:如何捕获 API 数据的宝藏

在这个信息爆炸的数字时代,数据就像是隐藏在网络深处的宝藏,等待着勇敢的探险家去发现。今天,我们要讲述的是如何成为一名 Python 爬虫探险家,装备你的代码工具,深入 API 的迷宫,捕获那些珍贵的数据宝藏。 …...

电力物联网环境下的售电研究

泛在电力物联网打破了传统能源网络的壁垒,形成了能源共享、信息互通、数据开放的能源物联网。泛在电力物联网环境下,可再生能源接入更为容易。更加开放的能源接人、更加丰富的信息获取以及更加智能的电力设备,促进了电力市场的进一步开放。 …...

Oracle视频基础1.1.4练习

1.1.4 dbb,ddabcPMON,SMON,LGWR,CKPT,DBWna5,b4,c2,d3,e1ad,a,c,b,eOracle instance,Oracle databaseSGA,background processcontrol file,data file,online redo file 以下是一篇关于 Oracle 基础习题 1.1.4 的博客: Oracle 基础习题解析:1.1.4 本篇文…...

【水下生物数据集】 水下生物识别 深度学习 目标检测 机器视觉 yolo(含数据集)

一、背景意义 随着全球海洋生态环境的日益变化,水下生物的监测和保护变得愈发重要。水下生物种类繁多,包括螃蟹、鱼类、水母、虾、小鱼和海星等,它们在海洋生态系统中扮演着关键角色。传统的水下生物监测方法通常依赖于人工观察,效…...

【宠物狗狗数据集】 犬类品种识别 宠物狗检测 深度学习 目标检测(含数据集)

一、背景意义 随着人们对宠物狗的喜爱日益增加,犬种的多样性也逐渐受到重视。狗狗不仅是家庭的好伴侣,更在多个领域中发挥着重要作用,如导盲、搜救、疗愈等。因此,准确识别和分类各种犬种显得尤为重要。传统的犬种识别方法往往依赖…...

C语言中的数组并非指针:深入理解数组和指针的区别

前言 在C语言中,数组和指针是两个非常重要的概念,它们在很多方面有着紧密的联系,但也存在显著的区别。尽管数组名有时可以像指针那样使用,但它们本质上并不是一回事。理解这些差异对于编写正确和高效的代码至关重要。本文将深入探…...

Topaz Video AI for Mac 视频无损放大软件安装教程【保姆级,操作简单轻松上手】

Mac分享吧 文章目录 Topaz Video AI for Mac 视频无损放大软件 安装完成,软件打开效果一、Topaz Video AI 视频无损放大软件 Mac电脑版——v5.3.5⚠️注意事项:1️⃣:下载软件2️⃣:安装软件,将安装包从左侧拖入右侧文…...

虚函数和纯虚函数是 C++ 中实现多态性的关键概念

虚函数(Virtual Function) 定义:虚函数是在基类中使用 virtual 关键字声明的函数,目的是允许派生类重写该函数。用途:通过虚函数,基类指针或引用可以调用派生类中重写的函数,从而实现动态多态性…...

计算机网络IP地址分类,子网掩码,子网划分复习资料

IP 地址的概念 IP 地址是独立于硬件地址的逻辑地址,它是由软件提供的地址。 IP 地址是网络层地址。 IP 编址方案和分类 IP 地址由 32 位二进制数构成,分为前缀(网络地址)和后缀(主机地址) 同一网段中每台计算机的 IP 地址是唯一的网络地址的分配全球…...

LINUX下使用SQLite查看.db数据库文件

目录 1. 安装 SQLite 对于 Debian/Ubuntu 系统: 2.安装完成后操作 打开 SQLite 命令行工具并连接到数据库文件 查看表结构 查询表中的数据 执行其他 SQL 操作 3. 退出 SQLite 命令行工具 4. 使用图形化工具(可选) 总结 在 Linux 环…...

基于uniapp微信小程序的校园二手书交易系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...

性能测试中的操作系统参数优化

目录 以下是一些针对性能测试的操作系统优化建议 关闭不必要的服务和程序: 更新系统和驱动程序: 优化电源管理设置: 调整内存配置: 网络配置优化: 磁盘I/O优化: 内核参数调整: 安全软件…...

rabbitmq高级特性(2)TTL、死信/延迟队列、事务与消息分发

目录 1.TTL 1.1.设置消息过期时间 1.2.设置队列过期时间 2.死信队列 2.1.介绍 2.2.演示 3.延迟队列 3.1.模拟实现延迟队列 3.2.延迟队列插件 4.事务与消息分发 4.1.事务 4.2.消息分发 1.TTL 所谓的ttl,就是过期时间。对于rabbitmq,可以设置…...

了解一下,RN中怎么加载 threejs的

在React Native(RN)中加载和使用Three.js,一个流行的3D图形库,通常需要一些额外的步骤,因为Three.js主要是为Web浏览器设计的,而React Native则使用原生的渲染引擎。不过,有一些方法可以在React…...

笔记整理—linux驱动开发部分(1)驱动梗概

驱动可以分为广义上的和狭义上的驱动。广义上的驱动是用于操作硬件的代码,而狭义上的驱动为基于内核系统之上让硬件去被操作的逻辑方法。 linux体系架构: 1.分层思想 :在OS中间还会有许多层。 : 2.驱动的上面是系统调用(API&…...

金融领域中的敏感性分析和期权价值计算相关的操作

代码主要进行了金融领域中的敏感性分析和期权价值计算相关的操作。首先通过一系列方程求解S3和S2的值,然后基于这些值以及给定的参数计算一些中间变量(a1、a2、a3、b1、b2、b3),最后利用多元正态分布函数(mvncdf)和一元正态分布函数(normcdf)计算期权价值C、净现值(NP…...

GraphQL系列 - 第1讲 GraphQL语法入门

目录 一、介绍GraphQL二、GraphQL基本使用方法三、Schema 定义语言 (SDL)3.1 类型定义1)对象类型2)标量类型3)枚举类型4)输入类型5)列表类型6)非空类型7)接口类型8)联合类型 3.2 查询…...

015:地理信息系统开发平台ArcGIS Engine10.2与ArcGIS SDK for the Microsoft .NET Framework安装教程

摘要:本文详细介绍地理信息系统开发平台ArcGIS Engine10.2与ArcGIS SDK for the Microsoft .NET Framework的安装流程。 一、软件介绍 ArcGIS Engine 10.2是由Esri公司开发的一款强大的GIS(地理信息系统)开发平台。该软件基于ArcGIS 10.2 fo…...

redis wordpress 内存/网站seo方法

什么是爬虫?网络爬虫(Web crawler),就是通过网址获得网络中的数据、然后根据目标解析数据、存储目标信息。这个过程可以自动化程序实现,行为类似一个蜘蛛。蜘蛛在互联网上爬行,一个一个网页就是蜘蛛网。这样蜘蛛可以通过一个网页爬…...

做相关性分析的网站/模板建站哪个平台好

java无效的发行源Java PureFaces团队宣布该项目源代码现已可用。 Java PureFaces是JavaServer Faces(JSF)的Web开发扩展,它使用JSF框架创建使用纯Java代码开发Web应用程序的API,而无需创建多个静态JSP模板。 翻译自: https://ja…...

上虞中国建设银行官网站/百度公司

作为一名工程师,一名做技术的工程师,NUMA也是我的近期工作重点之一。在工作时间,在茶余饭后,也看了些NUMA的资料,学习了英特尔下一代Xeon处理器。这里就是我的一点小结,一点心得,和感兴趣的朋友…...

买模板做网站/百度网站大全首页

这问题我会先自我介绍一下,我是十五年工作经验的程序员,但很不好意思,今年(2020年)二月份才接触linux,到现在为止(2020年11月),已经在公司内部的布署了多套linux下的应用与解决方案,并负责这些服务器的运维,我觉得我有资格回答你的问题.以下是我的回答:1.安装linux,不推荐使用虚…...

影视自助建站官网/seo推广软

Weblogic是什么Weblogic的安装Weblogic创建域Weblogic管理域Weblogic的应用Weblogic是什么Weblogic这是我入职以后第一次接触到的词汇,我很陌生,就从我的角度来讲,我需要知道Weblogic是什么、干吗用的,然后才继续深入的学习怎么使…...

盐田区住房和建设局网站/西安计算机培训机构哪个最好

Vue3.2 新特性之 —— Web Components1. 聊聊 Web Components2. Vue 3.2 新特性之 —— web components2.1 defineCustomElement2.1.1 生命周期2.1.2 props2.1.3 事件2.1.4 插槽2.1.5 Provide/Injection2.2 使用单文件组件创建 web component3. 用 vue 创建自定义元素库的注意点…...