《Unity Shader 入门精要》第2章 渲染流水线
第2章 渲染流水线
2.1 什么是渲染流水线
渲染流水线的工作在于由一个三维场景出发,生成一张二维图像。换句话说,计算机需要从一系列的顶点数据、纹理等信息出发,把这些信息最终转换成一张肉眼可见的图像,而这个过程通常由CPU
与GPU
共同完成。
《Render-Time Rendering, Third Edition》一书中将一个渲染流程分成3个阶段:应用阶段(Application Stage)
、几何阶段(Geometry Stage)
、光栅化阶段(Rasterizer Stage)
。注意,这里仅仅是概念性阶段,每个阶段本身通常也是一个流水线系统,即包含了子流水线阶段。
应用阶段
这个阶段是由我们的应用主导的,因此通常由 CPU 负责实现,开发者具有这个阶段的绝对控制权。
在此阶段,开发者主要有3个任务:
- 首先,我们需要准备好场景数据,比如摄像机位置、视锥体、光源等信息
- 其次,为了提高渲染效率,我们往往需要一个粗粒度
剔除(culling)
工作,以剔除不可见的物体 - 最后,我们需要设置好每个模型的渲染状态,这些渲染状态包括不限于它使用的材质、纹理、shader 等
这一阶段最重要的输出是渲染所需的几何信息,即渲染图元(rendering primitives)
,这些渲染图元将会被传递到下一阶段–几何阶段。
几何阶段
几何阶段负责和每个渲染图元打交道,进行逐定点、逐多边形的操作,决定需要绘制的图元是什么、怎样绘制它们、在哪里绘制它们,此阶段通常在 GPU 上进行。
几何阶段的重要任务就是把顶点坐标转换至屏幕空间中,再交由光栅期进行处理。
光栅化阶段
这一阶段将使用几何阶段传递来的信息来产生屏幕上的像素,并渲染出最终的图像,这一阶段也是在 GPU 中进行的。
光栅化阶段的主要任务是决定每个图元中的哪些像素应该被绘制在屏幕上。
2.2 CPU 与 GPU 之间的通信
应用阶段大致可分为3个阶段:
- 把数据加载到显存中
- 设置渲染状态
- 调用
Draw Call
命令
把数据加载至显存
所有渲染所需的数据都需要从硬盘加载到系统内存(Random Access Memory, RAM)
中,然后网格和纹理等数据又被加载在显存(Video Random Access Memory, VRAM)
中,因为显卡对显存的访问速度最快,而且大多数显卡对于 RAM 没有直接访问权限。
设置渲染状态
什么是渲染状态?通俗的讲,这些状态定义了场景中的网格是怎样被渲染的,比如使用了哪个顶点着色器(Vertex Shader)
、 片元着色器(Fragment Shader)
、光源属性、材质等。
在完成上述工作后,CPU 就需要调用渲染命令来通知 GPU,这个命令就是 Draw Call
。
Draw Call
Draw Call 就是一个命令,它的发起方是 CPU,接收方是 GPU,这个命令仅仅指向一个需要被渲染的图元列表。当给定一个 Draw Call 时,GPU 会根据渲染状态(材质、纹理、着色器等)和顶点数据来进行计算,最终输出成屏幕上显示的像素。这个计算过程,就是我们接下来要讲的 GPU 流水线。
2.3 GPU 流水线
概述
对于几何阶段和光栅化阶段,开发者无法拥有绝对的控制权,它们被分为若干更小的流水线阶段,这些流水线阶段由 GPU 来实现,每个阶段 GPU 提供了不同的可配置性和可编程性:
- 顶点着色器(Vertex Shader)是完全可编程的,它通常用于实现顶点的空间变换、顶点着色等功能。
- 曲面细分着色器(Tessellation Shader)是一个可选的着色器,用于细分图元。
- 几何着色器(Geometry Shader)是一个可选着色器,它可以被用于执行逐图元的着色操作,或者被用于产生更多的图元。
- 裁剪(Clipping)的目的是将那些不在摄像机视野内的顶点裁剪掉,并剔除某些三角图元的面片。这个阶段是可配置的,比如我们可以使用自定义的裁剪平面来配置裁剪区域。
- 屏幕映射(Screen Mapping)是不可配置和编程的,它负责把每个图元坐标转换至屏幕坐标。
顶点着色器
顶点着色器的处理单位是顶点,输入的每个顶点都会调用一次顶点着色器。顶点着色器无法创建或销毁任何顶点,并且其无法知道顶点之间的关系,但正因为这样的相互独立性,GPU 可以快速的并行处理这些顶点数据。
顶点着色器需要完成的主要工作有:坐标转换和逐顶点光照。
顶点着色器可以改变顶点的位置,这在顶点动画中非常有用,比如我们可以通过改变顶点位置来模拟水面和布料。
需要注意的,无论我们在顶点着色器中如何改变顶点位置,一个最基本的顶点着色器需要完成的工作是,把顶点坐标从模型空间转换至齐次裁剪空间。我们经常内在顶点着色器中看到如下代码:
o.pos = mul(UNITY_MVP, v.position);
类似的代码功能,就是把顶点坐标转换到齐次裁剪坐标系,接着通常再由硬件做透视除法后,最终得到归一化的设备坐标(Normalized Device Coordinates, NDC)
。
裁剪
一个图元和摄像机视野的关系有3种:完全在视野内、部分在视野内、完全在视野外,完全在视野内的图元继续传递给下一个流水线阶段,完全在视野外的不会继续向下传递,部分在视野内的图元需要进行一个处理,这就是裁剪。
由于我们已知在 NDC 下的顶点位置,即顶点位置在一个立方体,因此裁剪就变得很简单,只需要将图元裁剪到单位立方体内。
我们无法通过编程来控制裁剪过程,这是硬件上的固定操作,但我们可以自定义一个裁剪操作来对这一步进行配置。
屏幕映射
这一步输入的坐标仍是三维坐标系下的坐标(范围在单位立方体内),屏幕映射的任务是把每个图元的 x 和 y 坐标转换为屏幕坐标系下。屏幕坐标系是一个二维坐标系,它和我们用于显示画面的分辨率有很大关系。
屏幕映射不会对输入的 z 坐标做任何处理,实际上,屏幕坐标系和 z 坐标一起构成了一个新坐标系,叫做窗口坐标系(Window Coordinats)
,这些值会被传递到光栅化阶段。
三角形设置
光栅化阶段的第一个流水线阶段是三角形设置(Triangel Setup)
,这个阶段会计算光栅化一个三角网格所需的信息。
具体来说,上一个阶段输出的是三角网格的顶点,但如果要得到整个三角网格对像素的覆盖情况,我们就必须计算每条边上的像素坐标。为了能够计算边界像素的坐标信息,我们就需要得到三角形边界的表示方式。这样一个计算三角网格表示数据的过程就叫做三角形设置。
三角形遍历
三角形遍历(Trangle Traversal)
将检查每个像素是否被一个三角网格所覆盖,如果被覆盖则会生成一个片元(fragment)
。此阶段也被称为扫描遍历(Scan Conversion)
。
三角形遍历会根据上一个阶段的计算结果来判断一个三角网格覆盖了哪些像素,并且使用三角网格3个顶点的顶点信息对覆盖的像素进行插值计算。
这一步的输出是一个片元序列,需要注意的是,一个片元并不是真正的像素,而是包含了很多状态的集合,这些状态用于计算每个像素的最终颜色。这些状态包括了(但不限于)它的屏幕坐标、深度信息,以及其他从几何阶段输出的顶点信息,例如法线、纹理坐标等。
片元着色器
片元着色器是另一个非常重要的可编程着色器阶段。
前面的光栅化阶段实际上并不影响屏幕上每个像素的颜色值,而是会产生一系列的数据信息,用来表述一个三角网格是怎样覆盖每个像素的,而每个片元就负责存储这样的一系列数据。
片元着色器的输入是上一阶段对顶点信息插值得到的结果,输出是一个或多个颜色值。这一阶段可以实现很多重要的渲染技术,其中最重要的技术之一就是纹理采样。为了在片元着色器中进行纹理采样,我们通常会在顶点着色器输出每个顶点对应的纹理坐标,然后经过光栅化阶段对三角网格的3个顶点对应的纹理坐标进行差值后,就可以得到其覆盖的片元的纹理坐标了。
虽然片元着色器可以完成很多重要效果,但它的局限性在于它仅能影响单个片元。
逐片元操作
这一阶段有几个主要任务:
- 决定每个片元的可见性,这涉及很多测试工作,例如
深度测试
、模版测试
- 如果一个片元通过了所有测试,就需要将这个片元的颜色值和已经存储在颜色缓冲区的颜色进行合并,或者说混合。
逐片元操作是高度可配置性的,即我们可以设置每一步的操作细节。
我们先来看模版测试(Stencil Test)
。如果开启了模版测试,GPU 会首先读取(使用读取掩码)模版缓冲区中该片元位置的模版值,然后将该值和读取(使用读取掩码)到的参考值进行比较来决定这个片元是否被舍弃,这个比较函数可以由开发者指定。不管一个片元有没有通过模版测试,我们都可以根据测试结果来修改模版缓冲区,这个修改操作也是由开发者指定的。
如果片元通过了模板测试,那么它将进行下一个测试–深度测试(Depth Test)
。这个测试同样是可以高度配置的。如果开启了深度测试,GPU 也会把该片元的深度值和已经存在于深度缓冲区的深度值做比较,以确定是否舍弃该片元,这个比较函数也可以由开发者设置。和模版测试不同的是,如果一个片元没有通过深度测试,它就没有权利更改深度缓冲区中的值;如果它通过了测试,开发者可以指定是否用这个深度值覆盖原有的深度值,这是通过开启/关闭深度写入来设置的。
如果一个片元通过了上面的所有测试,它就自豪地来到了合并
功能前。
为什么需要合并?我们知道,渲染过程是将一个个物体依次画到屏幕上,每个像素的颜色信息被存储在一个名为颜色缓冲区的地方。当我们执行渲染时,颜色缓冲区中通常已经有了上次渲染的颜色结果,那么我们要怎么使用之前的颜色值,便是合并需要解决的问题。下面是一个简化版的混合操作流程图:
混合操作是高度配置的,开发者可以选择开启或关闭混合功能。如果没有开启混合功能,就会直接使用片元的颜色覆盖掉缓冲区中的颜色;如果开启了混合,GPU 会使用一个混合函数将源颜色(片元的颜色值)和目标颜色(缓冲区中的颜色值)进行混合,这个混合函数可以通过设置混合模式来进行选择配置。
上面的测试顺序并不是唯一的,虽然从逻辑上这些测试是在片元着色器之后进行的,但对于大多数 GPU 来说,它们会尽可能在片元着色器之前进行这些测试。这是可以理解的,当 GPU 在片元着色器花了很大力气计算出了片元的颜色,最终却发现这个片元没有经过测试被舍弃,那么之前的计算成本都被浪费了,作为一个想充分提升性能的 GPU,它会希望尽早知道哪些片元是被舍弃的。
在 Unity 给出的渲染管线中,我们可以发现它给出的深度测试在片元着色器之前,这种技术通常被称为 Early-Z
技术。
但是如果将这些测试提前的话,其检测结果可能会与片元着色器中的一些操作冲突(比如片元着色器中的透明度测试),因此现代 GPU 会判断片元着色器中的操作是否和提前测试冲突,如果有冲突,则会禁用提前测试,但这样会导致性能下降。
当模型的图元经过了上面层层计算和测试后,就会显示到我们的屏幕上。我们的屏幕显示的就是颜色缓冲区中的颜色值。但是,为了避免我们看到那些正在进行光栅化的图元,GPU会使用双重缓冲(Double Buffering)
的策略。这意味着,对场景的渲染是在幕后发生的,即在后置缓冲(Back Buffer)
中。一旦场景已经被渲染到了后置缓冲中,GPU就会交换后置缓冲区和前置缓冲(Front Buffer)
中的内容,而前置缓冲区是之前显示在屏幕上的图像。由此,保证了我们看到的图像总是连续的。
总结
虽然渲染流水线比较复杂,但Unity作为一个非常出色的平台为我们封装了很多功能。更多时候,我们只需要在一个 Unity Shader 设置一些输入、编写顶点着色器和片元着色器、设置一些状态就可以达到大部分常见的屏幕效果。这是 Unity Shader 吸引人的魅力之处,但这样的缺点在于,封装性会导致编程自由度下降,使很多初学者迷失方向,无法掌握其背后的原理,并在出现问题时,往往无法找到错误原因,这是在学习 Unity Shader 时普遍的遭遇。
2.4 一些容易困惑的地方
什么是 OpenGL/DirectX?
开发者要进行渲染管线的相关开发,如果直接访问 GPU 是一件非常麻烦的事情,我们可能需要和各种寄存器、显存打交道,为了简化这个过程,图像编程接口应运而生。图像编程接口在硬件的基础上实现了一层抽象,可以更方便地渲染二维或三维图像,这些接口架起了上层应用和底层 GPU 的沟通桥梁,而 OpenGL、DirectX 就是最流行的两种图像编程接口。
概括来说,我们的程序运行在 GPU 上,应用程序可以通过图形接口将渲染需要的数据,如顶点数据、纹理数据、材质参数等数据存在显存里,然后调用 Draw Call 渲染命令让 GPU 进行绘制。
从显卡的角度看,它只需要和显卡驱动打交道就行了,而显卡驱动负责和图像编程接口以及 GPU 打交道,因此一个显卡制作商为了让他的显卡同时支持 OpenGL 和 DirectX,就必须提供支持这两种接口的显卡驱动。
什么是 HLSL、GLSL、CG
在可编程管线出现之前,为了编写着色器代码,开发者们必须使用汇编语言。为了给开发者们打开更方便的大门,就出现了更高级的着色语言(Shading Language)
。着色语言是专门用于编写着色器的,常见的着色语言有DirectX 的HLSL(High Level Shading Language)
、OpenGL 的GLSL(OpenGL Shading Language)
以及 NVIDIA 的CG(C for Graphic)
。HLSL、GLSL、CG都是高级(High-Level)语言
,但这种高级是相对于汇编语言来说的,而不是像 C# 相对于 C 的高级那样。这些语言会被编译成与机器无关的汇编语言,也被称为中间语言(Intermediate Language,IL)
。这些中间语言再交给显卡驱动来翻译成真正的机器语言,即 GPU 可以理解的语言。
GLSL 的优点在于它的跨平台性,它可以在Windows、Linux、Mac 甚至移动平台等多种平台上工作,但这种跨平台性是由于 OpenGL 没有提供着色器编译器,而是由显卡驱动来完成着色器的编译工作。也就是说,只要显卡驱动支持对 GLSL 的编译它就可以运行。这种做法的好处在于,由于供应商完全了解自己的硬件构造,他们知道怎样做可以发挥出最大的作用。换句话说,GLSL 是依赖硬件,而非操作系统层级的。但这也意味着 GLSL 的编译结果将取决于硬件供应商。要知道,世界上有很多硬件供应商——NVIDIA、ATI等,他们对GLSL的编译实现不尽相同,这可能会造成编译结果不一致的情况,因为这完全取决于供应商的做法。
而对于 HLSL,是由微软控制着色器的编译,就算使用了不同的硬件,同一个着色器的编译结果也是一样的。但因为其他平台上没有可以编译 HLSL 的编译器, 所以支持 HLSL 的平台相对比较有限,几乎完全是微软自已的产品,如 Windows、Xbox 360、PS3 等。
Cg 则是真正意义上的跨平台。它会根据平台的不同,编译成相应的中间语言。Cg 语言的跨平台性很大原因取决于与微软的合作,这也导致 CG 语言的语法和 HLSL 非常相像,Cg 语言可以无缝移植成 HLSL 代码,但缺点是可能无法完全发挥出 OpenGL 的最新特性。
对于Unity平台,我们同样可以选择使用哪种语言。在 Unity Shader 中,我们可以选择使用Cg/HLSL
或者GLSL
。但需要注意的是Unity里的这些着色语言并不是真正意义上的对应的着色语言,尽管它们的语法几乎一样,但有极少部分语法是不支持的。
什么是 Draw Call
在前面的章节中,我们已经了解了Draw Call 的含义。Draw Call本身的含义很简单,就是 CPU 调用图像编程接口,以命令 GPU 进行渲染的操作。一个常见的误区是认为 Draw Call 中造成性能问题的元凶是 GPU, 认为 GPU 上的状态切换是耗时的,其实不然,真正拖后腿的其实是 CPU。在深入 Draw Call 前,我们需要了解 CPU 与 GPU 是如何并行工作的。
CPU 和 GPU 是如何并行工作的
CPU 和 GPU 是通过一个命令缓冲区(Command Buffer)
来并行工作的。命令缓冲区包含了一个命令队列,由CPU向其中添加命令,而由GPU从中读取命令,添加和读取的过程是互相独立的。命令缓冲区中的命令有很多种类,而 Draw Call 是其中一种,其他命令还有改变渲染状态等(例如改变使用的着色器,使用不同的纹理等)。
为什么 Draw Call 多了会影响帧率
在每次调用 Draw Call 之前,CPU 需要向 GPU 发送很多内容,包括数据、状态和命令等。在这一阶段,CPU需要完成很多工作,例如检查渲染状态等。而一旦 CPU 完成了这些准备工作,GPU 就可以开始本次的渲染。GPU 的渲染能力是很强的,渲染200个还是2000个三角网格通常没有什么区别,因此渲染速度往往快于 CPU 提交命令的速度。如果 Draw Call 的数量太多,CPU 就会把大量时间花费在提交 Draw Call 上,造成CPU的过载。
如何减少 Draw Call
尽管减少 Draw Call 的方法有很多,但我们这里仅讨论使用批处理(Batching)
的方法。
我们讲过,提交大量很小的 Draw Call 会造成 CPU 的性能瓶颈,即 CPU 把时间都花费在准备 Draw Call 的工作上了。那么,一个很显然的优化想法就是把很多小的 Draw Call 合并成一个大的 Draw Call,这就是批处理的思想。
需要注意的是,由于我们需要在 CPU 的内存中合并网格,而合并的过程是需要消耗时间的。因此,批处理技术更加适合于那些静态的物体,例如不会移动的大地、石头等,对于这些静态物体我们只需要合并一次即可。当然,我们也可以对动态物体进行批处理。但是,由于这些物体是不断运动的,因此每一帧都需要重新进行合并然后再发送给 GPU,这对空间和时间都会造成一定的影响。
利用批处理,CPU 在 RAM 把多个网格合并成一个更大的网格,再发送给 GPU,然后在一个 Draw Call 中渲染它们。但要注意的是,使用批处理合并的网格将会使用同一种渲染状态,如果网格之间需要使用不同的渲染状态,那么就无法使用批处理技术。
在游戏开发过程中,为了减少Draw Call的开销,有两点需要注意:
- 避免使用大量很小的网格。当不可避免地需要使用很小的网格结构时,考虑是否可以合并它们。
- 避免使用过多的材质。尽量在不同的网格之间共用同一个材质。
什么是固定管线渲染
固定函数的流水线(Fixed-Function Pipeline)
,也简称为固定管线,通常是指在较旧的GPU上实现的渲染流水线。这种流水线只给开发者提供一些配置操作,但开发者没有对流水线阶段的完全控制权。随着时代的发展,GPU 流水线越来越朝着更高的灵活性和可控性方向发展,可编程渲染管线应运而生,固定管线已逐渐退出历史舞台。如果读者不是为了对较旧的设备进行兼容,不建议继续使用固定管线的渲染方式。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4497769.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!
Drudi查询语句
1.1:查询组件介绍 在介绍具体的查询之前,我们先来了解一下各种查询都会用到的基本组件,如Filter,Aggregator,Post-Aggregator,Query,Interval等,每种组件都包含很多的细节 1.1.1 Filter Filter就是过滤器,在查询语句…...

