EPICS synApps介绍

news2024/9/20 10:58:08

一、synApps是什么?

1) 一个用于同步束线用户的EPICS模块集合。

2) EPICS模块

alive, autosave, busy, calc, camac, caputRecorder, dac128V, delaygen, dxp, ip, ip330, ipUnidig, love, mca, measComp, modbus, motor, optics, quadEM, softGlue, sscan, std, vac, vme, xxx, softGlueZynq, iocZed

3)支持的子目录

documentation, configure, utils

二、synApps模块

1、模块包含了以下类型的支持:

1) 编译好的代码;库,例如:

  • 记录和设备支持
  • SNL(状态标记语言)程序
  • 字符串计算,数组计算引擎

2)EPICS数据库和autosave-reqeust文件

  • 数据库是一个用高级语言编写的程序。
  • 可以运行一个数据库的一个或多个副本,每个副本具有它自己的私有过程变量(PV's)
  • 数据库设计者推荐PV's按它们在一个.req文件中命名被自动存储。

3) 用于MEDM,caQtDM和CSS-BOY的显示文件

        默认的用户界面

4) 文档

        某些模块包含了iocBoot目录,基本用于测试

三、synApps包含的其它模块

  • areaDetector(ADCore和ADSupport以及各种面探测器模块)
  • asyn
  • ipac
  • seq
  • stream
  • devIocStats
  • allenBradley

四、alive

发送一个IOC的运行状态到一台服务器

1)环境变量

2)vxWorks启动参数

3)启动时间

五、autosave

1) 记录所选EPICS PVs的最新值;在ioc重启时,恢复那些值

  • 不是存档程序;仅保存最新值
  • 不要与saveData混淆,saveData记录扫描数据
  • 当包含一个PV's列表时,即使仅一个PV发生了变化,整个列表被记录。

2) 可以保存/恢复任何标量或数组值的PV

  • 数组值的PV必须被保存在进行恢复操作的IOC上(通常,ioc's仅保存/恢复它们自己的PV's)
  • DBF_MENU, DBF_ENUM PV's被由数值处理

3) 保存操作对标量使用通道访问。

4) 恢复操作对标量使用静态数据库访问

5) 用数据库访问保存和恢复数组。

6)用于保存文件的三个恢复选项:

        a) 在记录/设备初始化前

  • 电机位置必须在这时被恢复
  • 数组不能在此时被恢复
  • 在记录init前是DBF_NOACCESS的PV's不能再此时被恢复。

        b) 在记录/设备初始化后

  • 重写记录初始化的值
  • 链接字段不能在此时被恢复

        c) 在记录初始化前和后

  • 在两个时间恢复'auto_settings.sav'文件
  • 尝试在错误时间恢复一个PV是否一个错误
  • 如果你在此时恢复一个电机位置,你覆盖了从硬件读取的值,而不写入硬件

7) PV列表可以使用include文件(例如:<database_name>.req),包含路径。

  • 数据库开发者可以向数据库提供默认的include文件。
  • 用户可以用自定义include文件覆盖

8) 触发保存

  • 在列表中任何PV发生变边时
  • 周期地
  • 一个触发PV变化时
  • 手动

9) 用户可以重载保存设置

10) 重启,autosave可以从文件服务器恢复

        当前仅限vxWorks

11) 用户可以选择保存冗余文件

12) autosave通过EPICS PV's报告状态

13) 示例request文件

# PV名称
xxx:my_PV.VAL
xxx:my_array_PV.VAL

# 关键字 include文件的名称 宏替换
file motor_settings.req P=$(P),M=m1

...

14) 示例save文件

# save/restore V4.4 Automatically generated…
xxx:my_PV.VAL 1.0
xxx:my_array_PV.VAL @array@ { “0” “0.1” … “10.2” }
xxx:m1.DIR 0
xxx:m1.DHLM 100
xxx:m1.DLLM –100
...

15) configMenu支持手动保存/恢复

         几乎用于softGlue和scan配置

六、busy

        1)允许通道访问客户端和asyn驱动程序参与EPICS的结束报告

        2)记录

                a) busy,类似bo记录,但仅在VAL==0时,才执行转发链接(forward)

                b) 使用示例

七、calc

 支持计算在运行时输入的表达式

