虚拟机上搭建达梦DSC简略步骤

vmware 17
centos 7.6
达梦 dm8_20240920_x86_rh7_64.iso


cd /d C:\Program Files (x86)\VMware\VMware Workstation\

.\vmware-vdiskmanager.exe -c -s 100MB -a lsilogic -t 2 "F:\vm\dmdsc\sharedisk\share-dcr.vmdk" 
.\vmware-vdiskmanager.exe -c -s 100MB -a lsilogic -t 2 "F:\vm\dmdsc\sharedisk\share-vote.vmdk" 
.\vmware-vdiskmanager.exe -c -s 1GB   -a lsilogic -t 2 "F:\vm\dmdsc\sharedisk\share-arch1.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB   -a lsilogic -t 2 "F:\vm\dmdsc\sharedisk\share-data1.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB   -a lsilogic -t 2 "F:\vm\dmdsc\sharedisk\share-data2.vmdk"
.\vmware-vdiskmanager.exe -c -s 2GB   -a lsilogic -t 2 "F:\vm\dmdsc\sharedisk\share-data3.vmdk"
.\vmware-vdiskmanager.exe -c -s 500MB -a lsilogic -t 2 "F:\vm\dmdsc\sharedisk\share-data4.vmdk"

虚拟机上增加共享磁盘 选择现有设备

编辑虚拟机vmx文件
scsi1.sharedBus = "virtual"
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
disk.EnableUUID = "TRUE" 

nmcli d s

vi /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.32.202
NETMASK=255.255.255.0
GATEWAY=192.168.32.2

nmcli dev conn ens38

ONBOOT=yes
BOOTPROTO=static
IPADDR=10.10.1.202
NETMASK=255.255.255.0 

ifup ens38

虚拟机挂载iso
mount -r /dev/sr0 /mnt

配置一个yum源
cat  << EOF >/etc/yum.repos.d/a.repo
[server]
name=ISO
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF

yum install  xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock


groupadd -g 1001 dinstall
groupadd -g 1000 dmdba
useradd -u 1000 -g dinstall -G  dmdba -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
 
mkdir -p /dm/dmdbms	
mkdir -p /var/log/dm/core

chown -R dmdba:dinstall /dm
chown -R dmdba:dinstall /var/log/dm

lsblk

for i in b c d e f  ;   
do
echo /dev/sd$i    `/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`
done

curr=$(cd "$(dirname "$0")";pwd)
for i in b c d e f  ;   
do
echo "KERNEL==\"sd*\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asmdisk/dsc_sd$i\",OWNER=\"dmdba\", GROUP=\"dinstall\",MODE=\"0660\"" >> $curr/88-dm-asmdevices.rules
done

vi /etc/udev/rules.d/88-dm-asmdevices.rules


KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c295249738d8ac971bf304bd7035", SYMLINK+="asmdisk/dsc_dcr",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29bd4c5096b0781b7b6b3b64ca4", SYMLINK+="asmdisk/dsc_vote",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29cd45b6e6b4864fc1d77f9f54e", SYMLINK+="asmdisk/dsc_asm1",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29b9cc0a34890cb32018fb274e0", SYMLINK+="asmdisk/dsc_asm2",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c29e3593c151c5cd18de4459789b", SYMLINK+="asmdisk/dsc_asm3",OWNER="dmdba", GROUP="dinstall",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c2921f68c9c8671a29f543ecf45e", SYMLINK+="asmdisk/dsc_asm4",OWNER="dmdba", GROUP="dinstall",MODE="0660"

/sbin/udevadm control --reload-rules 
/sbin/udevadm trigger --type=devices --action=change


unzip dm8_20240920_x86_rh7_64.zip

mount -r /home/dmdba/dm8_20240920_x86_rh7_64.iso /mnt/
cp /mnt/DMInstall.bin /home/dmdba
chown dmdba:dinstall /home/dmdba/DMInstall.bin
chown 755 /home/dmdba/DMInstall.bin
su - dmdba