RecSys2021反事实评估学习教程
Counterfactual Learning and Evaluation for Recommender Systems: Foundations, Implementations, and Recent Advances ABSTRACT 反事实评估器允许我们使用现存的日志数据来评估当我们使用新的目标推荐策略来替换之前的策略时候会如何表现。我们称这些评估器以“异策略&am…...

CobaltStrike木马免杀代码篇之python反序列化分离免杀(一)
前言 本篇文章主要用到python来对CobaltStrike生成的Shellcode进行分离免杀处理, 因此要求读者要有一定的python基础, 下面我会介绍pyhon反序列化免杀所需用到的相关函数和库 exec函数 exec函数是python的内置函数, 其功能与eval()函数相同, 但不同的是exec函数支持多行pyth…...

系统集成项目管理工程师考试英语词汇表
系统集成项目管理工程师考试会涉及到一些专业英语词汇,为考生整理了系统集成项目管理工程师考试英语词汇表,赶紧来看下吧!...

python3错误:使用python3执行.py文件遇到:*ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found
使用python3执行.py文件遇到:ImportError: /lib64/libstdc.so.6: version CXXABI_1.3.9’ not found(required by /home/hongqiang/anaconda3/lib/python3.6/site-packages/matplotlib/_path.cpython-36m-x86_64-linux-gnu.so) libstdc.so.6在系统中存在于 /usr/li…...