1) 记录

        a) acalcout:类似calcout,但也支持数组表达式;用于可以指定wait-for-completion。

        b) scalcout:类似calcout,但也支持字符串表达式;用于可以指定wait-for-completion。

        c) swait:类似calcout,但使用recDynLink(没有"PP MS"属性,并且等待结束)。

        d) transform:类似于共享一个PV数据池的16个calcout记录。

        e) sseq:类似base中的seq,但能够获取和写入字符串;用于可以指定wait-for-completion。

2) 其它代码

        a) 用于aSub记录的插值程序

        b) 用于sub记录的计算平均程序

        c) sseq-record编译器

3) 用于运行时编程的数据库,显示文件

  • userCalc, userCalcout
  • userStringCalc
  • userArrayCalc
  • userTransform
  • userStringSeq
  • userAve
  • interpolation

4) 所有calc表达式的示例可以在synApps MEDM帮助窗口中找到

八、CAMAC

1) 与CAMAC机箱/模块进行通信

2) 记录

        camac -- 用于实时camac控制的通用BCNAF/数据

 3) 支持的设备

  • VME总线适配器
  • CAMAC crate控制器
  • E500电机控制器
  • RTC-018实时时钟
  • QS-450四路scaler

九、caputRecorder

1) 支持记录和回放通道访问写入的序列

2)用于执行python函数的用户接口

十、configure

1) 配置在synApps中或者由synApps使用的所有模块

2) RELEASE

        指定指向EPICS base的以及指向每个模块synApps/support的版本号和文件路径。

3)makeReleaseConsistent.pl

  • 编辑synApps/support中每个模块的<module>/configure/RELEASE,使得符合synApps/support/configure/RELEASE
  • 在synApps/support中“make release”使得这个脚本运行。

十一、dac128V

dac128V IndustryPack模块的设备支持,数据库和窗口文件。

  • 8通道,12位DAC
  • 存在运行时手动或者根据编写的算法运行一个DAC通道的支持,或者作为一个扫描定位器,或者作为最多~10Hz的PID反馈查看的组成,或者作为最高~10KHz的快速PID反馈查看的组成。

十二、delaygen

对延时生成器的设备支持,数据库和窗口文件。

1) Standord Reseach System DG535和DG645数字延时生成器。

2)  Colby Instrument PDL 100A可编程延时线

3) 相关的同步辐射延时生成器

十三、documentation

顶层synApps文档

  • synApps是什么?
  • 如何部署它。
  • 如何构建它。
  • 如何从'xxx'示例模块产生一个用户程序。
  • 如何使得用户程序适配一个特定硬件

十四、dxp

1) XIA DXP和Saturn谱学系统的记录、设备支持,数据库和窗口文件。

2)用于设置DXP参数的dxp记录

3) 对mca记录的设备支持

十五、ip

很多基于消息的设备的设备支持、SNL代码,数据库和窗口文件。

1) 原先,用于通过InstrstryPack硬件支持的设备。

2) 注意,这个支持的某些将不可避免过时了,或者待定访问硬件用于测试。

deviceCmdReplay

1) 用于在运行时为一条命令/应答消息写支持

2)scalcout来格式化输出字符串

3) asyn记录来写/读设备

4) scalcout记录解析应答

devXxStrParm设备支持

新支持应该使用stream/asyn

十六、ip330

用于IP330 ADC InstrutryPack模块的设备支持,数据库和窗口文件。

16/32通道,16位 ADC

1) ip330Scan用于ADC通道的周期的,平均的读取

2) 对MCA记录ip330Sweep,用于在一个飞扫中使用ip330作为一个波形示波器,或者记录模拟数据。

3) ip330PID用于在快反馈循环中使用ip330

十七、ipUnidig

1) 对IPUnidig数字I/O IndustryPack模块的设备支持,数据库和窗口文件。

2) IP-UD-I 24通道输入/输出/中断模块

3) DIO316I 48位数字I/O模块

十八、love

对Love控制器的支持

  • 使用RS485 Octal串行IndustryPact模块,或者使用了232、485转换器的RS232模块。
  • 对ao,ai,bo,bi和mbbi记录的asyn设备支持
  • 用于Lovelink的asyn插值接口
  • 示例程序,数据库和窗口文件,仅限vxWorks和Linux
  • 提供了用于vxWorks和Linux的启动脚本来配置Ipac,asyn和插值接口。