[dmdba@localhost ~]$ ./DMInstall.bin -i
Installer Language:
[1]: 简体中文
[2]: English
Please select the installer's language [2]:1
'
解压安装程序..........
硬件架构校验通过!
欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [Y/y]:
设置时区:
[ 1]: (GTM-12:00) 日界线西
[ 2]: (GTM-11:00) 萨摩亚群岛
[ 3]: (GTM-10:00) 夏威夷
[ 4]: (GTM-09:00) 阿拉斯加
[ 5]: (GTM-08:00) 太平洋时间(美国和加拿大)
[ 6]: (GTM-07:00) 亚利桑那
[ 7]: (GTM-06:00) 中部时间(美国和加拿大)
[ 8]: (GTM-05:00) 东部部时间(美国和加拿大)
[ 9]: (GTM-04:00) 大西洋时间(美国和加拿大)
[10]: (GTM-03:00) 巴西利亚
[11]: (GTM-02:00) 中大西洋
[12]: (GTM-01:00) 亚速尔群岛
[13]: (GTM) 格林威治标准时间
[14]: (GTM+01:00) 萨拉热窝
[15]: (GTM+02:00) 开罗
[16]: (GTM+03:00) 莫斯科
[17]: (GTM+04:00) 阿布扎比
[18]: (GTM+05:00) 伊斯兰堡
[19]: (GTM+06:00) 达卡
[20]: (GTM+07:00) 曼谷,河内
[21]: (GTM+08:00) 中国标准时间
[22]: (GTM+09:00) 首尔
[23]: (GTM+10:00) 关岛
[24]: (GTM+11:00) 所罗门群岛
[25]: (GTM+12:00) 斐济
[26]: (GTM+13:00) 努库阿勒法
[27]: (GTM+14:00) 基里巴斯
请选择时区 [6]:21

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:
所需空间: 1983M

请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms
可用空间: 51G
是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

安装前小结
安装位置: /dm/dmdbms
所需空间: 1983M
可用空间: 51G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2024-10-30 04:33:19
[INFO] 安装 基础 模块...
2024-10-30 04:33:19
[INFO] 安装达梦数据库...
2024-10-30 04:34:47
[INFO] 安装 服务器 模块...
2024-10-30 04:35:08
[INFO] 安装 客户端 模块...
2024-10-30 04:35:46
[INFO] 安装 驱动 模块...
2024-10-30 04:36:03
[INFO] 安装 手册 模块...
2024-10-30 04:36:07
[INFO] 安装 服务 模块...
2024-10-30 04:36:09
[INFO] 移动日志文件。
2024-10-30 04:36:11
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/dm/dmdbms/script/root/root_installer.sh

安装结束

[dmdba@localhost ~]$ exit
logout
[root@localhost ~]# /dm/dmdbms/script/root/root_installer.sh
移动 /dm/dmdbms/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@localhost ~]#


mkdir /dm/dmdbms/config/


vi /dm/dmdbms/config/dmdcr_cfg.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/asmdisk/dsc_vote  ##规划的vote盘
DCR_OGUID = 2023101001      ##规则要求YYYYMMDD01/02…长度不超过19位只能为数字,消息标识,DMCSSM 登录DMCSS 消息校验用

[GRP]
DCR_GRP_TYPE = CSS      
DCR_GRP_NAME = GRP_CSS  ##CSS服务组名,固定名称
DCR_GRP_N_EP = 2        
DCR_GRP_DSKCHK_CNT = 60 ##参数的标准配置规范
[GRP_CSS]    ##与CSS [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_CSS1     ##节点CSS服务名 
DCR_EP_HOST = 10.10.1.201     #dsc1心跳ip
DCR_EP_PORT = 9220   ##端口使用规范  
[GRP_CSS]   ##与[GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_CSS2   ##节点CSS服务名
DCR_EP_HOST = 10.10.1.202  #dsc2心跳ip
DCR_EP_PORT = 9220   

[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM   ##ASM服务组名,固定名称
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_ASM]   ##与ASM [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_ASM1  ##节点ASM服务名
DCR_EP_SHM_KEY = 93360 
DCR_EP_SHM_SIZE = 100  #共享内存大小,每10M管理600G的ASM磁盘空间,初始化配置100,可管理6T
DCR_EP_HOST = 10.10.1.201  #dsc1心跳ip
DCR_EP_PORT = 8221
DCR_EP_ASM_LOAD_PATH = /dev/asmdisk   
[GRP_ASM]  ##与ASM [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = GRP_ASM2  ##节点ASM服务名
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 100    #共享内存大小,每10M管理600G的ASM磁盘空间,初始化配置100,可管理6T
DCR_EP_HOST = 10.10.1.202   #dsc2心跳ip
DCR_EP_PORT = 8221
DCR_EP_ASM_LOAD_PATH = /dev/asmdisk   ##规划的磁盘目录