python 在原来json文件里修改value
import json import os, sys# 数据所在的路径 path D:\clip_out\clip\clip JsonName os.listdir(path) # 读取path下的目录名,包含扩展名for i in range(len(JsonName)):# 读取‘读取路径’下的目录名,包含扩展名qianzui os.path.splitext(JsonName[…...

后台开发分类(不全面)
后台开发分类:这位做了一个思维导图看起来很清晰,但不是很全面,我还是收藏一枚。 这里列举的后台技术,所有是我工作中所有的要点,并进行了简单的归类,如果你有更好的归类方式,欢迎提出。 我想其…...

Android Studio 学生课程签到系统
目录 一、登录界面 二、新用户注册界面 三、忘记密码界面 四、用户信息界面 五、课程签到界面 学生签到系统通过账号密码登录,如果没有账号可以通过注册来创建一个新用户,如果是忘记了密码也可以通过忘记密码来找回密码(因为这个系统我没有…...

c#十二星座速配系统_GitHub - 6tail/lunar-csharp: 无第三方依赖的公历(阳历)和农历(阴历、老黄历)工具,支持节假日、星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜
lunar lunar是一款无第三方依赖的公历(阳历)和农历(阴历、老黄历)工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋凶煞宜忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、…...

python猜拳代码_猜拳代码python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 对于一个初级学习python的人,这将是一个非常简单而有趣的内容; 代码非常简单&#x…...

html5 flow chart,Qunee for HTML5
Provide Web graphic solutionsMaps - metro map、statistic mapQunee provides a great many vector graphs, and displays point data and wiring data and it applies to metro and pipeline applicationQunee supports roaming interaction, infinite zoom and unlimited c...

MySQL相关小目录
mysql默认情况下,安装到/usr/local,相关小目录如下介绍: bin:客户端程序和脚本include/mysql:包含头文件info:Info格式的文档lib/mysql:库libexec:mysqld服务器share/mysql:错误消息文件sql-bench:基准程序和crash-me测试var:数据库和日志文…...

基于Keras的深度学习程序开发-MNIST with Keras Sequential应用
基于Keras的深度学习程序开发-MNIST with Keras & Sequential应用MNIST with Keras1. 导入库函数2. 设置参数3. 加载数据集4. 数据预处理5. 模型构建6. 模型编译7. 模型训练8. 模型评估9. 模型预测MNIST with Keras 1. 导入库函数 from tensorflow import keras from ten…...

xp显示rpc服务器不可用,XP系统如何解决RPC服务器不可用?
使用打印机或其他操作安装计算机时,它会提示RPC服务器不可用。很多人都会遇到这个问题。 许多朋友可能不了解RPC,他们不知道如何解决它。当用户在WinXP系统计算机上运行时,RPC服务器不可用该怎么办?让我们来看看WinXP系统RPC服务器…...

嵌入式有哪些发展方向?
想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。最近几年经过移动互联网、物联网的高速发展,嵌入式技术在我们生活中随处可见,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的角色;随着对嵌入式产品需求的增加&#…...

Unity学习笔记 解决Cinemachine AutoDolly的虚拟相机在轨道上不按轨道前进方向运动的问题
问题 在使用Cinemachine提供的Tracked Dolly来做路径运动时,若绘制的轨道有交错或者相对接近的地方,可能会出现摄像机没有按照轨道前进的方向实时移动而跳回到了原来的轨道上的情况。 解决方案 涉及到这个情况的原因是在虚拟相机的Body中,…...
2017智慧医疗与安防产业发展研讨会圆满落幕
2017智慧医疗与安防产业发展研讨会圆满落幕 当前,智能化的创新技术趋势,正在席卷着人们生活的方方面面。安防及医疗作为保障人们安全、健康的生活方式不可或缺的几大重要领域,也正在面临智能化的创新升级,这使得诸多新兴技术在这…...

培训python有哪些
最近很多人问我,零基础能学习Python吗?我的回答是可以的,因为很多程序员都不是计算机相关专业的,都是从零开始的,只不过对于一个初学者来说,编程语言到底该学什么语言,这是一个值得思考的问题&a…...

关于 AI 边云协同解决方案的研究与讨论
前言 随着科学技术在各行各业的迭代升级,AI 云边协同解决方案在以新生态的形式遍地开花,大大助力了各行各业的发展,提升了绝大多数行业的问题解决能力。特别是 IOT,作为行业数字化转型的趋势,IOT 的行业应用场景多样化…...

java类职称类型_Java
【单选题】以下运行符中属三元运算符的是?( )【简答题】简答题的互评作业【单选题】下列程序执行后, z的值是() int x3,y4,z0; switch (x%y2) { case :0; zx*y; break; case :6; zx/y; break; case :12; zx-y; break; default: zx*y-x; }【其它】请同学们做一个幻灯片,上传到“…...

数字音乐版权的保护问题
随着科技的进步,互联网传播已经成为了文化传播的新模式。音乐的载体也变得多种多样,从过去的磁带、光盘发展到了今天的数字音乐。音乐的数字化给人们带来了便利,也确定数字音乐在行业领域中的重要地位,但同时也出现了很多数字音乐…...

Centos系统调优
工作中经常遇到系统瓶颈,需要调整相应参数来解决,以下是我整理出来的,希望对大家有所帮助 一、系统日志报错 1、nf_conntrack: table full, dropping packet 连接跟踪表溢出 连接跟踪表nf_conntrack,Linux为每个经过内核网络栈的…...

2021-09-29 wget命令的使用
wget专注于下载文件 在centos系统下演示,一般系统自带,无需安装wget 下载文件 以服务器名称下载 wget httpbin.org/image/jpeg以自定义名称下载 wget -O xx.png httpbin.org/image/png限定速度 –limit-rate200k 断点续传 -c 后台下载 -b 用户…...

国产银河麒麟系统部署Redis、Nginx分享
前提需知: 银河麒麟系统国产机不能解压安装,需要用rpm安装包。使用命令安装:npm -i. 常用命令: pm -q(query)软件包查询功能 例如:rpm -q jdk 或者 rpm -qa jdk rpm -i(install)软件包安装功能 例如:rpm -…...

基于扩展卡尔曼滤波的slam
Kalman Filter: Extended Kalman Filter: Choose an initial estimate X^0∣0\hat{X}_{0 \mid 0}X^0∣0 and uncertainty matrix P0∣0P_{0 \mid 0}P0∣0. Define Fn,GnF_{n}, G_{n}Fn,Gn, and HnH_{n}Hn : en∣n−1Fnen−1∣n−1GnwnYn−b…...

Spring5框架——IOC控制反转
1、什么是 IOC (1)控制反转:把对象创建和对象之间的调用过程,交给 Spring 进行管理。换句话说,使用对象时,由主动new产生对象转换成,从外部提供对象,在这个过程中,对象的…...

JDK安装与配置的分享。
前言,JDK的意思是java development kit的缩写,全称java开发数据包,它是作用于一些移动设备的java程序里面。里面是包含了开发,运行环境,工具包等。 接下来我将介绍一下JDK的安装和配置! 1.GDK的安装&#…...

用C语言实现输出乘法口诀表(可自行决定输出的行数和列数)
打印乘法口诀表 例如打印以下乘法口诀表: 1*11 1*22 2*24 1*33 2*36 3*39 … 代码如下: void Mult_table(int m) {int i, j;for (i 1; i < m; i) //i用来控制行数{for (j 1; j < i; j) //j用来控制列数{printf("%d * %d %-4d", j, i, j * i)…...

Javaweb免费RDP报表工具常用函数的用法总结
说明: $F{} 为报表处理数据的字符标识格式。在存储该标识时才对字符进行数据集转化。 其中函数、表达式和操作符(、-、、、大于、小于、(、) 、AND、OR、NOT、),可以联合使用。 1.数据集函数 a).select 参数&…...

linux学习-设备树
设备树 一,格式 label:node-nameunit-address 二,标准属性 1.compatible属性 格式:“manufacturer,model”厂商,驱动名字 根节点的compatible属性是为了匹配linux内核是否支持此设备 2.model属性 model也是一个…...

理发店收银系统php,理发店收银系统优缺点
理发店收银系统优缺点【点击图片进入下一页】【riskbluetitle.com】上一篇,许多个人电脑上很少有,***次看看的时候,是特别不想写下去的,但是几乎总会有一些回帖。如果自己有准备以后自己动手制作自己的软件,就点击“di…...

计算机毕业设计Java企业人事管理系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java企业人事管理系统(源码系统mysql数据库lw文档) 计算机毕业设计Java企业人事管理系统(源码系统mysql数据库lw文档)本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软件:idea e…...

docker配置java环境(dockerfile方式)
1、安装包准备 准备Centos镜像: jdk和tomcat压缩包: 2、构建容器 2.1、编写构建文件 在存放安装包的目录下创建构建文件: vi Dockerfile在Dockerfile添加以下代码: #依赖镜像名称和ID FROM daocloud.io/library/centos:6.…...

跨域资源共享CORS漏洞
0x01 漏洞简介 跨域资源共享(CORS)是一种放宽同源策略的机制,它允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX 只能同源使用的限制,以使不同的网站可以跨域获取数据,目前已经被绝大多数浏览器支持…...

css中盒子的属性,css盒子模型及属性介绍
盒子模型块元素(盒子)搭建网页结构1.特点:1)独占一行空间2)默认宽度为100%(占满父元素)3)高度默认为0,如果有子元素,父元素高度由子元素决定4)宽度和高度可以改变,通过width/height2.概念1)宽度 width2)高度 height3)外边距 margi…...