十九、mca

1) 对多通道分析仪,多通道定标器和其它数组值探测器的支持。

2) mca记录

3) 设备支持

  • Canberra 556 AIM模块(MCA和ICB控制器)
  • DSA-2000以太网MCA
  • 用于谱学的各种Canberra-ICB模块
  • SIS 3801(Struck STR7201)和3820多通道定标器

二十、measComp

对Measurement Computing USB设备的支持

  • USB-CTR08 8通道计时/计数模块
  • USB-1608GX-2AO模拟I/O模块
  • USB-4303(过时)计数/计时模块

二十一、modbus

1) 对modbus协议的支持

  • 可编程逻辑控制器(PLCs)
  • 其它modbus设备,诸如温度控制器

2) 使用asyn支持各种通信链路

二十二、motor

1) motor记录和设备支持

  • 步进电机和伺服电机
  • 软电机支持:a) 放置一个电机"面孔",例如:一个DAC通道;b) 通过一个非线性转换驱动一个硬件电机
  • user/dial/raw坐标
  • 回程差消除算法
  • pre/post移动命令
  • 很多其它特性

2) 支持的电机类型

  • Oregon Micro Systems, Inc. (OMS) models; VME8, VME44, VME58, VS4, VX2, MAXv, PC68 and PC78.
  • Newport models MM3000, MM4000/5/6, PM500, ESP300/301/100 and XPSC8.
  • Schneider Electric (formally IMS) models IM483, MDrive and MForce.
  • Advanced Control Systems, Corp. model MCB-4B.
  • Mclennan models PM304 and PM600.
  • Physik Instrumente (PI) GmbH & Co. model C-630, C-844, C-848, C-862/863, E-662, E-710 and E-816.
  • MicroMo model MVP 2001 B02.
  • Micos model MoCo dc controller, SMC hydra controller.
  • Delta Tau PMAC2-VME controller.
  • Faulhaber MCDC2805 servo controller.
  • Parker Hannifin, Compumotor Division, 6K Series controllers.
  • New Focus, models; 8750 and 8752.
  • ACS Motion Control, SPiiPlus model.
  • Spectra-Physics, Encoder Mike Controller, Model 18011.
  • Thorlabs, Piezo Controller, Model MDT695.
  • Animatics Corporation SmartMotor.
  • piezosystem jena GmbH EDS data interface module.
  • Kohzu SC-200, SC-400, SC-800 stepper motor controllers.
  • attocube systems AG ANC150 Piezo Step Controller.
  • Aerotech Soloist single-axis servo controller, Ensemble multi-axis digital servo controller.
  • Hytec 8601 Industry Pack based 4-channel Stepper Motor Controller.

二十三、optics

1) 狭缝和镜子

  • 四个虚拟定位器;两个真实电机
  • 自动同步到电机位置
  • 报告结束

2) 单色器

非色散双晶

  • 几何:(Y1, Z2), (Y2, Z2)
  • 晶体品种:Si, Ge, 金刚石,Si(77K)
  • 米勒指数,可用的反射
  • 运行模式:a) Use/Set b) Manual/Auto
  • 管理垂直束线偏移
  • 自动同步到电机位置

球星栅格

  • 几何变量:a) 光栅密度;半径; b) 切线臂; c) 衍射级数  d) 输入/输出距离
  • 运行模式:a) Use/Set b) 手动/自动
  • 光栅条纹列表
  • 手动同步到电机位置

色散双晶

1) 几何:嵌套,对称

2) 晶体种类:Si, Ge, 钻石, Si(77K)

3) 米勒指数,可用的反射面

4) 运行模式:a) Use/Set b) Manual/Auto c) Theta1 / Theta1&2/ Rock Theta2

5) 适应入射光束角度偏移

6) 自动同步到电机位置

光学平台

1) Table记录支持一个6自由度的光学平台

2) 四种几何:SRI, GEOCARS, NEWPORT和PNC

3) user/client可以写任何到(x,y,z,thetax, thetay, thetaz)或者写到底层电机记录

4) 平台绕用户指定的点转动

5) 平台数据库包含一个由菜单选择的转动点的列表

6) 可以从电机位置恢复平台位置

7) 部分支持少于6个自由度

8) 几何:a)SRI  b)GeoCARS c)Newport d)PNC

 