[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DB    ##DB服务组名,固定名称
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_DB]   ##与DB  [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = ZHCX1  ##节点实例名
DCR_EP_SEQNO = 0       #固定数值
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 7222    
[GRP_DB]  ##与DB  [GRP]标签配置中的DCR_GRP_NAME保持一致
DCR_EP_NAME = ZHCX2  ##节点实例名
DCR_EP_SEQNO = 1    #固定数值
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 7222

ls -l /dev/asmdisk

vi /dm/dmdbms/config/asmcmd.txt
#asm script file
create dcrdisk '/dev/asmdisk/dsc_dcr' 'dcr' 32
create votedisk '/dev/asmdisk/dsc_vote' 'vote' 32
init dcrdisk '/dev/asmdisk/dsc_dcr' from '/dm/dmdbms/config/dmdcr_cfg.ini' identified by 'SYSDBA'
init votedisk '/dev/asmdisk/dsc_vote' from '/dm/dmdbms/config/dmdcr_cfg.ini'
create asmdisk '/dev/asmdisk/dsc_asm1' 'ARCH1'
create asmdisk '/dev/asmdisk/dsc_asm2' 'DATA1'
create asmdisk '/dev/asmdisk/dsc_asm3' 'DATA1'

cd /dm/dmdbms/bin

./dmasmcmd SCRIPT_FILE=/dm/dmdbms/config/asmcmd.txt


vi /dm/dmdbms/config/dmasvrmal.ini
[MAL_INST1]
 MAL_INST_NAME = GRP_ASM1   ##与dmdcr_cfg.ini配置文件中ASM组中配置的节点名称保持一致
 MAL_HOST =  10.10.1.201  ##dsc1心跳ip
 MAL_PORT = 6223      
[MAL_INST2]
 MAL_INST_NAME = GRP_ASM2   ##与dmdcr_cfg.ini配置文件中ASM组中配置的节点名称保持一致
 MAL_HOST =  10.10.1.202  ##dsc2心跳ip
 MAL_PORT = 6223 
 
vi /dm/dmdbms/config/dmdcr.ini
DMDCR_PATH = /dev/asmdisk/dsc_dcr   
DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini  
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 90
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/DmASMSvrServiceZHCX1 start  ##服务名与注册的服务名保持一致
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/DmServiceZHCX1 start   ##服务名与注册的服务名保持一致

DMDCR_PATH = /dev/asmdisk/dsc_dcr   
DMDCR_MAL_PATH =/dm/dmdbms/config/dmasvrmal.ini  
DMDCR_SEQNO = 0
DMDCR_AUTO_OPEN_CHECK = 90
#ASM 重启参数,命令行方式启动
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/DmASMSvrServiceZHCX2 start  ##服务名与注册的服务名保持一致
#DB 重启参数,命令行方式启动
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/DmServiceZHCX2 start   ##服务名与注册的服务名保持一致


cd /dm/dmdbms/bin
./dmcss DCR_INI=/dm/dmdbms/config/dmdcr.ini
./dmasmsvr DCR_INI=/dm/dmdbms/config/dmdcr.ini
 
vim /dm/dmdbms/config/create_asm_group.txt
#asm script file
create diskgroup 'DMARCH' asmdisk '/dev/asmdisk/dsc_asm1'
create diskgroup 'DMDATA' asmdisk '/dev/asmdisk/dsc_asm2'
ALTER diskgroup 'DMDATA' ADD asmdisk '/dev/asmdisk/dsc_asm3'

cd /dm/dmdbms/bin
 ./dmasmtool DCR_INI=/dm/dmdbms/config/dmdcr.ini SCRIPT_FILE=/dm/dmdbms/config/create_asm_group.txt
 