从云原生到智能化,深度解读行业首个「视频直播技术最佳实践图谱」
在2022阿里云直播峰会上,多位直播产业领域技术专家与行业先行者,共同探讨超视频化时代视频直播技术的演进趋势与未来发展。会上,阿里云重磅发布了行业首个「视频直播技术最佳实践图谱」,将直播技术归纳总结为7点:云原生…...

pxe启动工具tftpd32
pxe启动工具tftpd32tftpd32.exe,一个绿色的自由软件,用dhcp, tftp sever等5个服务器功能可以很方便得用来网络启动机器。解压缩就可以用, 启动目录下的dos.ima是一个启动镜像。你可以把任意启动镜像放进去,然后改成dos.ima就可以用…...

第9章 方差分析
使用R语言进行单(双)因素方差分析 9.1 先了解一些术语 方差分析: ANOVA, 协方差分析:ANCOVA (analysis of covariance ), 多元方差分析: muti-variate ANOVA, 多元协方差分析&…...

未来的量子计算机算圆周率吗,圆周率的诡异现象,圆周率算尽了会怎么样
圆周率的诡异现象很多科学家都认为,圆周率中或许包含着整个宇宙的终极密码,通过对圆周率的研究,我们就可以揭开整个宇宙的真相,而且圆周率还可能存在“预言”的能力,比方说我们通过数字分析,就可以推测出未…...

iphone计算机怎样打开声音,mac系统启动的时候咚声音怎么开启或关闭?
MAC在启动的时候默认会发出“咚”的声音,怎么关闭启动音“咚”呢?而在2016款的 MacBook Pro 上苹果默认禁用了这个开机的声音,那么又怎么恢复呢?软件名称:AutoMute for Mac V1.4 苹果电脑版软件大小:1.62MB…...

【ACWing】618. 燃料消耗
题目地址: https://www.acwing.com/problem/content/620/ 一辆汽车每行驶121212公里需要消耗111升汽油,现在告诉你该汽车的行驶速度SSS(km/hkm/hkm/h)和行驶时间TTT(hhh),请你计算该车在行驶过…...

计算机原理
计算机大部分都是基于冯.诺依曼结构体系 冯.诺依曼结构体系三原则: 采用二进制计数程序和数据共同储存顺序执行 冯.诺依曼结构体系五大构成部分: 输入设备输出设备计算器控制器存储器 操作系统作用: 操作计算机硬件运行程序 操作系统分类: PC端:Windows,Mac OS移动端:安卓…...

iOS安全入门
iOS安全入门iOS安全版成立也有一段时间了,为让更多的朋友和我们一起玩iOS系统,为引导更多的人加入iOS系统研究的队伍中来,本人将在接下来的日子里陆续地写些文章到论坛上来。希望对朋友们进行iOS研究能有所帮助。 从学习iOS经验和所掌握知识的…...

K线形态识别—多K线之买入型多日K线组合
买入型多日K线组合 一、向下三空 向下三空又称为“连续跳空三阴线”,它由四根K线组成,是指在下跌趋势中出现连续向下跳空低开的三根下跌阴线,阴线的实体大小和是否有上影线、下影线都不论,如下图所示。 向下三空K线组合一般出现在…...

js严格的身份证正则校验
//校验身份证号 checkIDCard(idcode){// 加权因子var weight_factor [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];// 校验码var check_code [1, 0, X , 9, 8, 7, 6, 5, 4, 3, 2];var code idcode "";var last idcode[17];//最后一位var seventeen code.substring(0…...

RHCSA 第六天笔记
网络配置 1,ip 命令 ip a 2,修改配置文件(不推荐) 3,nmcli命令 4,nmtui命令 5,cockpit 网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口。这里,主要是指计算机的网络接口即网…...

华为云会议接口java查询会议鉴权Token查询会议录制
华为云会议接口:文档 https://support.huaweicloud.com/api-meeting/meeting_21_0014.html 在线调试页面:https://apiexplorer.developer.huaweicloud.com/apiexplorer/sdk?productMeeting&apiUpdateToken 华为云会议后台管理:https:/…...

P1308 [NOIP2011 普及组] 统计单词数(模拟加函数+数学分析)
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它…...
云原生简史
(1)引子1999年我自己发生了好几件事:1、我购买了两张盗版光盘:Sun Solaris OS、红帽Linux2、正在用COM、MTS,开发三层架构的局域网内的大型企业商用套件,由Windows客户端、中间层中间件、后台SQLServer数据…...

Galera Cluster for MySQL 详解(二)——安装配置
目录 一、Galera集群实验环境 二、初始安装 1. 安装galera-3、mysql-wsrep-5.7、Percona-XtraBackup-2.4.15 2. 修改配置文件 3. 初始化集群 4. 启动集群其它节点的mysqld服务 5. 验证安装 6. 问题排查 三、使用SST增加节点 四、使用IST增加节点 1. 设置gcache.size…...
Linux调用Windows指纹识别,生物识别--指纹识别用于web登录
一、背景和目的指纹识别把一个人同他的指纹对应起来,通过比较他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。本文基于web登录方式验证指纹身份,通过登录页选择指纹识别登录,验证成功后web实现自动登录。二、设备选型…...

