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

EPICS synApps介绍

一、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"。

相关文章:

EPICS synApps介绍

一、synApps是什么&#xff1f; 1&#xff09; 一个用于同步束线用户的EPICS模块集合。 2&#xff09; EPICS模块 alive, autosave, busy, calc, camac, caputRecorder, dac128V, delaygen, dxp, ip, ip330, ipUnidig, love, mca, measComp, modbus, motor, optics, quadEM,…...

Pycharm和跳板机 连接内网服务器

Pycharm和跳板机 连接内网服务器 建立配置文件 本地配置 .ssh 文件夹下配置 config 文件 Host jumpHostName xxxPort 22User xxxServerAliveInterval 30IdentityFile C:\Users\15284\.ssh\id_rsa # 通过密钥连接Host server # 同样&#xff0c;任意名字&#xff0c;随…...

mysql去重查询的三种方法

文章目录前言一、插入测试数据二、剔除重复数据方法1.方法一&#xff1a;使用distinct2.方法二&#xff1a;使用group by3.方法三&#xff1a;使用开窗函数总结前言 数据库生成环境中经常会遇到表中有重复的数据&#xff0c;或者进行关联过程中产生重复数据&#xff0c;下面介…...

PHP反序列化

文章目录简介POP链构造和Phar://题目[CISCN2019 华北赛区 Day1 Web1]Dropbox字符串逃逸简介 php序列化的过程就是把数据转化成一种可逆的数据结构&#xff0c;逆向的过程就叫做反序列化。 php将数据序列化和反序列化会用到两个函数&#xff1a; serialize 将对象格式化成有序的…...

什么蓝牙耳机打电话效果最好?通话效果好的无线蓝牙耳机

2023年了&#xff0c;TWS耳机虽说近乎人手一只了&#xff0c;但用户换新的需求和呼声依然热火朝天&#xff0c;因为我们想要听音乐、刷视频的时候都得准备&#xff0c;下面整理一些通话效果不错的耳机品牌。 第一款&#xff1a;南卡小音舱蓝牙耳机 动圈单元&#xff1a;13.3m…...

Tesseract centos环境安装,基于springboot图片提取文字

下载tesseract-orc https://github.com/tesseract-ocr/tesseract/tags下载leptonica wget http://www.leptonica.org/source/leptonica-1.78.0.tar.gz解压leptonica tar -xvf leptonica-1.78.0.tar.gz 配置编译安装leptonica 进文件夹 ./configure make make install安装aut…...

Elasticsearch7.8.0版本优化——写入速度优化

目录一、 写入速度优化的概述二、如何写入速度优化2.1、 批量数据提交2.2、 优化存储设备2.31、 合理使用合并2.4、 减少 Refresh2.5、 加大 Flush2.6、 减少副本的数量一、 写入速度优化的概述 ES 的默认配置&#xff0c;是综合了数据可靠性、写入速度、搜索实时性等因素。实使…...

【Redis】Redis主从同步中数据同步原理

【Redis】Redis主从同步中数据同步原理 文章目录【Redis】Redis主从同步中数据同步原理1. 全量同步1.1 判断是否第一次数据同步2. 增量同步3. 优化Redis主从集群4. 总结1. 全量同步 主从第一次同步是全量同步。 数据同步包括以下三个阶段&#xff1a; 在从节点执行slaveof命令…...

Python基础—while循环

(1)while循环&#xff1a; 语法格式&#xff1a; while 条件&#xff1a;   执行语句1……   执行语句2…… 适用条件&#xff1a;无限循环 死循环 while True:print(条件是真的&#xff01;)代码实例&#xff1a; i 0 # 创建一个计数的变量 while i < 5: # Truepr…...

linux基础(管道符,检索,vim和vi编辑使用)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…...

GAN | 代码简单实现生成对抗网络(GAN)(PyTorch)

2014年GAN发表&#xff0c;直到最近大火的AI生成全部有GAN的踪迹&#xff0c;快来简单实现它&#xff01;&#xff01;&#xff01;GAN通过计算图和博弈论的创新组合&#xff0c;他们表明&#xff0c;如果有足够的建模能力&#xff0c;相互竞争的两个模型将能够通过普通的旧反向…...

华为面试题就这?00后卷王直接拿下30k华为offer......

先说一下我的情况&#xff0c;某211本计算机&#xff0c;之前在深圳那边做了大约半年多少儿编程老师&#xff0c;之后内部平调回长沙这边&#xff0c;回来之后发现有点难&#xff0c;这边可能是业绩难做&#xff0c;虚假承诺很厉害&#xff0c;要给那些家长虚假承诺去骗人家&am…...

html的常见标签使用