9) 标定/sync:

  • Use/Set:更改到[X,Y,..]。移动平台/更改标定
  • Zero:重新定义当前[X,Y, ...]为0
  • Sync:从电机,更新[X,Y,...],遵守校准
  • Init:清除标定并且同步到电机

10) 平台记录设置电机速度,使得一起电机start/stop。

二十四、quadEM

支持4路输入的电表。

1) CAENels:AH401B, AH401D, AH501, AH501C和AH501D皮安表

2) APS四路电表

二十五、softGlue

支持基于FPGA的数字电子学

 

二十六、softGlueZynq

1) SoftGlue用于MicroZed和其它Zynq的基于FPGA的平台。

2) 在开发中。基本可以工作,但还未有中断支持。

3) 比SoftGlue更早来添加自定义组件。

4) analogProc是一个变体,它尝试成为一个SoftGlue。在非常初级的开发阶段。

5) 也见iocZed,它与synApps大部分剩下一起在*Zed平台部署softGlueZynq。

二十七、sscan

1) 支持用户编程的数据采集

  • sscan记录执行扫描
  • saveData保存数据到文件
  • recDynLink执行sscanRecord链接

2)一维扫描

a) 进行NPTS次

  • 设置条件:例如,移动电机;等待结束
  • 触发探测器:例如:启动scaler;等待结束
  • 采集数据:读取探测器信号;存入数组

b) 写数据到NFS文件

3) 多维扫描

a) 与1-D相同,但探测器触发器执行内层扫描

b) saveData监视一个sscan记录的集合,确定在扫描开始时扫描维度,并且按要求写数据。

4) 扫描特性

1) 三种1-D扫描类型:等步长,表格驱动,飞行

2)没有限制的数据点,扫描维度

3) 0-4个定位器,0-4个探测器触发器,0-70个探测器信号

4) 从scalar和一维数组值PV’s采集

5) 探测器/客户端等待,数据存储等待

6) 暂停/继续,取消

7) 双缓存:在下次1-D扫描过程中,可以写已经采集的一维数据

8) SaveData写自描述的XDR-格式(".mda")文件到NFS挂载的磁盘(目前,仅限vxWorks)

9) 一个定位器可以有私有的扫描参数(scanparm记录)。

10) 在扫描后操作包括移动到峰值,谷值和边沿

11) scanparm记录+扫描后操作=自动化1位对齐,因此,你可以容易地实现一个"对齐"按钮。

5) sscan记录

1) 执行1维扫描

2) 扫描前链接,可选的结束时回调

3) 定位器:任何可写,数值,标量的PV(菜单,枚举都可以)

4)探测器触发器:任何可读,数值,标量的或1D数组PV

5) 数组探测器:完全需要<scanRecord>.NPTS元素

6) 数组触发器:回调表示数组数据准备要读取

7)扫描后链接:可选的结束时回调

8) 暂停/继续

9) 取消(<scanRecord>.EXSC -> 0)等待回调,清理

10) (连续两次取消)杀死取消的回调

11) 与多个显示/数据采集客户端握手

12) 与数据存储客户端握手

6)与sscan记录一起使用的数据可视化工具

1) scanSee

2) dview, sview

3) utils/mdautils

4) utils/mdaExplorer

5) utils/mdaPythonUtils

二十八、std

1) Epid记录

        扩展的PID记录

2) Scaler记录

        用一个公共时钟,门和触发器控制一组计数器

3) 软电机数据库

        a) 运行时可编程的软电机/transform/hard-motor数据库

        b) 驱动一个电机经常一个非线性变换的快速方法

4) 四步数据库

        a) 一个最终计算最多4步(设置条件,读取数据)

        b) 原先维dichroism实验开发

5) PID控制

6) Femto电流放大器支持

7)genTweak, ramp_tweak

8) selector

9) pvHistory

10) Alarm clock, countdown timer

二十九、utils

1) changePrefix

             通过复制xxx模块更改EPICS前缀

2) changePrefixloc

           更改在一个ioc目录中所有文件的EPICS前缀

3) copyAdl

         找到MEDM-display文件;复制到指定目录。

4) mdaExplorer, mdaPythonUtils, mdautils-src

        显示,操作扫描数据(MDA)文件

5) snapDb

        "冻结"一个userCalcs集合成为一个自定义数据库,显示

