- 批改作业小工具(一)-read report
期末,总是疲于应付各类作业报告批改,搞个小工具,让它帮我一把~~~~(格式)读取报告:importdocxfromdocx.tableimportTabledefextract_experiment_reports(doc_path):"""提取文档中所有实验报告的关键内容"""doc=docx.Document(doc_path)reports=[]#存储所有实验报告fortableindoc.
- 排查解决腾讯云服务器存在对外攻击行为,已阻断该服务器对其他服务器端口(TCP:6379)的访问
【腾讯云】服务违规封禁提醒解决方法来自腾讯客服https://cloud.tencent.com/document/product/296/9604,这是我们给您的建议,建议您排查下您的服务器情况您现在登录上您的服务器了嘛您执行下crontab-l给我看下在执行netstat-ano|egrep"tcp|udp"redis端口这里有问题您执行netstat-tupln给我看下<
- RAG流程中,要怎么对文本进行拆词?
java干货仓库
八股文汇总大模型面试人工智能自然语言处理llama
在RAG(Retrieval-AugmentedGeneration)流程中,对文本的拆词(Tokenization)是影响检索和生成效果的关键步骤。以下是文本拆词的技术细节及优化方法:1.拆词的核心目标检索阶段:确保查询(Query)和文档(Document)的拆词方式一致,提高检索匹配精度。生成阶段:适配大模型的词表,避免生成时的OOV(Out-of-Vocabulary)问题。2.常见拆词方
- !LangChain文档加载器的接口设计与多种格式解析源码深度解析(77)
LangChain文档加载器的接口设计与多种格式解析源码深度解析一、文档加载器概述1.1文档加载器的作用与定位LangChain文档加载器(DocumentLoaders)是整个框架中负责数据输入的核心组件,其主要作用是从不同来源(本地文件、网络资源、数据库等)读取原始文档,并将其转换为LangChain可处理的Document对象格式。在实际应用中,无论是构建问答系统、知识图谱,还是进行文本摘要
- 【STM32】FreeRTOS 任务的创建(二)
这篇文章在于详细解释FreeRTOS中任务的创建过程,包括任务创建的本质过程、API详解、两种创建方式(动态/静态)、任务函数规范、常见错误及实践建议。这里参照:RTOS官方文档:https://www.freertos.org/zh-cn-cmn-s/Documentation/02-Kernel/04-API-references/01-Task-creation/01-xTaskCreate
- Spring 框架中获取 org.w3c.dom.Document 对象的完整流程
探索java
Springjavaspring
引言在Java开发中,XML是一种广泛使用的格式,用于定义配置文件、数据交换等场景。在Spring框架中,XML文件常用于配置应用程序上下文(如applicationContext.xml),或者处理外部系统传输的XML数据。org.w3c.dom.Document是JavaDOMAPI的核心接口,表示一个XML文档的树形结构,允许开发者以编程方式访问和操作XML的内容。Spring框架本身并不直
- QCustomPlot绘图保存成PDF文件
Qt历险记
Qt高级开发工程师pdfqtc++20visualstudio
点击上方"蓝字"关注我们01、QTextDocument>>>QTextDocument是Qt框架中的一个类,用于处理和显示富文本内容。它提供了文本编辑、格式化、布局和渲染等功能。QTextDocument可以包含文本、图像、表格、列表等多种元素,并且可以处理复杂的文本布局和格式。02、QTextObjectInterface>>>QTextObjectInterface是Qt框架中的一个接口,用
- Groupdocs.Viewer for .NET 25.6
sdk大全
AsposeTotalfor.NETGroupdocs
Groupdocs.Viewerfor.NETisaverybasicyetpotenttoolthatallowsdeveloperstorenderdocumentsandenabletheirapplicationstoviewitintheirapplicationswithoutusinganyotherthird-partysoftware,suchasMicrosoftOfficeo
- html+css实战64-综合案例3-图片完成
前端大歌谣
htmlcss前端
Documentbody{background-color:#f5f5f5;}.goods{width:234px;height:300px;background-color:#fff;/*样式居中*/margin:0auto;text-align:center;}img{width:160px;}运行结果
- DOM元素添加技巧全解析
代码的余温
前端
要将一个HTML元素添加到DOM树中,核心方法是先创建元素对象,再将其插入到文档结构中的指定位置。以下是基于常见实践总结的主要技术手段,每种方法均经过验证,确保兼容性和可靠性:1.使用document.createElement()创建并插入元素这是标准且推荐的方式:首先,用document.createElement()创建新元素(如document.createElement('div')),
- canvas入门教学(1)基本认识与了解
WebGIS小智
Canvas专题讲解htmljavascriptcanvaswebgl
从本文章开始,笔者将带大家从0开始,一点一点慢慢的学习canvas。掌握webgl图形渲染的一些底层的原理和逻辑,方便大家后续更容易理解一些gis框架和原理。canvas本质上是一个html元素,和其他html元素一样,本质上也属于document。canvas翻译过来中文叫做画布,顾名思义canvas的设计者最初是希望人们能够在网页上也有绘画的能力。canvas的用途很广,例如游戏,签名类,地图
- Mac 使用Docker安装Elasticsearch、Kibana 、ik分词器、head
风中带血
macosdockerelasticsearch
安装ElasticSearch通过docker安装esdockerpullelasticsearch:7.8.1在本地创建elasticsearch.yml文件mkdir/Users/ky/Documents/learn/es/elasticsearch.yml编辑yml文件内容http:host:0.0.0.0xpack.security.enabled:falsexpack.security.
- SAP-ABAP:SAP中工单号(生产订单号,Order Number)、预留号(Reservation Number)、凭证号(Material Document Number)三者的关系详解
爱喝水的鱼丶
vipSAPABAP运维开发语言
在SAP系统中,工单号(生产订单号,OrderNumber)、预留号(ReservationNumber)和凭证号(MaterialDocumentNumber)三者之间的关联关系贯穿于生产、物料管理和库存操作的全流程。以下是它们的逻辑关系及对应数据库表:1.核心关系流程图工单号(AUFNR)→预留号(RSNUM)→凭证号(MBLNR)工单号驱动预留号的生成(如生产领料需求)。预留号被消耗时生成凭
- SAP-ABAP:SAP DMS(文档管理系统)的详细说明,涵盖其核心功能、架构、配置及实际应用
爱喝水的鱼丶
vipSAPABAP开发语言DMS文档管理系统
1.DMS概述SAPDMS(DocumentManagementSystem)是SAP系统中用于管理企业文档的核心模块,支持文档的全生命周期管理(创建、存储、版本控制、审批、归档)。它与其他模块(如物料管理MM、生产计划PP、设备维护PM)深度集成,确保文档与业务对象的无缝关联。2.DMS核心功能文档存储:支持多种格式(PDF、CAD、图像、Office文档等)。版本控制:跟踪文档变更历史,支持回
- 如何实现打印功能
代码续发
Vue前端
一、AI赋能提供思路基本框架退货单打印内容exportdefault{methods:{handlePrint(){//临时显示打印内容document.getElementById('print-container').style.display='block';//调用打印window.print();//打印完成后隐藏(需延迟执行,确保打印已触发)setTimeout(()=>{docume
- Python删除Elasticsearch指定数据
小李飞刀李寻欢
pythonpythonelasticsearchjenkins
将type类型为keyword的字段为"fw"的数据删除。以下是使用Python删除Elasticsearch中指定数据的实现代码:fromelasticsearchimportElasticsearchdefdelete_fw_documents():#连接到Elasticsearch,根据实际情况修改连接参数es=Elasticsearch(["http://localhost:9200"])
- 2024年前端面试题及答案
2401_84433924
程序员前端
所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。3如何解决跨域?能说1,2,7,8就行。1、通过jsonp跨域2、CORS3、document.domain+iframe跨域4、location.hash+iframe5、window.name+iframe跨域
- java解析XML的几种方式
零度anngle
Javajavaxml
第一种:DOM。DOM的全称是DocumentObjectModel,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制。DOM接口提供了一种通
- canvas使用
CDwenhuohuo
canva可画
是HTML5引入的一个新标签,它首次出现在2004年的Safari浏览器中,由Apple提出,并在后来的HTML5标准中被正式采纳。IE8及以下❌不支持Canvas的基本用法-WebAPI|MDNvue3import{onMounted}from'vue';onMounted(()=>{constcanvas=document.getElementById('myCanvas');constctx
- Linux 基本命令整理
失因
linux服务器运维开发语言
Linux基本命令整理为了方便初学者快速掌握Linux常用命令,以下是经过分类整理的核心命令及用法说明。目录操作与文件管理pwd核心功能:打印当前工作目录的绝对路径,明确用户所在位置。实操示例:pwd#输出示例:/home/user/documentsls核心功能:列出指定目录中的文件和子目录(默认显示当前目录)。高频选项:-l:长格式显示,包含权限(如-rw-r–r–)、所有者、大小、修改时间等
- 导航系统源码模版,含首页,内页 ,收录提交页
专业软件系统开发
源码下载导航系统源码模版
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍含首页,内页,收录提交页,到手就可以用,随意接入后台使用,仅供学习无后台版,需要自己傻瓜式接入一下。二、效果展示1.部分代码代码如下(示例):constloginModal=document.getElementById('login-modal');constregisterModal=document.get
- 【亲测免费】 高效TEC温度控制器设计:解锁热电制冷新境界
吴滨柱
高效TEC温度控制器设计:解锁热电制冷新境界【下载地址】高效率TEC温度控制器设计资源下载分享高效率TEC温度控制器设计资源下载项目地址:https://gitcode.com/Open-source-documentation-tutorial/d8924项目介绍在现代科技领域,热电制冷技术(TEC)因其独特的无运动部件、无噪音、无污染等优点,被广泛应用于精密温度控制领域。然而,传统TEC控制器
- java实体类常规校验(字符串不包含空格)
边走、边悟迟早会好1、自定义注解字段内容不能包含空格packagecom.gkfx.farm.space;importjakarta.validation.Constraint;importjakarta.validation.Payload;importjava.lang.annotation.*;//实体类新增修改时不能包含空格@Documented@Constraint(validatedB
- Ascendc helloworld编译问题
1入门ascendc写HelloWorldhttps://www.hiascend.com/document/detail/zh/canncommercial/81RC1/developmentguide/opdevg/Ascendcopdevg/atlas_ascendc_10_0004.html下面是一个简单的AscendC的"HelloWorld"样例,展示了一个AscendC核函数(设备侧
- javascript实现批量打印
十月不到底
javascriptjavascriptweb打印js打印
打印varhtml='你所要打印的html';variframeWindow=document.getElementById("iframePrint");iframeWindow.contentWindow.document.body.innerHTML=html;iframeWindow.contentWindow.print();iframeWindow.contentWindow.loca
- rk3588 rknntoolkit模型转换及部署
Godlovesea
python
cankao参考实时视频取流GNOME桌面—NeardiLinux用户手册v1.1.2documentationhttp://wiki.neardi.com/wiki/linux_guide/zh_CN/docs/demo/demo_gnome.htmlRK3588部署rknntoolkit2进行模型转换_xingman510的博客-CSDN博客以yolov5篇---yolov5训练pt模型并转换
- CSS基础
SMIly_723
css前端
1.css的介绍,什么是cssCSS是CascadingStyleSheets的英文缩写,中文翻译即层叠样式表。css是用于页面布局与美化的,css实现内容与样式分开,这种方式便捷我们的开发。2.css语法css是由选择器,属性,属性值组成的。css有三种引入方式分别是:1.行内样式(内联样式)直接在标签内进行css样式的写入。这是⾏内样式的使⽤⽅式2.内嵌样式(内部样式)Document.tex
- 零基础用Python打造Android字符串资源翻译器(三):读写XML文件
itfitness
目录前言今天主要是使用Python操作xml文件,对xml文件中的字符串进行翻译,效果如下。效果展示关键知识点今天主要是学习了对xml文件的读写操作。xml读取操作:importxml.dom.minidomasminidom#xml读写dom=minidom.parse('strings.xml')root=dom.documentElementstrings=root.getElementsB
- SAP操作手册之 IDOC基础篇
syjf1976_abap
点击蓝字关注我们一前言网上有一个介绍IDOC的文章,讲的非常详细.有兴趣的可以看一下.https://www.cnblogs.com/jiangzhengjun/p/4292135.html#_Toc411677416本文更多的从开发的角度及我的理解去讲解IDOC的一些基础知识,作为一个补充吧.二IDOC是什么IDoc:intermediate(媒介)document.通过特定的方式把接口传递的内
- 操作内联样式-css
虎三呀
#box1{width:100px;height:100px;background-color:red;}window.onload=function(){/**点击按钮以后,修改box1的大小*///获取box1varbox1=document.getElementById("box1");//为按钮绑定单击响应函数varbtn01=document.getElementById("btn01"
- 多线程编程之存钱与取钱
周凡杨
javathread多线程存钱取钱
生活费问题是这样的:学生每月都需要生活费,家长一次预存一段时间的生活费,家长和学生使用统一的一个帐号,在学生每次取帐号中一部分钱,直到帐号中没钱时 通知家长存钱,而家长看到帐户还有钱则不存钱,直到帐户没钱时才存钱。
问题分析:首先问题中有三个实体,学生、家长、银行账户,所以设计程序时就要设计三个类。其中银行账户只有一个,学生和家长操作的是同一个银行账户,学生的行为是
- java中数组与List相互转换的方法
征客丶
JavaScriptjavajsonp
1.List转换成为数组。(这里的List是实体是ArrayList)
调用ArrayList的toArray方法。
toArray
public T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分
- Shell 流程控制
daizj
流程控制if elsewhilecaseshell
Shell 流程控制
和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法):
<?php
if(isset($_GET["q"])){
search(q);}else{// 不做任何事情}
在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样 if else if
if 语句语
- Linux服务器新手操作之二
周凡杨
Linux 简单 操作
1.利用关键字搜寻Man Pages man -k keyword 其中-k 是选项,keyword是要搜寻的关键字 如果现在想使用whoami命令,但是只记住了前3个字符who,就可以使用 man -k who来搜寻关键字who的man命令 [haself@HA5-DZ26 ~]$ man -k
- socket聊天室之服务器搭建
朱辉辉33
socket
因为我们做的是聊天室,所以会有多个客户端,每个客户端我们用一个线程去实现,通过搭建一个服务器来实现从每个客户端来读取信息和发送信息。
我们先写客户端的线程。
public class ChatSocket extends Thread{
Socket socket;
public ChatSocket(Socket socket){
this.sock
- 利用finereport建设保险公司决策分析系统的思路和方法
老A不折腾
finereport金融保险分析系统报表系统项目开发
决策分析系统呈现的是数据页面,也就是俗称的报表,报表与报表间、数据与数据间都按照一定的逻辑设定,是业务人员查看、分析数据的平台,更是辅助领导们运营决策的平台。底层数据决定上层分析,所以建设决策分析系统一般包括数据层处理(数据仓库建设)。
项目背景介绍
通常,保险公司信息化程度很高,基本上都有业务处理系统(像集团业务处理系统、老业务处理系统、个人代理人系统等)、数据服务系统(通过
- 始终要页面在ifream的最顶层
林鹤霄
index.jsp中有ifream,但是session消失后要让login.jsp始终显示到ifream的最顶层。。。始终没搞定,后来反复琢磨之后,得到了解决办法,在这儿给大家分享下。。
index.jsp--->主要是加了颜色的那一句
<html>
<iframe name="top" ></iframe>
<ifram
- MySQL binlog恢复数据
aigo
mysql
1,先确保my.ini已经配置了binlog:
# binlog
log_bin = D:/mysql-5.6.21-winx64/log/binlog/mysql-bin.log
log_bin_index = D:/mysql-5.6.21-winx64/log/binlog/mysql-bin.index
log_error = D:/mysql-5.6.21-win
- OCX打成CBA包并实现自动安装与自动升级
alxw4616
ocxcab
近来手上有个项目,需要使用ocx控件
(ocx是什么?
http://baike.baidu.com/view/393671.htm)
在生产过程中我遇到了如下问题.
1. 如何让 ocx 自动安装?
a) 如何签名?
b) 如何打包?
c) 如何安装到指定目录?
2.
- Hashmap队列和PriorityQueue队列的应用
百合不是茶
Hashmap队列PriorityQueue队列
HashMap队列已经是学过了的,但是最近在用的时候不是很熟悉,刚刚重新看以一次,
HashMap是K,v键 ,值
put()添加元素
//下面试HashMap去掉重复的
package com.hashMapandPriorityQueue;
import java.util.H
- JDK1.5 returnvalue实例
bijian1013
javathreadjava多线程returnvalue
Callable接口:
返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法。
Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。
ExecutorService接口方
- angularjs指令中动态编译的方法(适用于有异步请求的情况) 内嵌指令无效
bijian1013
JavaScriptAngularJS
在directive的link中有一个$http请求,当请求完成后根据返回的值动态做element.append('......');这个操作,能显示没问题,可问题是我动态组的HTML里面有ng-click,发现显示出来的内容根本不执行ng-click绑定的方法!
 
- 【Java范型二】Java范型详解之extend限定范型参数的类型
bit1129
extend
在第一篇中,定义范型类时,使用如下的方式:
public class Generics<M, S, N> {
//M,S,N是范型参数
}
这种方式定义的范型类有两个基本的问题:
1. 范型参数定义的实例字段,如private M m = null;由于M的类型在运行时才能确定,那么我们在类的方法中,无法使用m,这跟定义pri
- 【HBase十三】HBase知识点总结
bit1129
hbase
1. 数据从MemStore flush到磁盘的触发条件有哪些?
a.显式调用flush,比如flush 'mytable'
b.MemStore中的数据容量超过flush的指定容量,hbase.hregion.memstore.flush.size,默认值是64M 2. Region的构成是怎么样?
1个Region由若干个Store组成
- 服务器被DDOS攻击防御的SHELL脚本
ronin47
mkdir /root/bin
vi /root/bin/dropip.sh
#!/bin/bash/bin/netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F:‘{print $1}’|sort|uniq -c|sort -rn|head -10|grep -v -E ’192.168|127.0′|awk ‘{if($2!=null&a
- java程序员生存手册-craps 游戏-一个简单的游戏
bylijinnan
java
import java.util.Random;
public class CrapsGame {
/**
*
*一个简单的赌*博游戏,游戏规则如下:
*玩家掷两个骰子,点数为1到6,如果第一次点数和为7或11,则玩家胜,
*如果点数和为2、3或12,则玩家输,
*如果和为其它点数,则记录第一次的点数和,然后继续掷骰,直至点数和等于第一次掷出的点
- TOMCAT启动提示NB: JAVA_HOME should point to a JDK not a JRE解决
开窍的石头
JAVA_HOME
当tomcat是解压的时候,用eclipse启动正常,点击startup.bat的时候启动报错;
报错如下:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME shou
- [操作系统内核]操作系统与互联网
comsci
操作系统
我首先申明:我这里所说的问题并不是针对哪个厂商的,仅仅是描述我对操作系统技术的一些看法
操作系统是一种与硬件层关系非常密切的系统软件,按理说,这种系统软件应该是由设计CPU和硬件板卡的厂商开发的,和软件公司没有直接的关系,也就是说,操作系统应该由做硬件的厂商来设计和开发
- 富文本框ckeditor_4.4.7 文本框的简单使用 支持IE11
cuityang
富文本框
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>知识库内容编辑</tit
- Property null not found
darrenzhu
datagridFlexAdvancedpropery null
When you got error message like "Property null not found ***", try to fix it by the following way:
1)if you are using AdvancedDatagrid, make sure you only update the data in the data prov
- MySQl数据库字符串替换函数使用
dcj3sjt126com
mysql函数替换
需求:需要将数据表中一个字段的值里面的所有的 . 替换成 _
原来的数据是 site.title site.keywords ....
替换后要为 site_title site_keywords
使用的SQL语句如下:
updat
- mac上终端起动MySQL的方法
dcj3sjt126com
mysqlmac
首先去官网下载: http://www.mysql.com/downloads/
我下载了5.6.11的dmg然后安装,安装完成之后..如果要用终端去玩SQL.那么一开始要输入很长的:/usr/local/mysql/bin/mysql
这不方便啊,好想像windows下的cmd里面一样输入mysql -uroot -p1这样...上网查了下..可以实现滴.
打开终端,输入:
1
- Gson使用一(Gson)
eksliang
jsongson
转载请出自出处:http://eksliang.iteye.com/blog/2175401 一.概述
从结构上看Json,所有的数据(data)最终都可以分解成三种类型:
第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"ickes"这个字符串。
第二种类型是序列(sequence),又叫做数组(array)
- android点滴4
gundumw100
android
Android 47个小知识
http://www.open-open.com/lib/view/open1422676091314.html
Android实用代码七段(一)
http://www.cnblogs.com/over140/archive/2012/09/26/2611999.html
http://www.cnblogs.com/over140/arch
- JavaWeb之JSP基本语法
ihuning
javaweb
目录
JSP模版元素
JSP表达式
JSP脚本片断
EL表达式
JSP注释
特殊字符序列的转义处理
如何查找JSP页面中的错误
JSP模版元素
JSP页面中的静态HTML内容称之为JSP模版元素,在静态的HTML内容之中可以嵌套JSP
- App Extension编程指南(iOS8/OS X v10.10)中文版
啸笑天
ext
当iOS 8.0和OS X v10.10发布后,一个全新的概念出现在我们眼前,那就是应用扩展。顾名思义,应用扩展允许开发者扩展应用的自定义功能和内容,能够让用户在使用其他app时使用该项功能。你可以开发一个应用扩展来执行某些特定的任务,用户使用该扩展后就可以在多个上下文环境中执行该任务。比如说,你提供了一个能让用户把内容分
- SQLServer实现无限级树结构
macroli
oraclesqlSQL Server
表结构如下:
数据库id path titlesort 排序 1 0 首页 0 2 0,1 新闻 1 3 0,2 JAVA 2 4 0,3 JSP 3 5 0,2,3 业界动态 2 6 0,2,3 国内新闻 1
创建一个存储过程来实现,如果要在页面上使用可以设置一个返回变量将至传过去
create procedure test
as
begin
decla
- Css居中div,Css居中img,Css居中文本,Css垂直居中div
qiaolevip
众观千象学习永无止境每天进步一点点css
/**********Css居中Div**********/
div.center {
width: 100px;
margin: 0 auto;
}
/**********Css居中img**********/
img.center {
display: block;
margin-left: auto;
margin-right: auto;
}
- Oracle 常用操作(实用)
吃猫的鱼
oracle
SQL>select text from all_source where owner=user and name=upper('&plsql_name');
SQL>select * from user_ind_columns where index_name=upper('&index_name'); 将表记录恢复到指定时间段以前
- iOS中使用RSA对数据进行加密解密
witcheryne
iosrsaiPhoneobjective c
RSA算法是一种非对称加密算法,常被用于加密数据传输.如果配合上数字摘要算法, 也可以用于文件签名.
本文将讨论如何在iOS中使用RSA传输加密数据. 本文环境
mac os
openssl-1.0.1j, openssl需要使用1.x版本, 推荐使用[homebrew](http://brew.sh/)安装.
Java 8
RSA基本原理
RS