vi /dm/dmdbms/config/dminit.ini
db_name = ZHCX            #初始化数据库名称大写
system_path = +DMDATA/      #初始化数据库存放的路径
system = +DMDATA/ZHCX/SYSTEM.DBF    #SYSTEM 表空间路径
system_size = 128       #SYSTEM 表空间大小
roll = +DMDATA/ZHCX/ROLL.DBF        #ROLL 表空间路径
roll_size = 128 	#ROLL 表空间大小
main = +DMDATA/ZHCX/MAIN.DBF        #MAIN 表空间路径
main_size = 128	 #MAIN 表空间大小
ctl_path = +DMDATA/ZHCX/dm.ctl      #DM.CTL 控制文件路径
ctl_size = 8    #DM.CTL 控制文件大小
log_size = 256 #日志文件大小
dcr_path = /dev/asmdisk/dsc_dcr    #dcr 磁盘路径
dcr_seqno = 0   #连接 DMASM 节点节点号
auto_overwrite = 1      #文件存在时的处理方式0或1
PAGE_SIZE = 32
EXTENT_SIZE = 32 
CHARSET =1  #应用提供字符集
CASE_SENSITIVE =1     #应用提供大小写是否敏感 未提供默认敏感
LENGTH_IN_CHAR =0   #应用提供字符存储还是字节存储
BLANK_PAD_MODE=0  #应用提供结尾是否空格填充
[ZHCX1]  ##与dmdcr_cfg.ini配置文件中DB组中配置的节点名称保持一致
config_path = /dm/dmdbms/config/dsc1_config   #路径要有创建权限
port_num = 5236 
mal_host = 10.10.1.201        #dsc1心跳ip,节点 MAL 系统使用 IP
mal_port = 4234
LOG_PATH = +DMDATA/ZHCX1_01.log
LOG_PATH = +DMDATA/ZHCX1_02.log
[ZHCX2]  ##与dmdcr_cfg.ini配置文件中DB组中配置的节点名称保持一致
config_path = /dm/dmdbms/config/dsc2_config   #路径要有创建权限
port_num = 5236
mal_host = 10.10.1.202  #dsc2心跳ip
mal_port = 4234
LOG_PATH = +DMDATA/ZHCX2_01.log
LOG_PATH = +DMDATA/ZHCX2_02.log 

./dminit control=/dm/dmdbms/config/dminit.ini

scp -r dsc2_config dmdba@ip:/dm/dmdbms/config/

CSSM_OGUID = 2023101001  #和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_CSS_IP = 10.10.1.201:9220  #与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致 dsc1的心跳IP
CSSM_CSS_IP = 10.10.1.202:9220   #与DMDCR_CFG.INI中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致 dsc2的心跳IP
CSSM_LOG_PATH =/dm/dmdbms/log   #监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 256      #每个日志文件大小上限
CSSM_LOG_SPACE_LIMIT = 1024   #限定日志文件总占用空间

vi  /dm/dmdbms/config/dsc1_config/dmarch.ini

ARCH_LOCAL_SHARE = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST =+DMARCH/LOCAL_ARCH_ZHCX_1
ARCH_FILE_SIZE = 2048
ARCH_RESERVE_TIME= 4320   ##归档日志保留时间3天,单位分钟
ARCH_SPACE_LIMIT = 204800  #按资源申请单修改,归档保留上限磁盘的91%的二分之一
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = ZHCX2
ARCH_INCOMING_PATH =+DMARCH/LOCAL_ARCH_ZHCX_2
ARCH_FILE_SIZE = 2048
ARCH_RESERVE_TIME= 4320   ##归档日志保留时间3天,单位分钟
ARCH_SPACE_LIMIT = 204800  ##按资源申请单修改,归档保留上限磁盘的91%的二分之一

vi  /dm/dmdbms/config/dsc2_config/dmarch.ini