6) Subversion utilites

        logModuleFromTag, releaseNotesFromTag, makeTar

三十、vac

支持真空测量和控制

1) vs, digitel记录

2) Granville-Phillips GP307, GP350

3)  Televac MM200, CC10

4) Digitel 500/1500

5) Gamma MPC, MPCe, LPC, SPC

三十一、vme

1) VME记录

  • 提供对VME总线的运行时访问
  • 对测试硬件好用
  • 一个不受支持的VME板卡的运行时编程控制

2) 对VME硬件的设备支持

  •  Joerger scaler

  • APS bunch-clock generator

  • APS machine-status interface

  • Heidenhain encoder interpolator

  • Generic A32 VME interface

  • HP Laser interferometer

  • VMI4116 16-bit DAC

  • Acromag 9440 16-bit digital input

三十二、xxx

1) 原型用户目录

  • 构建在synApps中所有东西成为一个装载模块
  • 包含装载/配置在synApps中几乎所有东西的命令文件
  • 包含示例顶层窗口文件
  • 包含设置环境变量以及启动示例用户接口的示例脚本
  • 包含用于所选VME和IndustryPack硬件的推荐地址/中断配置的表格

2) 使用这个模块的两种方式

a) 进行复制;运行changePrefix; 构建;自定义;运行一条束线

  • 这是推荐的用法
  • 详细说明在support/document

b) 引用/抓包 

三十三、iocZed

一个用于MicroZed的"xxx"模块

1) 构建在synApps中所有东西,已经展示它在MicroZed中Linux处理器上运行

2) 当前:alive, asyn, autosave, busy, calc, caputRecorder, iocStats, seq, softGlueZynq, sscan, std, stream

三十四、对于开发者:synApps的特性

1) 扩展的运行记录

        既不是同步也不是异步的记录

2) 结束时报告

        当通过ca_put_callback()被写时,所有数据库正确地表现。

3) recDynLink链接

        类似标准地EPICS链接,但没有"PP NMS"特性

4) GUI标准

        用于菜单,PV值,链接等地默认颜色

5) 协调运动

        在synApps中很多数据库(尤其在'optics'中)包含了若干电机的协调运行

6) 复杂数据库的初始化

        某些公共的EPICS初始化问题在各种synApps数据库中被处理。

三十六、协调运动

1) 示例情况:数据库(transform记录)

        狭缝,镜子,球星光栅单色器

2) 更复杂的情况:SNL代码

        多晶单色器

3) 非常复杂的情况:自定义记录

        光学平台,扫码

4) 标准一个有用的协调应该满足:

        a) 报告完成给ca_put_callback()

        b) 与CA客户端共享base定位器的控制

        c) 从base定位器的状态恢复状态

三十七、结束时报告

1) 在单个ioc中包含的数据库的简单规定

        在执行链中仅使用PP链接和转发(forward)链接

2) 数据库操作跨越多个ioc

        使用带put_callback链接的记录跨越iocs:

  •         带有异步设备支持的calcout
  • sscan, swait
  • sseq或sCalcout(.WAIT*=“Wait”

3) 在客户端执行部分操作的情况中

        a) 数据库通过PP或put_callback链接设置一个busy记录

        b) 当操作结束时CA客户端清除这个busy记录

4) 在部分操作是由一个CP链接驱动的情况中

        与以上没有不同;CP链接时一个CA客户端

三十八、复杂数据库的初始化

1) 初始值:.VAL vs .DOL

  • 大部分记录允许在数据库中设置.VAL字段
  • 注意:.DOL不能用于常量字符串

2)用记录/设备初始化的保存恢复和交换

  • 保存-恢复pass 0
  • 记录/设备初始化-->设备支持可以使用pass-0值
  • 保存-恢复pass 1 --> pass-1覆盖记录/设备-初始值

3) .PINI(在init时运行)使用和限制

        a) 这是数据库初始化的正常机制

        b) 如果你需要一个来自某个其它的.PINI初始化记录的值,而那个记录还未被运行?

        c) 注意:在.PINI运行中不考虑.PHAS

4) 与链接警报竞争

        a) 如果你有一个指向一个.UDF=1的记录的输入链接,你得到一个链接警报。

        b) 在一个记录运行前.UDF=1。(在3.14.1+,数据库可以指定.UDF)。

        c) transform记录在链接警报时可以取消执行。