目录 1.vscode基础操作 2.html基础 语法 3.HTML文件的基本结构标签 4.注释标签 5.标题标签 6.段落标签:p 7.格式化标签 8.图片标签:img 绝对路径 相对路径 网络路径 alt属性 title属性 width/height属性 9.超链接标签:a 10.表格标签 11.列表标签 有序列表 无…...

STM32——毕设智能感应窗户

智能感应窗户 一、功能设计 以STM32F103芯片最小系统作为主控&#xff0c;实现自动监测、阈值设定功能和手动控制功能。 1、自动监测模式下&#xff1a; ① 采用温湿度传感器&#xff0c;实现采集当前环境的温度、湿度数值。 ② 采用光敏传感器&#xff0c;实现判断当前的环境…...

golang archive/tar库的学习

archive/tar 是 Golang 标准库中用于读取和写入 tar 归档文件的包。tar 是一种常见的文件压缩格式&#xff0c;它可以将多个文件和目录打包成单个文件&#xff0c;可以用于文件备份、传输等场景。 以下是一些学习 archive/tar 包的建议&#xff1a; 了解 tar 文件格式。在学习…...

MongoDB 详细教程,这一篇就够啦

文章目录1. 简介2. 特点3. 应用场景4. 安装&#xff08;docker&#xff09;5. 核心概念5.1 库5.2 集合5.3 文档6. 基本操作6.1 库6.1.1 增6.1.2 删6.1.3 改6.1.4 查6.2 集合6.2.1 增6.2.2 删6.2.3 改6.2.4 查6.3. 文档6.3.1 增6.3.2 删6.3.3 改6.3.4 查1. 语法2. 对比语法3. AN…...

python为什么慢

解释性 python是动态类型解释性语言&#xff0c;不管使用哪种解释器 因为“解释性语言”这个概念更多地是指代码的执行方式&#xff0c;而不是编译方式。在解释性语言中&#xff0c;代码在执行时会一行一行地解释并执行&#xff0c;而不是预先编译为机器语言。而即使使用了PyP…...

Android kotlin 组件间通讯 - LiveEventBus 及测试(更新中)

<<返回总目录 文章目录 一、LiveEventBus是什么二、测试一、LiveEventBus是什么 LiveEventBus是Android中组件间传递消息,支持AndroidX,Event:事件,Bus:总线 范围全覆盖的消息总线解决方案 进程内消息发送App内,跨进程消息发送App之间的消息发送更多特性支持 免配…...

linux服务器时间同步

Linux服务器时间同步 需求&#xff1a;两台以上服务器之间的时间同步&#xff0c;以其中一台服务器为时间源&#xff0c;其余服务器同步这台时间源服务器的时间 其中&#xff0c;时间源服务器需要有访问外网权限&#xff0c;不然时间源服务器无法同互联网同步最新的时间&#…...

扒系统CR8记录

目录 终极改造目标 过程记录 参考 为了将一套在线安装的系统&#xff0c;在不了解其架构、各模块细节的基础上&#xff0c;进行扒弄清楚&#xff0c;作以下记录。 终极改造目标 最终的目标&#xff0c;就是只通过CreMedia8_20230207.tar.gz解压 install 就把业务包安装了&…...

面试题(基础篇)

1、你是怎样理解OOP面向对象的面向对象是利于语言对现实事物进行抽象。面向对象具有以下特征&#xff1a;&#xff08;1&#xff09;继承&#xff1a;继承是从已有类得到继承信息创建新类的过程&#xff08;2&#xff09;封装&#xff1a;通常认为封装是把数据和操作数据的方法…...

如何利用ReconPal将自然语言处理技术应用于信息安全

关于ReconPal 网络侦查一直是网络安全研究以及渗透测试活动中最重要的阶段之一&#xff0c;而这一阶段看起来很容易&#xff0c;但往往需要很大的努力和很强的技术才能做好来。首先&#xff0c;我们需要使用正确的工具、正确的查询/语法以及正确的操作&#xff0c;并将所有信息…...

攻略 | 6步帮助中小微企业开拓东盟机电产品市场

如何帮助中小微外贸企业在东盟市场拓展机电产品一般贸易&#xff1f;随着全球化的发展&#xff0c;越来越多的中小微外贸企业开始涉足国际贸易。对于机电产品行业而言&#xff0c;东盟市场是一个非常重要的出口目的地。本文将为您介绍如何帮助中小微外贸企业在东盟市场拓展机电…...

Linux服务器磁盘分区、挂载、卸载及报错处理

整体操作是&#xff1a;先对磁盘进行格式化&#xff0c;格式化后挂载到需要的挂载点&#xff0c;最后添加分区启动表&#xff0c;以便下次系统启动时自动挂载。一、linux分区1、Linux来说wulun有几个分区&#xff0c;分给哪一目录使用&#xff0c;他归根结底只有一个根目录&…...