ARCH_LOCAL_SHARE = 1 
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/LOCAL_ARCH_ZHCX_2
ARCH_FILE_SIZE = 2048
ARCH_RESERVE_TIME = 4320   ##归档日志保留时间,单位分钟
ARCH_SPACE_LIMIT = 204800  #按资源申请单修改,归档保留上限磁盘的91%的二分之一
[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = ZHCX1
ARCH_INCOMING_PATH = +DMARCH/LOCAL_ARCH_ZHCX_1
ARCH_FILE_SIZE = 2048
ARCH_RESERVE_TIME= 4320   #归档日志保留时间,单位分钟
ARCH_SPACE_LIMIT = 204800  #按资源申请单修改,归档保留上限磁盘的91%的二分之一

# cd /dm/dmdbms/script/root/
# ./dm_service_installer.sh -t dmcss -p ZHCX1 -dcr_ini /dm/dmdbms/config/dmdcr.ini
# ./dm_service_installer.sh -t dmcss -p ZHCX2 -dcr_ini /dm/dmdbms/config/dmdcr.ini

./dm_service_installer.sh -t dmasmsvr -p ZHCX1 -dcr_ini /dm/dmdbms/config/dmdcr.ini -y DmCSSServiceZHCX1
./dm_service_installer.sh -t dmasmsvr -p ZHCX2 -dcr_ini /dm/dmdbms/config/dmdcr.ini -y DmCSSServiceZHCX2

./dm_service_installer.sh -t dmserver -p ZHCX1 -dm_ini /dm/dmdbms/config/dsc1_config/dm.ini -y DmASMSvrServiceZHCX1 -dcr_ini /dm/dmdbms/config/dmdcr.ini
./dm_service_installer.sh -t dmserver -p ZHCX2 -dm_ini /dm/dmdbms/config/dsc2_config/dm.ini -y DmASMSvrServiceZHCX2 -dcr_ini /dm/dmdbms/config/dmdcr.ini

vi /dm/dmdbms/config/dmdcr.ini

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【FPGA】Verilog:利用 4 个串行输入- 串行输出的 D 触发器实现 Shift_register

0x00 什么是寄存器 寄存器(Register)是顺序逻辑电路中使用的基本组成部分之一。寄存器用于在数字系统中存储和处理数据。寄存器通常由位(bit)构成,每个位可以存储一个0或1的值。通过寄存器,可以设计出计数器、加法器等各种数据处理电路。 0x01 寄存器的种类 基于 D 触发…

HTML实现 扫雷游戏

前言&#xff1a; 游戏起源与发展 扫雷游戏的雏形可追溯到 1973 年的 “方块&#xff08;cube&#xff09;” 游戏&#xff0c;后经改编出现了 “rlogic” 游戏&#xff0c;玩家需为指挥中心探出安全路线避开地雷。在此基础上&#xff0c;开发者汤姆・安德森编写出了扫雷游戏的…

微信小程序+Vant-自定义选择器组件(单选带筛选

实现效果 筛选是filter&#xff0c;搜索框如有显隐需要&#xff0c;需自行添加配置显隐参数弹出层高度样式需要手动修改&#xff0c;需自行添加配置高度参数.json文件配置"component": true, 实现代码 组件代码 <van-popup show"{{ show }}" posit…

【Linux课程学习】:环境变量:HOME,su与su - 的区别,让程序在哪些用户下能运行的原理,环境变量具有全局性的原因?

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 HOME环境变量&#xff1a; PWD环境变量&#…

Java基础 设计模式——针对实习面试

目录 Java基础 设计模式单例模式工厂模式观察者模式策略模式装饰器模式其他设计模式 Java基础 设计模式 单例模式 单例模式&#xff08;Singleton Pattern&#xff09; 定义&#xff1a;确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问这个实例。适用场景&…

QRCode.toDataURL() vue3 uniapp h5在 Android环境下二维码显示不出来

“qrcode”: “^1.5.4” 修改前&#xff08;在浏览器里面是可以加载的&#xff09;&#xff1a; 查资料好像是Android上加载的是canvas&#xff0c;不是加载的img。 修改后&#xff1a; 这里val其实打印出来是svg代码&#xff0c;所以用v-html就好了。

数据结构——排序算法第一幕(插入排序:直接插入排序、希尔排序 选择排序:直接选择排序,堆排序)超详细!!!!

文章目录 前言一、排序1.1 概念1.2 常见的排序算法 二、插入排序2.1 直接插入排序2.2 希尔排序希尔排序的时间复杂度 三、选择排序3.1 直接选择排序3.2 堆排序 总结 前言 时间很快&#xff0c;转眼间已经到数据结构的排序算法部分啦 今天我们来学习排序算法当中的 插入排序 和 …

第32周:猴痘病识别(Tensorflow实战第四周)

目录 前言 一、前期工作 1.1 设置GPU 1.2 导入数据 1.3 查看数据 二、数据预处理 2.1 加载数据 2.2 可视化数据 2.3 再次检查数据 2.4 配置数据集 2.4.1 基本概念介绍 2.4.2.代码完成 三、构建CNN网络 四、编译 五、训练模型 六、模型评估 6.1 Loss和Accuracy…

【创建型设计模式】工厂模式

【创建型设计模式】工厂模式 创建型设计模式第二期&#xff01;本期介绍简单工厂模式和工厂方法模式。 简单工厂模式 简单工厂模式&#xff08;又叫作静态工厂方法模式&#xff09;&#xff0c;其属于创建型设计模式&#xff0c;简单工厂模式不属于设计模式中的 23 种经典模…

【Linux】安装cuda

一、安装nvidia驱动 # 添加nvidia驱动ppa库 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update# 查找推荐版本 sudo ubuntu-drivers devices# 安装推荐版本 sudo apt install nvidia-driver-560# 检验nvidia驱动是否安装 nvidia-smi 二、安装cudatoolkit&…

上天入地 灵途科技光电技术赋能空间感知

近来&#xff0c;人工智能技术频频亮相各大马拉松赛事&#xff0c;成为引人注目的科技亮点。 11月3日&#xff0c;杭州马拉松首次启用了机器狗作为配速员&#xff0c;以稳定的节奏为选手提供科学的跑步节奏。 11月11日&#xff0c;亦庄半程马拉松的终点处&#xff0c;人形机器…

Java三大特性:封装、继承、多态【详解】

封装 定义 隐藏对象的属性和实现细节&#xff0c;仅对外公开接口&#xff0c;控制在程序中属性的读取和修改的访问级别便是封装。 在开发中造一个类就是封装&#xff0c;有时也会说封装一个类。封装可以隐藏一些细节或者包含数据不能被随意修改。 比如这是一个敏感的数据&a…

40分钟学 Go 语言高并发:【实战】并发安全的配置管理器(功能扩展)

【实战】并发安全的配置管理器&#xff08;功能扩展&#xff09; 一、扩展思考 分布式配置中心 实现配置的集中管理支持多节点配置同步实现配置的版本一致性 配置加密 敏感配置的加密存储配置的安全传输访问权限控制 配置格式支持 支持YAML、TOML等多种格式配置格式自动…

【ChatGPT大模型开发调用】如何获得 OpenAl API Key?

如何获取 OpenAI API Key 获取 OpenAI API Key 主要有以下三种途径&#xff1a; OpenAI 官方平台 (推荐): 开发者用户可以直接在 OpenAI 官方网站 (platform.openai.com) 注册并申请 API Key。 通常&#xff0c;您可以在账户设置或开发者平台的相关页面找到申请入口。 Azure…

苹果系统中利用活动监视器来终止进程

前言 苹果系统使用的时候总是感觉不太顺手。特别是转圈的彩虹球出现的时候&#xff0c;就非常令人恼火。如何找到一个像Windows那样任务管理器来终止掉进程呢&#xff1f; 解决办法 Commandspace 弹出搜索框吗&#xff0c;如下图&#xff1a; 输入“活动”进行搜索&#xff…

实战项目负载均衡式在线 OJ

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;能自己实现负载均衡式在线 OJ。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! > 专栏选自&#xff1…

python Flask指定IP和端口

from flask import Flask, request import uuidimport json import osapp Flask(__name__)app.route(/) def hello_world():return Hello, World!if __name__ __main__:app.run(host0.0.0.0, port5000)

burp suite-1

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

【Spring boot】微服务项目的搭建整合swagger的fastdfs和demo的编写

文章目录 1. 微服务项目搭建2. 整合 Swagger 信息3. 部署 fastdfsFastDFS安装环境安装开始图片测试FastDFS和nginx整合在Storage上安装nginxnginx安装不成功排查:4. springboot 整合 fastdfs 的demodemo编写1. 微服务项目搭建 版本总结: spring boot: 2.6.13springfox-boot…

【区块链】深入理解椭圆曲线密码学(ECC)

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 深入理解椭圆曲线密码学(ECC)1. 概述2. 椭圆曲线的数学基础2.1 基本定义2.2 有限…