5) CP链接的初始化问题

        a) 你有一个指向一个字段的CP链接,这个字段一个计算结果。

        b) 如果calc结果是与字段的初始值相同,你将有正确的值,但你将不知道你有正确的值,并且你将不直到确认要等多久。

        c) transform记录总是提交它的初始计算结果。

6) 可编程的初始化链接字段

        a) 必须用CA链接编写链接字段(因为锁集 recalc)

        b)在CA运行前.PINI运行

        c) 不能使用.PINI;从扫描任务驱动init;当init结束时,设置init记录为"Passive"。

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

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

相关文章

如何提升权限运行远程桌面客户端?

​ 我们远程支持他人的时候&#xff0c;有些情况下需要管理员权限才能执行操作&#xff0c;比如更新软件。那么如何提升权限运行远程桌面客户端&#xff1f; 如果您使用 Splashtop SOS 软件远程支持客户&#xff0c;可以使用连线提权功能提升至系统管理员权限&#xff0c;方便…

java 1(概要、变量与运算符)

java ——概要、变量与运算符 ✍作者&#xff1a;电子科大不知名程序员 &#x1f332;专栏&#xff1a;java学习指导 各位读者如果觉得博主写的不错&#xff0c;请诸位多多支持&#xff1b;如果有错误的地方&#xff0c;欢迎在评论区指出 目录java ——概要、变量与运算符命令行…

Linux | 压缩和解压文件详细

linux系统中针对不同的文件&#xff0c;有不同的压缩命令。本文对常见压缩和解压命令进行总结zip文件1.1.unzip解压单个文件unzip 命令可以查看和解压缩 zip 文件。该命令的基本格式如下&#xff1a;unzip filename.zip (文件后可添加压缩相关参数)-d 目录名 将压缩文件解压到指…

牛客网--加法模拟器---题号:NC22007

链接&#xff1a;https://ac.nowcoder.com/acm/problem/22007 来源&#xff1a;牛客网 题目描述 牛牛渐入佳境&#xff0c;他准备做一个加法模拟器来玩玩&#xff0c;输入两个数&#xff0c;分别打印这两个数的横式和竖式运算式子。 输入描述: 输入两个整数a, b 以空格隔开…

大家一起做测试的,凭什么你现在拿20k,我却还只有10k?...

最近我发现一个神奇的事情&#xff0c;我一个97年的朋友居然已经当上了测试项目组长&#xff0c;据我所知他去年还是在深圳的一家创业公司做苦逼的测试狗&#xff0c;短短8个月&#xff0c;到底发生了什么&#xff1f; 于是我立刻私聊他八卦一番。 原来他所在的公司最近正在裁…

softmax与simod如何选择?

前言&#xff1a;博主最近在复现代码的时候遇到一个问题&#xff0c;有的代码使用softmax有的使用sigmod&#xff0c;两者使用到底有什么区别呢&#xff1f; 一、softmax函数 1.1公式 &#xff08;一般只用于最后一层进行分类&#xff09;深度学习中使用Softmax进行分类。 1…

数据结构与算法——5.空间复杂度分析

这篇文章让我们来讨论一下空间复杂度 目录 1.概述 2.java中常见内存占用 2.1基本数据类型内存占用情况 2.2计算机访问内存的方式 2.3引用大小 2.4对象大小 2.5一般内存占用 2.6数组占用地址大小 3.算法的空间复杂度 4.小结 1.概述 计算机的软硬件都经历了一个比较漫…

大数据面试题集锦-Hadoop面试题(四)-YARN

你准备好面试了吗?这里有一些面试中可能会问到的问题以及相对应的答案。如果你需要更多的面试经验和面试题&#xff0c;关注一下"张飞的猪大数据分享"吧&#xff0c;公众号会不定时的分享相关的知识和资料。 文章目录1、为什么会产生 yarn,它解决了什么问题&#xf…

Linux系统常用的2种切换用户命令

文章目录一、su命令二、sudo命令总结一、su命令 1、语法&#xff1a;&#xff08;英文全拼&#xff1a;switch user&#xff09; su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]2、参数说明&#xff1a; -f或--fast&#xff1a;不必读启动档&…

值得收藏!适合小微企业的万元数字化攻略!