JavaScript基础语法入门

一. JS简介 JavaScript , 简称JS, JS最初只是为了进行前端页面开发, 但随这后来JS越来越火之后, JS就被赋予了更多的功能, 可以用来开发桌面程序, 手机App, 服务器端的程序等… JS是一种动态类型, 弱类型的脚本语言, 通过解释器运行, 主要在客户端和浏览器上运行, 比如Chrome…...

Linux基础命令-ln创建链接文件

文章目录 ln 命令介绍 命令格式 基本参数 参考实例 1&#xff09; 创建文件的硬链接 2&#xff09;创建文件的软链接 3&#xff09;创建链接文件时&#xff0c;相同目标文件创建备份文件 命令总结 ln 命令介绍 先看下帮助文档中的含义 NAME ln - make links …...

Day21【元宇宙的实践构想07】—— 元宇宙与人工智能

&#x1f483;&#x1f3fc; 本人简介&#xff1a;男 &#x1f476;&#x1f3fc; 年龄&#xff1a;18 &#x1f91e; 作者&#xff1a;那就叫我亮亮叭 &#x1f4d5; 专栏&#xff1a;元宇宙 0.0 写在前面 “元宇宙”在2021年成为时髦的概念。元宇宙到底是什么&#xff1f;元宇…...

MySQL的InnoDB 三种行锁,SQL 语句加了哪些锁?

InnoDB 三种行锁&#xff1a; Record Lock&#xff08;记录锁&#xff09;&#xff1a;锁住某一行记录 Gap Lock&#xff08;间隙锁&#xff09;&#xff1a;锁住一段左开右开的区间 Next-key Lock&#xff08;临键锁&#xff09;&#xff1a;锁住一段左开右闭的区间 哪些语句…...

Java培训:深入解读函数式接口

函数式编程是一种编程规范或一种编程思想&#xff0c;简单可以理解问将运算或实现过程看做是函数的计算。 Java8为了实现函数式编程&#xff0c;提出了3个重要的概念&#xff1a;Lambda表达式、方法引用、函数式接口。现在很多公司都在使用lambda表达式进行代码编写&#xff0c…...

scratch潜水 电子学会图形化编程scratch等级考试一级真题和答案解析2022年12月

目录 scratch潜水 一、题目要求 1、准备工作 2、功能实现 二、案例分析...

网站做宣传的免费渠道有那种/深圳seo技术

---恢复内容开始--- 【强制】POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型boolean isSuccess;的属性,它的方法也是isSuccess(),RPC框架在反向解析的时候,“以为”对应的属性名称是success,导致属性获取不到,进而抛出异常。 【…...

响应式网站制作流程图/搜索引擎关键词优化

一、类的扩展方法 1.静态方法 语法&#xff1a;staticmethod&#xff0c;静态方法不能访问公有属性&#xff0c;不能访问类。可在实例化后直接调用&#xff0c;并且在方法里可以通过self.调用实例变量或类变量。 1 class eat(object): 2 def __init__(self,name): 3 …...

网站域名更换相应内容/搜索引擎排名优化方案

系列文章目录 Hadoop第一章&#xff1a;环境搭建 Hadoop第二章&#xff1a;集群搭建&#xff08;上&#xff09; Hadoop第二章&#xff1a;集群搭建&#xff08;中&#xff09; 文章目录系列文章目录前言一、自定义文件配置1.core-site.xml2.hdfs-site.xml3.hdfs-site.xml4.ma…...

中国100强企业排名表/今日头条seo

&#x1f525;《嵌入式系统开发》系列专栏主要以LPC1100系列微控制器为硬件平台&#xff0c;详细介绍Cortex—-M0微控制器的原理与开发技术&#xff0c;基于keil仿真软件平台设计最小应用系统板和具有在板仿真器的口袋开发板以及相关例程。 &#x1f525;本文已收录于嵌入式系统…...

cetos做网站/萌新seo

前提&#xff1a;虚拟机的网络适配器选择桥接到物理网卡&#xff0c;使Ubuntu可以正常联网。 1、安装&#xff1a;通过apt方式安装 $: sudo add-apt-repository ppa:git-core/ppa 中间暂停时&#xff0c;按回车键Enter继续安装... $: sudo apt-get update $: …...

温州网站设计只找亿企邦/信息如何优化上百度首页

实验名称&#xff1a;迈克尔逊干涉仪实验 1. 实验目的&#xff1a; 掌握迈克尔逊干涉仪的干涉原理&#xff1b;了解非定域干涉和时间相干性&#xff1b;学会测量激光波长和介质的折射率。学习一种测定光波长的方法&#xff0c;加强对等倾干涉的理解。 2. 实验器材&#xff1…...