对象存储OSS云存储
一.阿里云OSS云存储简介 1.什么是阿里云oss云存储 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云提供的海量、安全、低成 本、高可靠的云存储服务。其数据设计持久性不低于99.9999999999%(12 个9&…...

应用宝认领应用
2019独角兽企业重金招聘Python工程师标准>>> 【Android】命令行jarsigner签字和解决找不到证书链错误 1、签名失败 $jarsigner -verbose -keystore /Volumes/Study/resourcesLib/Qunero-achivements/AndroidApp/QuLordy-signed-key -signedjar ./signed_XiaomiVerif…...

如何将HTML与win10桌面壁纸,如何在Windows 10中将页面设置为桌面背景 | MOS86
虽然在Windows 10中更改壁纸的步骤略有改变,可以右键单击图片,然后单击设置为桌面背景选项,以快速使用图片作为桌面背景。有一些内置的选项来定制Windows 10,但是没有办法将网站设置为桌面背景。在Windows 10中使用一个网站或网页…...

数据库字段动态扩展
在做项目的时候,发现刚刚开始设计的数据库表,到了后期需求的变更,会增加其属性字段,由此涉及到数据库字段动态扩展。 有几种方法: 1. 动态添加属性字段。 需要时,添加需要的属性时。显然这种方式不利于灵…...

C语言基本数据类型简介
C语言基本数据类型有9种:整形int,长整形long,短整型short,字符型char,实型:单精型(float型)、双精度(double),void,有符号signed,无符号unsigned。 在32位编译…...

In-Depth Introduction of BiDi SFP Modules
Ordinary SFP transceivers use fiber optic cables with two strands of fibers (duplex fiber optic cable) to transmit and receive data respectively. However, the BiDi SFP works differently. It doesnt require a cable to send data and a separate one to receive...

Spring 用法详解
Spring 用法详解 IOC容器 /*** 获取spring的Ioc核心容器,根据id获取对象** ApplicationContext的三个常用实现类:* ClassPathXmlApplicationContext: 他可以加载类路径下的配置文件,要求配置文件必须在类路径下。不在的话加载不了。&#x…...

github地址
本人github地址,欢迎关注 https://github.com/shoukailiang...

java中不等于空怎么写_JAVA判断不等于空的情况
判断不等于空的情况,千万不要搞混淆。if(orderId ! null && !"".equals(orderId)) 中间不是||的关系,是&&的关系。_________________________________________________________________________________java正则表达式去掉最…...

L4何时进入私人市场?听听通用汽车、Mobileye的剧透
对于L4何时能够进入私人乘用车市场,各家汽车制造商都在给出自己的最新时间表。 大众集团此前承诺在五年内(最早将在2026年)商业化生产和销售一款L4级自动驾驶纯电动车,并以“Trinity”项目的名称开发,搭载全新开发的电…...

270亿美元!Salesforce收购Slack,协同办公不再是一门好生意
来源:36氪 办公软件的悖论在于,看似是向企业收费的to B工具,其实使用者是所有C端受众。 美东时间12月1日,CRM(客户关系管理软件)巨头Salesforce(CRM.US)宣布以超过270亿美元的价格收购聊天软件开发商Slac…...

谢尔宾斯基三角形的讲解
谢尔宾斯基三角形是数学家谢尔宾斯基提出的⼀个分形图形,谢尔宾斯基三⻆形和谢尔宾斯基地毯基本类似,不同之处在于谢尔宾斯基三⻆形采⽤的是等边三⻆形进⾏分形构造,⽽谢尔宾斯地毯基采⽤的是正⽅形进⾏分形构造。 下面是我的代码展示&#x...

谢尔宾斯基地毯
谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形,谢尔宾斯基地毯和谢尔宾斯基三角星基本类似。谢尔宾斯基地毯和它本身的一部分完全相似,减掉一块会破坏自相似性,将一个实心正方形划分为的9个小正方形,去掉中间的小正方形&am…...

关于谢尔宾斯基三角形(Sierpinski triangle)的讲解
谢尔宾斯基三角形(Sierpinski triangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出。它是自相似集的例子。它的豪斯多夫维是log(3)/log(2) ≈ 1.585。 谢尔宾斯基(Sierpinski)三角形 1.画一个(正&…...

Java面向对象编程:利用递归思想绘制“谢尔宾斯基地毯”和“谢尔宾斯基三角形”
1、递归:在方法中调用本方法。 2、递归调用会无限循环下去,因此方法体中必须有结束方法的条件。返回值为void时通常写为: if (条件) {return; } 下面使用递归绘制“谢尔宾斯基地毯”和“谢尔宾斯基三角形”。 谢尔宾斯基地毯。 1ÿ…...

python递归函数打印三角_python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
插图工具使用Python内置的turtle模块,为什么叫这个turtle乌龟这个名字呢,可以这样理解,创建一个乌龟,乌龟能前进、后退、左转、右转,乌龟的尾巴朝下,它移动时就会画一条线。并且为了增加乌龟画图的艺术价值…...

python 遗传算法多目标优化_遗传算法多目标函数优化
0.2884400.081.010123.00.3485600.020.25899.30.2526600.040.510134.00.3027600.061.04139.70.2388600.080.756130.40.2769800.020.7510255.80.29810800.041.08255.80.28811800.060.256110.40.25912800.080.54140.80.258131000.021.06314.20.240141000.040.754233.40.23915100...

普林斯顿大学开发“AI颜狗”,第一眼看到照片,就能预测人们对你的第一印象...
来源:大数据文摘 本文约1800字,建议阅读5分钟这种通过颜值判断一个人的受欢迎程度的能力,AI也学会了。世人皆是颜狗。心理学家弗雷特说,以貌取人是人类的一种本能,这有可能是长期自然进化选择的结果。因为人的大脑总是…...
我们是如何改进YOLOv3进行红外小目标检测的?
点击上方“3D视觉工坊”,选择“星标”干货第一时间送达【导语】本文将介绍BBuf、小武和笔者一起在过年期间完成的一个目标检测项目,将描述我们模型改进的思路、实验思路、结果汇总和经验性总结。声明:这篇文章经过了三人同意,并且…...

“AI颜狗”来啦!第一眼看到照片,就能预测人们对你的第一印象
转自大数据文摘世人皆是颜狗。心理学家弗雷特说,以貌取人是人类的一种本能,这有可能是长期自然进化选择的结果。因为人的大脑总是会选择对自己来说,是最不需要动脑思考的思维方式。所以,人们就更倾向于通过外貌来判断一个人&#…...

机器习得自然选择之力后
AI 近期关于人工智能之讨论的总结贴 涉及霍金,《超验骇客》等等。 丧心病狂的机器?杀伤性人工智能?当我们探讨自我完善软件带来的益处时,我们应该认真一下考虑这些概念。节选自詹姆斯巴拉的《我们最后的发明》 “…我们将会开始依…...

(c++ 遗传算法解决TSP问题)不是吧,这就是遗传算法吗?爱了爱了
遗传算法解决TSP问题一.前言二.什么是遗传算法?1.不妨先看个小故事2. 从故事中发现到规律3. 悟出实际的“遗传算法”(1) 初始化种群(2).计算适应度(3) *选择操作(Select): 赌轮选择 精英保留策略(4) *交叉(Crossover)(5) *变异(M…...

【练一下1】糖尿病遗传风险检测挑战赛 【讯飞开放平台】
文章目录完成coggle任务任务1:报名比赛步骤1:报名比赛http://challenge.xfyun.cn/topic/info?typediabetes&chds22-dw-zmt05赛事提交说明步骤2:下载比赛数据(点击比赛页面的赛题数据)字段说明步骤3:解…...

JVM及遗传算法,转摘牛人牛文
看了此篇,俺才知堆和栈原来也可以这样相依相离。 而内存中的遗传算法,则可以让我们分清民主和专制的界限---是要"最好的"?还是"不要最差的"? 当我们不能清楚自己想要的时候,我们是否很清楚自己不要的&#x…...
遗传算法--用python进化出chrome浏览器图标
这是个真实的故事。 "从前在海岸边有一群扇贝在悠哉游哉地生活繁衍着。它们自然是衣食不愁,连房子也有了着落。它们担忧的只有一件事:每隔一段时间,总有一个人来挖走它们之中的一部分。当然啦,挖回去干什么这大家都知道。但扇…...

神经结构搜索中的遗传算法
深度学习在很多领域都取得了巨大的成功,比如图像分类、目标检测、自然语言处理等。自从2012年AlexNet在ImageNet比赛中超越了所有传统的机器学习方法夺得了冠军,CNN在图像分类中就占据了统治地位,随后越来越多的深度神经网络被提出࿰…...
TSP_旅行商问题 - 遗传算法(四)
本文修改日志:2017.01.22:整理并发布第一版博文;2018.05.01:修改源代码170行(添加float),double RateVariation float(rand()%100)/100; 一、前言【旅行商问题】旅行商问题(TravelingSalesmanP…...
遗传算法入门详解
csdn的第一篇博文介绍遗传算法入门,希望对刚刚学习遗传算法的同学能有所帮助。 下面是参考于维基百科对遗传算法的定义:遗传算法是一种解决最优化问题的启发式算法,借鉴了进化生物学的一些现象,其中包括遗传,突变&…...

❤️自动化-文件路径管理-详细教程附代码⚡
项目路径管理,你也可以理解为路径参数化。便于统一管理,不至于随着项目越来越大,功能越来越多,还需要一个个py文件打开寻找。直接找到对应的统一的路径管理文件,查阅进行增删改即可。 👏👏注:阅读本文可以先提前了解一下OS模块,本文将以OS模块来进行实战操作。 「公…...

mathtype在html中无法显示,MathType符号面板不显示符号怎么办
MathType可以编辑很多很多的符号,而实现这个功能的就是MathType的符号面板了。在这个符号面板中有不同查看方式,可以显示出不同的符号,而我们在编辑所需要的符号时,只选择合适的查看方式就可以查找到我们想要的符号。但是有人在使…...

Word,PPT添加Mathtype加载项
MathType是一个编辑公式非常好用的工具,但是这两天发现实验室的电脑上没有这个加载项,于是寻找解决办法,重新把加载项给它加上去。 下面这个链接亲测可用。 Mathtype,如何与Word,PPT完美融合...

(MathType)LaTeX风格公式样式
需求 MathType默认样式用的字体是Times New Roman,看起来数学符号不够优雅,没有LaTeX那种赏心悦目的感觉 想要调整一下MathType的样式,模仿LaTeX风格,让公式更优雅一点~ 样式设置 1. 基础:自带的Tex Look样式 Ma…...

生物信息数据存储、管理规范
备注:以下内容来源于生信与NGS⾏业交流群群友,并由群主进行汇总,因博客本身是记录笔记作用,且内容不涉密,分享给大家。又因为无链接,无法设置转载,所以设置的原创。 由于数据项⽬的持续积累&…...

电商云仓是如何包装发货的?
包装不时是为了维护产品,而它从工厂地板移动到大型仓库,并最终经过批发或批发店抵达消费者。但是,自21世纪初以来,消费者希望与那些不时吸收着某种情感的品牌联络在一同,同时央求他们在心理上对品牌中止投资࿰…...

Redis6知识点汇总
Redis6 1. NoSQL数据库 (1) 简介 NoSQL(NoSQLNot only SQL),意为“不仅仅是SQL”,泛指非关系型的数据库。 NoSQL不依赖业务逻辑方式存储,而以简单的key-value模式存储,因此大大增加了数据库…...

【Java基础】-【线程】
文章目录创建线程的方式Thread类的常用方法run()和start()有什么区别?线程是否可以重复启动,有什么后果?线程的生命周期实现线程同步Java多线程之间的通信方式sleep()和wait()的区别notify()、notifyAll()的区别如何实现子线程先执行…...

【Houdini】框架与结构:常见的各个模块名词缩写指的是什么?
对于刚接触Houdini的一些萌新,会对Houdini中常说的一些SOP、POP、DOP等一些名词十分疑惑,不清楚其中的含义,在此作个解释。 简写全称功能OBJ Object scene 场景描述模块 Object nodes represent objects in the scene, such as character p…...
互联网日报 | 美团门票单日入园人次破500万;蔚来用户累计换电百万次;2020诺贝尔生理学或医学奖揭晓...
今日看点✦ 阿里入股全球最大免税零售商DUFRY,将在中国建合资企业✦ 华为Mate40系列或10月15日发布:麒麟900066W双向快充✦ 美团门票单日入园人次超500万创纪录,“预约旅游”成消费新风尚✦ 蔚来汽车:蔚来用户累计换电超100万次&a…...

javaEE 初阶 — 文件内容的读写
文章目录数据流1. 字节流1.1 InputStream 概述1.1.1 无参数 read 的使用1.1.2 一个参数 read 的使用1.2 使用 OutputStream 写文件1.2.1 对于关闭文件的解释2. 字符流2.1 Reader 概述2.1.1 read 方法的使用2.2 Writer 概述2.2.1 write 的使用2.3 Scanner 补充数据流 针对文件内…...

流程图各个元素含义
...

流程图各个形状代表的含义
1,开始形状/结束形状,“跑道圆”形状代表开始或者结束。 2,处理过程,“矩形” 这里可以写一些“工序”“处理过程” 3,判断,“菱形” 判断是流程图中经常用到的 判断是否 判断条件 4,文件 普通…...

流程图各图形含义
1 开始or结束 用椭圆形矩形的组合作为开始或者结束的标志 2 处理过程 用矩形框表示处理过程,可以表示一行或者一段代码。 3 判断 这个其实比较熟悉,用不同的角角作为不同的分支。 4 文件 没怎么用过,用来表示文件。 5 用户的输入输出 用…...

流程图中各个图形的含义
在绘制流程图的时候遇到了上述标题中的问题,在搜索后在这里找到了答案,记录一下。 1 开始or结束 用椭圆形矩形的组合作为开始或者结束的标志 2 处理过程 用矩形框表示处理过程,可以表示一行或者一段代码。 3 判断 这个其实比较熟悉&a…...
流程图符号和用法
一、什么是流程图 流程图是流经一个系统的信息流、观点流或部件流的图形代表。在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。 例如,一张流程图能够成为解释某个零件的制造…...

流程图图形含义(转)
转自http://www.pinggu.name/space-133609-do-blog-id-18258.html流程图图形含义扁圆:表示程序的开始与结束 方框:表示要执行的处理(Process) 平行四边型:表示资料输入(Input)不规则图形&#x…...

流程图图形含义
2019独角兽企业重金招聘Python工程师标准>>> 流程图图例含义 转载于:https://my.oschina.net/jan2000/blog/222984...
流程图中图形的含义
下图是流程图中图形的含义...

MyBatis-Plus字段加密解密
项目创建POM依赖 <dependency><!--MyBatis-Plus 企业级模块--><groupId>com.baomidou</groupId><artifactId>mybatis-mate-starter</artifactId><version>1.2.8</version> </dependency> <!-- https://mvnrepository…...

主机访问域名的过程
1.主机知道要访问的域名,接下来要知道域名的IP地址,就要用到DNS域名系统。 查询DNS服务器的MAC地址 访问DNS域名服务器,已知域名服务器IP地址,需要知道域名服务器的MAC地址,主机广播ARP请求分组(目的MAC为…...

从【卡内基梅隆大学机器人概论课】认识机器人学科需要哪些技能栈
闲来无事,找到了卡内基梅隆大学机器人研究所,看了下他们机器人的教育,不得不感慨相比我们学校先进了不知多少,是真真切切让同学们去了解机器人的方方面面,下面摘自它们的概论作业。 作业0 作业1 作业2 作业3 作业4 作…...

在hosts上添加网络域名
一、在添加hosts域名前需要了解: 1)添加域名可以是浏览器更快地访问网站 2)hosts文件可以用记事本打开 3)需要首先以管理员权限运行记事本,然后再在记事本上打开hosts文件 4)hosts的文件位置为:…...

常见互联网域名及含义
域名及含义 常见域名 AC 科研机构 COM 工、商、金融等企业 EDU 教育机构 GOV 政府部门 NET 互联网络、接入网络的信息中心(NIC)和运行中心(NOC) ORG 各种非盈利性的组织 新顶级域名 .aero,航空运输业专用,由比利时国际航空通信技术协会&#…...

信息技术必修丨网络域名
域名 /FU WEN CHAO/ 域名也称之为网域,是网域名称(Domain Name)的简称,是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置&…...

接口返回数据实体类属性大写变成小写
问题背景 今天遇到一个特别恶心的事情,我的返回实体类遵循了字段属性明明规则,驼峰命名法,在接口返回数据给前端的时候,所有数字那个字母全部自动变为了小写字母! 错误的返回示例: 正确的返回示例&#x…...
hp服务器u盘安装系统进不了安装界面,hp笔记本开机无法从u盘安装系统
现象:hp笔记本开机无法从u盘安装系统,PEu盘做好后,插入电脑,按F9启动项选择中,没有发现有U盘启动。出现如下界面。选择按F10进入BIOS设置。进入BIOS后,将传统模式启用。然后将UEFI模式下的开机顺序中U盘/US…...

笔记本电脑安装Debian11系统
笔记本电脑安装Debian11系统 问题总结 安装系统过程中我找了很多教程,遇到了很多问题,一般教程网上都有,但是顺利安装成功的并不多,总是会遇到各种问题,所以我这里先对我安装系统过程遇到的问题总结一下,…...

拯救老电脑,win10 LTSC版、黑苹果、ubuntu20.04、Android x86等系统安装记录
最近想折腾一下老笔记本,安装黑苹果,碰巧又看到了其他几个系统介绍,索性一起折腾一下。老笔记本性能比较有限,安装了win10 LTSC版、黑苹果、ubuntu20.04、Android x86等四个系统,有兴趣的同学可以了解一下。 所用电脑配…...

Android下雪动画 VS JS下雪动画
Android下雪动画的实现 自定义View package com.shanjing.snowflake;import android.content.Context; import android.graphics.Canvas; import android.util.AttributeSet; import android.view.View; import android.view.ViewTreeObserver;import androidx.annotation.Nu…...

三维地图实现下雪效果源代码
//定义下雪场景 着色器 function FS_Snow() { return "uniform sampler2D colorTexture;\n\ varying vec2 v_textureCoordinates;\n\ \n\ float snow(vec2 uv,float scale)\n\ {\n\ float time czm_frameNumber / 60.0;\n\ floa…...

Python 函数(三)
一、返回值 #使用return语句输出返回值,语法为return(value),可以返回一个值,也可以返回多个值#例:某商场打折促销活动,金额500~1000打九折,1000~2000打八折,2000~3000打…...

c语言编程下雪,屏幕下雪程序(转载于网络,win32程序,C语言实现)
VC6.0下测试编译通过:-------------------------------------------------------------------------#include #include #include #defineID_TIMER 1#defineSNOWNUM 500 // 雪花数量#defineCONTRAST 50 //对比度#defineYSTART 5 //用于确定雪花初始时的y坐标#defineS…...

c语言中if函数作用,c语言中if函数无while主要区别在哪里
if和while是C语言中常用的两个语句,但是区别很大,完全不同。1.if用来做条件判断if用来做条件判断,与else搭配使用。在if条件判断中,若逻辑条件表达式为真,则运行语句或语句块;如果逻辑条件表达式为假&#…...

php首页下雪源码代码,HTML5实现下雪效果的实例代码分享
下雪实例知识点:绘画函数效果:源码:------------------------------下雪*{padding:0;margin:0}html{overflow:hidden}window.onload function(){//获取画布对象var canvas document.getElementById("canvas");//获取画布的上下文…...

在html5中加入下雪的代码,HTML5实现下雪实例
下雪实例知识点:canvas画布数组绘画函数效果:源码:------------------------------html>下雪*{padding:0;margin:0}html{overflow:hidden}window.onload function(){//获取画布对象var canvas document.getElementById("canvas&quo…...

PHP MySQL 简介
通过 PHP,您可以连接和操作数据库。 MySQL 是跟 PHP 配套使用的最流行的开源数据库系统。 如果想学习更多 MySQL 知识可以查看本站 MySQL 教程。 MySQL 是什么? MySQL 是一种在 Web 上使用的数据库系统。MySQL 是一种在服务器上运行的数据库系统。MyS…...

【NLP】再看交叉熵损失函数
交叉熵 在深度学习领域出现交叉熵(cross entropy)的地方就是交叉熵损失函数了。通过交叉熵来衡量目标与预测值之间的差距。了解交叉熵还需要从信息论中的几个概念说起。 信息量 如何衡量一条信息包含的信息量?加入我们有以下的两个事件: 事件1:年底昆明要下雪 事件2:…...

python选取元音开头的单词_元音音素开头的单词
补充一些你所知道前面加an的单词吧物质名词和抽象名词大多为不可数名词,没有复数形式,前面一般也不能由不定冠词a、an限定。常见的物质名词有表示液体的water, juice, milk, , coffee, coke, ink, tea, honey,等,表示食物的food, rice, tofu, eggplant, bread, butt…...

Vue技术教程(2023-1-15)
第一章:Vue概述 1.hello World Vue:易学易用 性能出色 适用场景丰富的web前端框架vue是一款构建用户界面的JavaScript框架 它基于标准的html css JavaScript构建 并提供了一种声明式 组件化的编程模型 帮助你高效的开发 用户界面 无论是简单还是复杂的…...

新单词 part 5
part 51.traversal 英[trvɜ:sl]美[trvɜ:səl]n. 横越,横断物,(横向)往返移动;2.mess 英[mes]美[mɛs]n. 混乱; 困境; 食堂; 肮脏;vt. 弄脏; 搞砸; 给…供膳;vi. 把事情弄糟; 制造脏乱;3.encumbrance 英[ɪnˈkʌmbrəns]美[ɛnˈ…...

8万字城市大脑综合运行管理平台大数据运营顶层设计方案
本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。部分资料内容: 1. 城市视频监控资源共享服务平台 (1) 建设共享服务平台,接入各社会视频资源 通过建设统一视频监控接入骨干网络和定义统一视…...
JAVA集合知识整理
Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之前数组链表,jdk1.8后数组链表红黑树 HashMap的一些基础数据 默认初始容量:1 << 4 最大数组容量:1 << 30 默认加载因子:0.75 使用0.75的…...

keil调试专题篇
调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面工程配置里选择了复位调试,则进入调试后,会停在main函数头部 示意: 相关指令 上面一行红框内,从左到右分别是:打断点&am…...

顺序栈和非循环队列来咯!!!
前言:通过上几篇文章,我们一直在学习我们的线性表,我们学习了我们的顺序表,链表等相关线性表,那么我们今天来学习一下栈和队列这两种线性表叭!当然我们今天只介绍我们的顺序栈和非循环的队列。可能有小伙伴…...

有限元三角形单元的等效节点力
文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(N)、单元应变矩阵(B)、单元应力矩阵(S)2、例子二、三角形单元的等效节点力分析1、体力和集中力的等效载荷2、面力的等效载荷3、…...

TM1638和TM1639差异说明
TM1638和TM1639差异说明✨本文不涉及具体的单片机代码驱动内容,值针对芯片使用功能的差异加以比较说明。 📍具体的手册请前往官网查阅 :http://www.titanmec.com/product/display-drivers/led-panel-display-driver-chip/p/1.html dz…...

SQL语法 DDL、DML、DQL、DCL
文章目录1 SQL通用语法2 SQL分类3 DDL 数据定义语言3.1 数据库操作3.2 表操作3.2.1 表操作-查询创建3.2.2 表操作-数据类型3.2.3 表操作-案例3.2.4 表操作-修改3.2.5 表操作-删除4 图形化界面工具5 DML 数据操作语言5.1 添加数据5.2 修改数据5.3 删除数据6 DQL 数据查询语言6.1…...

网络基础设施管理的未来
01 什么是网络基础设施? Cisco的定义:Network infrastructure refers to the hardware and software that enable network connectivity and communication between users, devices, apps, the internet, and more. 网络基础设施是指在用户、设备、应用…...

【数据结构】Java实现栈
目录 1. 概念 2. 栈的使用 3. 自己动手实现栈(使用动态数组实现栈) 1. 创建一个MyStack类 2. push入栈 3. pop出栈 4. 查看栈顶元素 5. 判断栈是否为空与获取栈长 6. toString方法 4. 整体实现 4.1 MyStack类 4.2 Test类 4.3 测试结果 1.…...

[数据结构]二叉树的顺序存储结构
目录 二叉树的顺序存储结构:: 1.二叉树的顺序结构 2.堆的概念及结构 3.堆的向下调整算法 4.堆的创建 5.建堆时间复杂度的证明 6.堆的插入 7.堆的删除 8.堆的代码实现 9.堆排序 10.Top-K问题 二叉树的顺序存储结构:: 二叉树的顺…...

NB美团九连问JVM到骨髓
1.请解释一下对象的创建过程?(半初始化) 有如下代码,编译成class文件后,使用IDEA的jclasslib bytecode viewer插件的view->show bytecode with jclasslib查看Java汇编。 public class JustTest {private static class T{}public static void main(String[] args) throw…...

云原生K8S精选的分布式可靠的键值存储etcd原理和实践
文章目录概述定义应用场景特性为何使用etcd术语架构原理读操作写操作日志复制部署单示例快速部署多实例集群部署静态etcd 动态发现常见命令概述 定义 etcd 官网地址 https://etcd.io/ 最新版本3.5.7 etcd 官网文档地址 https://etcd.io/docs/v3.5/ etcd 源码地址 https://gith…...

[Django] 1.Django项目创建
1.Django简介 Django是基于Python的重量级开源Web框架 Django采用MVT的软件设计模式,即模型(Model),视图(View)和模板(Template) M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM) T 表示模板 (Template)…...

Linux 信号(signal):信号的相关函数
目录1.kill2.raise3.abort4.alarm5.sigqueue6.signal7.例子使用信号时离不开各种函数,本文来看看在使用信号时最常用的几个函数。 kill:给指定进程发送指定信号raise:给调用进程发送指定信号abort:终止程序的运行alarm࿱…...

【问题系列】vue当编辑框被触发就出现保存按钮
目录 问题描述: 解决方案: 1.方案一 2.方案二 3.方案三 问题描述: 一个表单用vue的事件实现当点击编辑按钮(或图标)出现保存按钮,当要编辑的时候只出现编辑按钮,此时保存按钮隐藏 解决方案: 1.方案一…...

IHome主页 - 让你的浏览器主页与众不同
随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器成为人们的“第二个家”。 在这个过程中,浏览器的主页也变得越来越重要了。有些人喜欢简洁明了的主页,有些人则希望有丰富的内容。 今天,我…...

leetcode解题思路分析(一百三十八)1178 - 1189 题
猜字谜 外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。返回一个答案数组 answer,数组中的每个元素 answer[i] 是在给出的单词列表 words 中可以作为字谜迷面 puzzles[i] 所对应的谜底的单词数目。 采用字典树解题。 struct TrieN…...

SpringBoot高校餐厅缴费系统
SpringBoot高校餐厅缴费系统 帮朋友基于SpringBoot鲜花商城系统,订制开发了一套适用于高校餐厅缴费系统;添加的功能如下: 1.商品搜索功能 2.个人中心 3.购物车下单改造 4.支付宝功能接入 5.管理员板块校园卡管理功能 本系统涉及到的技术主要…...

SpringBoot快速整合SpringSecurity,新手都会的详细步骤
一、什么是SpringSecurity? Spring Security是一个基于Spring框架的安全性框架,提供了一组轻量级的API和工具,用于实现身份验证、授权、防止攻击等常见的安全性功能。它支持各种身份验证方式,例如基本身份验证、表单身份验证、OA…...

python高频小工具(持续更新)
无外乎处理各种文件和字符串,然后采用各种算法。excel文件操作采用openpyxl库(1)写数据import os from openpyxl import Workbookpath r"D:\python_practice" os.chdir(path) # 修改工作路径wb Workbook() wb.create_sheet(…...

SAP主配方需要ECN变更号才能更改
在流程制造中特别是制药行业,遵循的要求都是比较高的,像GMP的要求,CSV的认证,系统的变更都是需要进行申请审批通过以后才能进行变更的。 1、业务场景就是系统控制主配方需要有ECN号才能进行变更,否则不允许变更。 2、…...

Lock 接口解读
前置知识点Synchronized synchronized 是 Java 中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{} 括起来的代码,作用的对象是调用这个代码…...

嵌入式物联网技术栈【协议篇】OPC UA协议
一、OPC UA协议简介 OPC UA前身是OPC,第一个OPC规范在1996年发布,包括一整套接口、属性和方法的标准集 OPC全称是Object Linking and Embedding(OLE) for Process Control,微软公司对象链接和嵌入技术在过程控制方面的应用,是一系列接口、方法和属性的标准集,是将通讯协…...

记录--我在前端干工地(three.js)
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Three.js后,试着用他加载了一些模型three.js初体验简陋的了解了一下three.js的相关使用,并且写下了第一篇文章。但是过后还是对很多一知半解,作为不会…...

7个最受瞩目的 Python 库,提升你的开发效率
当今时代,数据分析和处理已经成为了各行各业中不可或缺的一环。Python作为一种非常流行的编程语言,为我们提供了许多强大的工具和库来处理不同类型的数据。 在这篇文章中,我将向您介绍七个非常有用的Python库,这些库各自有着独特…...

智能指针用法分析
智能指针分类auto_ptr (c 98),目前已经被unique_ptr替换了,所以大家不要再使用auto_ptr了unique_ptr (c11) 独占式指针,同一个时间内,只有一个指针能够指向该对象,当然该对象的所有权还是可以移交出去的。shared_ptr &…...

GuLi商城-SpringCloud Alibaba-Nacos配置中心-命名空间与配置分组
Nacos支持三种配置加载方方案 Nacos支持Namespace group data ID的配置解决方案 Namespace方案 通过命名空间实现环境区分 下面是配置实例: 1、创建命名空间: 命名空间—>创建命名空间: 创建三个命名空间,分别为dev&a…...

Java核心技术卷I-第五章
类、超类和子类定义子类(使用关键字extends表示继承)覆盖方法子类构造器一个对象变量可以指向多种实际类型的现象称为多态,在运行时能够自动地选择适当的方法,称为动态绑定继承层次多态理解方法调用(非private方法、st…...

C++ 98/03 应该学习哪些知识9
构造函数/析构函数/拷贝构造 C中的构造函数、析构函数和拷贝构造函数是面向对象编程中的重要概念。下面是它们的定义和案例解释: 构造函数 构造函数是在对象创建时调用的一种特殊的成员函数,用于初始化对象的数据成员和执行必要的设置操作。在C中&…...

(五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
前言 本节内容我们实现虚拟机的克隆,主要根据模板虚拟机克隆三台hadoop虚拟机,用于hadoop集群的搭建,同时根据上一小节的内容,配置hadoop虚拟机的主机名、ip网络等,最终完成hadoop虚拟机的实例化。 正文 虚拟机克隆…...

分治法实现合并排序(归并排序),理解分治算法思想,实现分治算法的完美例子合并排序(含码源与解析)
🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨,经典算法的解析✨都在这儿,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 -…...

prometheus数据持久化 docker部署
https://segmentfault.com/a/1190000015710814 prometheus修改配置不需要停掉,只要修改yml之后用docker restart重启 prometheus存储方式 prometheus提供了本地存储,即tsdb时序数据库。 本地存储的优势就是运维简单,缺点就是无法海量的metrics持久化和…...

Airwallex 基于 Flink 打造实时风控系统
摘要:本文整理自 Airwallex Risk ML Platform Team 董大凡,在 Flink Forward Asia 2022 实时风控专场的分享。本篇内容主要分为五个部分: 背景介绍应对方案技术挑战与亮点可用性保证线上表现点击查看直播回放和演讲 PPT 一、背景介绍 Airwall…...
MySQL数据库知识整理
MySQL数据库知识整理 MySQL事务详解 事务四大特性ACID 原子性(Atomicity):一个事务是一个不可分割的最小单元,该事务的所有操作要么全部提交,要么失败回滚,不能只执行其中的一部分。 原子性是通过undo l…...

Java基本数据类型与String的互相转换
1、基本类型转String 把一个基本数据类型转为String类型,有三种通用方式:(以Integer i 为例) i.toString()String.valueOf(i)i"" 其中:i.toString()效率最高,用的最多 2、String转基本数据类…...

无刷直流电机介绍及单片机控制实例
无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器(ESC)Arduino BLDC电机控制电路图代码前言 在机器人的结构中,往往电机是必不可少的组成部分,例如地面智能车中的轮子驱动&…...

AlmaLinux构建LNMP
环境: 虚拟机:AlmaLinux9.1 hostname:localhost ip:192.168.123.228 #查看系统 cat /etc/redhat-release安装方式统一使用yum #查看yum版本 yum --versionyum4基于dnf技术,yum4命令提供了与早期版本中使用的Yum v3的…...

Three.js入门学习笔记09:Three.js对象拾取,鼠标点击对象响应事件
一.拾取对象概念 二.坐标转换 三.光线投射Raycaster 中文文档 http://www.webgl3d.cn/threejs/docs/#api/zh/core/Raycaster 英文文档 https://threejs.org/docs/index.html#api/en/core/Raycaster 官网例子 http://www.webgl3d.cn/threejs/examples/#webgl_interactive_cub…...

js-防抖和节流
核心要点 什么是防抖及实现方式?什么是节流及实现方式? 1、什么是防抖及实现方式? 防抖(debounce):触发高频事件后 n 秒内函数只会执行一次,如果 n 秒内高频事件再次被触发,则重新计算时间 实现方式&…...

RK3568开发板屏幕调试常用的debug方法查看屏幕的显示状态
查看当前的屏幕的显示状态输入以下命令: cat /sys/kernel/debug/dri/0/summary 对上图中的打印,我们来解释一下: 以下的 vop 代表 mipi 屏幕使用的 vop 是 vop1,vop0 是没有被使用的。 Video Port0: DISABLED Video Port1:…...

MAC认证原理描述
MAC认证原理描述MAC认证简介MAC认证流程MAC认证简介 定义: MAC认证,即MAC地址认证,是一种基于接口和终端MAC地址对用户的访问权限进行控制的认证方法。 优点: 用户不需要安装任何客户端软件MAC认证过程中,不需要手动…...

一站式自动化测试工具——AI-TestOps
文章目录软件测试的重要性龙测科技是什么?核心优势平台使用软件测试的重要性 软件测试在整个软件生命周期里,具有十分关键的地位,学校只可以在运行与后期维护时期以前,软件调试瀑布模型,是一类常规的运行方式…...

MATLAB | 全网最详细网络图(图论图)绘制教程
一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点,当然图论与网络优化的算法一篇不可能完全讲清楚,未来如果看的人多可以适当更新,同时做部分网络图绘图复刻。 以下是本篇绘图实验效果࿱…...

Flutter 小技巧之实现一个精美的动画相册效果
今天的小技巧主要是「抄袭」一个充满设计感的相册控件,如下图所示是 gskinner 开源应用 wonderous 里一个相片集的实现效果,可以看到相册支持上下左右滑动,并带有高亮展示的动画效果,而且相册整体布局可以超出屏幕滚动,…...

小程序(十六)消息功能
文章目录一、数据库设计二、系统消息的发送与收取设计三、业务设计四、消息实体设计五、SpringBoot异步任务1、开启异步注解功能2、线程池创建3、异步任务——消息生产4、同步任务——消息消费(写入MySQL)一、数据库设计 很多人以为消息模块的数据表设计…...

C++之模板(上)
文章目录前言一、泛型编程二、模板1.函数模板1.函数模板概念2.函数模板格式3.函数模板原理4.函数模板的实例化1.隐式实例化2.显示实例化5.模板参数的匹配原则2.类模板1.类模板的定义格式2.类模板的实例化3.类模板和模板类的区别总结前言 本文介绍了C模板的基础概念,…...

虚拟机装ftp, 简单版, 针对嵌入式开发者
以下是在Ubuntu上重新安装和配置FTP的简单步骤:打开终端并输入以下命令安装FTP服务器:sudo apt-get install vsftpd安装完成后,打开FTP服务器配置文件:sudo nano /etc/vsftpd.conf在打开的配置文件中,找到以下两行并将…...

数字孪生颠覆传统铝材挤压生产,全新生产方式即将到来!
随着市场经济的发展,各种新型的高科技建筑材料相继出现,所有的基础工程均需要大量的建筑,需要大量门窗和建筑材料,而铝及其铝合金在其中占有重要的地位。随着时代的进步,材料的应用也发生着变化。因铝合金型材具有强度…...

整合SpringCache
整合SpringCache 1、引入依赖cache还有redis <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId> </dependency>2、写配置 spring:cache:type: redis3、测试使用缓存 Cache…...

Azure OpenAI 官方指南03|DALL-E 的图像生成功能与安全过滤机制
2021年1月,OpenAI 推出 DALL-E。这是 GPT 模型在图像生成方面的人工智能应用。其名称来源于著名画家、艺术家萨尔瓦多 • 达利(Dal)和机器人总动员(Wall-E)。DALL-E 图像生成器,能够直接根据文本描述生成多…...

【Python_requests学习笔记(八)】基于requests模块 实现响应内容嵌入JS 进行url地址跳转 数据的爬取
基于requests模块构建免费代理IP池 前言 此篇文章中介绍基于requests模块,实现对在响应内容中嵌入JS,真实的url地址进行跳转后数据的爬取,并以爬取行政区划代码数据为例进行讲解。 正文 1、需求梳理 抓取民政部网站最新行政区划代码 一级…...

3D Slicer学习记录(6)-使用PLUSapp连接WebCam并实现marker跟踪
前记在上次的博客中已经演示了利用Intel realsense进行marker跟踪,如果没有intel realsense怎么办?其实在之前的博客中早就提到plusapp支持多种硬件设备,包括笔记本自带的相机,因此,如果没有双目相机,或许可以尝试笔记本自带的相机完成之前的任务,只不过在跟踪精度和mar…...

路径 Floyd 蓝桥杯 JAVA
题目描述: 小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图中的最短路径。 小蓝的图由2021 个结点组成,依次编号1 至2021。 对于两个不同的结点a, b,如果a 和b 的差的绝对值大于21,则两个…...

小迪安全day12WEB漏洞-SQL注入之简要SQL注入
小迪安全day12WEB漏洞-SQL注入之简要SQL注入 注入产生原理详细分析 可控变量带入数据库查询变量未存在过滤或过滤不严谨 连接符区分 and是sql语句连接符,&是uel参数连接符 and 11是注入语句, &是添加一个新变量 数据库内容 数据库A 网站…...

初级算法-哈希表
主要记录算法和数据结构学习笔记,新的一年更上一层楼! 初级算法-哈希表一、有效的字母异位词二、两个数组的交集三、快乐数四、两数之和五、四数相加(二)六、赎金信七、三数之和八、四数之和哈希表 散列表有m个存储单元…...

什么是 LuaJIT?为什么 Apache APISIX 选择了 LuaJIT?
本文介绍了 LuaJIT 的高灵活性和高性能,以及 APISIX 作为云原生 API 网关选择 LuaJIT 的原因。 作者杨陶,API7.ai 技术工程师。 原文链接 什么是 LuaJIT 定义 简单地说,LuaJIT 是 Lua 这种编程语言的实时编译(JIT,J…...

基于jsp+ssm+springboot的人职匹配推荐系统【设计+论文+源码】
摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于人职匹配推荐系统当然也不能排除在外,随着网络技术的不断成熟,带动了人职匹配推荐系统,它彻底改变了过…...

【Linux】简易Shell的实现
🤣 爆笑教程 👉 《看表情包学Linux》👈 猛戳订阅 🔥 💭 写在前面:本章是个 "插叙",前几章我们学了程序替换,现在我们可以尝试动手做一个 "会创建,会终止…...

ccc-pytorch-宝可梦自定义数据集实战-加载数据部分(9)
文章目录第一步:构建路径与种类的映射关系第二步:载入所有的宝可梦图像第三步:打散顺序并通过路径名提取映射关系构建映射文件第四步:完善选取、获取图片信息功能并可视化第五步:对数据进行预处理第六步:批…...

【案例讲解】LVGL GIF开机动画和关机动画
更多源码分析请访问:LVGL 源码分析大全 目录 1、功能特性2、重点代码2.1、 覆盖其它图层2.2、 强制GIF只播放一次2.3、 任何页面中长按OK键跳出关机页面2.4、 完成时销毁自身3、参考源码1、功能特性 1、播放一次完整的GIF后就退出,退出时并销毁对象,以节省资源;2、图层能覆…...