编者按&#xff1a;小微企业数字化之路困难重重&#xff1f;看看这款全新的全面数字化方案&#xff0c;低成本、部署效率、免安装、免维护、数据安全&#xff0c;小微企业的数字化福音&#xff01;关键词&#xff1a;低成本&#xff0c;开箱即用&#xff0c;免安装免维护&#…

数据结构——树(一):二叉树

前言 在这篇文章中&#xff0c;荔枝会整理一下自己学习二叉树的学习笔记。主要内容包括树与二叉树的基本定义以及基础概念、二叉树的存储结构、二叉树的四种遍历方法以及二叉查找树的基本内容。 文章目录 前言 一、树形存储结构 二、二叉树 2.1 二叉树的基本定义 2.2 二叉…

【项目笔记】尚硅谷《云原生实战》

尚硅谷《云原生实战》1、云服务器nginx测试2、子网3、Docker4、Redis尚硅谷云原生项目 官方笔记 1、云服务器nginx测试 在云服务器供应商购买云服务器&#xff0c;配置弹性公网ip&#xff1a;121.37.230.200。外部访问使用公网ip&#xff0c;弹性公网每次会变&#xff1b;服务…

Docker中安装并配置单机版redis

1、使用docker安装redis 搜索Reis镜像&#xff0c;这里展示的是官方最新的镜像docker search redis 使用官方dockerhub搜索redis 2、选用常用的redis5.0作为安装的版本docker pull redis:5.0 3、运行redis容器的两种方式 3.1 不映射外部配置文件直接运行redis5.0镜像docker …

【C#基础】C# 正则表达式

序号系列文章7【C#基础】C# 常用数据结构8【C#基础】C# 面向对象编程9【C# 基础】C# 异常处理操作文章目录前言1&#xff0c;Regex 的概念2&#xff0c;Regex 的创建3&#xff0c;Regex 常用操作4&#xff0c;Regex 类的使用5&#xff0c;学习资源推荐结语前言 &#x1f33c; h…

软件测试之【性能测试】

性能测试的定义 性能测试的定义&#xff1a;通过自动化测试工具或者代码手段&#xff0c;来模拟正常、峰值负载访问被测系统&#xff0c;来观测系统各项性能指标是否合格的过程。 性能测试的分类 基于代码的性能测试&#xff08;关注点是函数或方法执行的效率&#xff09; 基于…

acwing1562 微博转发(宽搜)

微博被称为中文版的 Twitter。 微博上的用户既可能有很多关注者&#xff0c;也可能关注很多其他用户。 因此&#xff0c;形成了一种基于这些关注关系的社交网络。 当用户在微博上发布帖子时&#xff0c;他/她的所有关注者都可以查看并转发他/她的帖子&#xff0c;然后这些人…

铰链、弹簧,特殊的物理关节

title: 铰链、弹簧&#xff0c;特殊的物理关节 date: 2023-02-28T13:32:57Z lastmod: 2023-02-28T14:24:06Z 铰链关节&#xff08;Hinge Join&#xff09;组件 组件-Physics-Hinge Join Anchor 当物体挂载铰链组件以后&#xff0c;组件下Anchor等同于边长为1的立方体。当这…

机器学习笔记之流形模型——标准流模型基本介绍

机器学习笔记之流形模型——标准流模型基本介绍引言回顾&#xff1a;隐变量模型的缺陷标准流(Normalizing Flow\text{Normalizing Flow}Normalizing Flow)思想分布变换的推导过程引言 本节将介绍概率生成模型——标准流模型(Normalizing Flow\text{Normalizing Flow}Normalizi…

第九节 常用API(String/ArrayList)

常用API(String/ArrayList) java写好的程序&#xff0c;我们可以直接调用。 String类定义的变量可以用于存储字符串&#xff0c;同时String类提供了很多操作字符串的功能&#xff0c;我们可以直接使用。 ArrayList简单介绍 1.ArrayList代表的是集合类&#xff0c;集合是一种容…

《C++ Primer Plus》(第6版)第6章编程练习

《C Primer Plus》&#xff08;第6版&#xff09;第6章编程练习《C Primer Plus》&#xff08;第6版&#xff09;第6章编程练习1. 大小写转换2. 平均值3. 菜单4. 成员5. 收入所得税6. 捐款7. 统计单词8. 统计文件字符数9. 重写编程练习6《C Primer Plus》&#xff08;第6版&…