达梦数据库文档

1:达梦数据库(DM8)简介

达梦数据库管理系统是武汉达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统目前最新的版本是8.0版本,简称DM8。
DM8是达梦公司在总结DM系列产品研发与应用经验的基础上,坚持开放创新、简洁实用的理念,推出的新一代自研数据库。
DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点,融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规模改进,多样化架构充分满足不同场景需求,支持超大规模并发事务处理和事务-分析混合型业务处理,动态分配计算资源,实现更精细化的资源利用、更低成本的投入。一个数据库,满足用户多种需求,让用户能更加专注于业务发展。

2:达梦数据在Linux上的安装

产品下载 | 达梦数据库,选择X86,CentOS7

2.1:操作系统环境准备

本次使用的系统版本是CentOS Linux release 7.6.1810 (Core)

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)
2.2:上传所需文件到/opt/soft
[root@localhost soft]# ls
dm8_20231116_x86_rh6_64.zip
2.3:创建安装用户dmdba和组dinstall,并设置用户密码
[root@localhost ~]# groupadd dinstall
[root@localhost ~]# useradd -s /bin/bash -m -d /home/dmdba -g dinstall dmdba
[root@blocalhost ~]# passwd dmdba      //这里需要设置一个密码,可以设置为 12345678
2.4:关闭SELinux
[root@localhost soft]# vi /etc/selinux/config
SELINUX=disabled#关闭防火墙
systemctl stop firewalld 
systemctl disable firewalld
2.5:给dmdba配置系统资源限制
[root@blocalhost ~]# vi /etc/security/limits.conf
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft stack 16384
dmdba hard stack 32768用dmdba用户登录系统,查看ulimit参数是否生效: ulimit -a(注意:要切换到dmdba用户进行查看)
[root@localhost soft]# su dmdba 
[dmdba@localhost soft]$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31078
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
2.6:创建相关目录
[root@localhost ~]# su - root
[root@localhost ~]# mkdir -p /data/{dmdata,dmarch,logcommit,dmbak}
[root@localhost ~]# chown -R dmdba:dinstall /data/{dmdata,dmarch,logcommit,dmbak}
2.7:解压DM文件,并挂载
[root@localhost ~]# cd /opt/soft[root@localhost soft]#unzip dm8_20220701_x86_rh6_64_ent.zip     
//如果这里报错没有找到unzip,需要用yum install unzip 如果是离线环境可是去现在一个二进制的包文件进行安装
[root@localhost soft]# ll
total 1691232
-rw-r--r-- 1 root root 874342400 Nov 22 14:19 dm8_20231116_x86_rh6_64.iso
-rw-r--r-- 1 root root       100 Nov 22 14:19 dm8_20231116_x86_rh6_64.iso_SHA256.txt
-rw-r--r-- 1 root root 857471599 Dec 27 16:02 dm8_20231116_x86_rh6_64.zip挂载iso文件,这样就能像访问目录一样对iso镜像文件进行访问了[root@localhost soft]# mkdir -p /mnt/cdrom
[root@localhost soft]# mount -o loop /opt/soft/dm8_20231116_x86_rh6_64.iso /mnt/cdrom
mount: /dev/loop0 is write-protected, mounting read-only
2.8:安装DM数据库软件
[root@localhost soft]# su - dmdba
[dmdba@localhost ~]$ cd /mnt/cdrom
[dmdba@localhost cdrom]$ ./DMInstall.bin -i开始安装,语言选择中文,Key文件先不输入(没有key文件,默认使用一年后到期)
设置时区,选择:[21]: GTM+08=中国标准时间 ,这也是默认的选项。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]: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) 基里巴斯
请选择时区 [21]:21下面的地址为 /home/dmdba/dmdbms安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1740M请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 89G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1740M
可用空间: 89G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2023-12-28 04:32:54 
[INFO] 安装达梦数据库...
2023-12-28 04:32:54 
[INFO] 安装 基础 模块...
2023-12-28 04:32:57 
[INFO] 安装 服务器 模块...
2023-12-28 04:32:57 
[INFO] 安装 客户端 模块...
2023-12-28 04:32:58 
[INFO] 安装 驱动 模块...
2023-12-28 04:32:58 
[INFO] 安装 手册 模块...
2023-12-28 04:32:58 
[INFO] 安装 服务 模块...
2023-12-28 04:32:58 
[INFO] 移动日志文件。
2023-12-28 04:32:59 
[INFO] 安装达梦数据库完成。请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh安装结束

安装结束后,提示用root用户执行脚本

切换root用户
[dmdba@localhost cdrom]$ su - root
[root@localhost ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
移动 /home/dmdba/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服务
2.9:创建数据库实例
su - dmdba
[dmdba@localhost bin]$ pwd
/home/dmdba/dmdbms/bin[dmdba@localhost bin]$ ./dminit PATH=/data/dmdata EXTENT_SIZE=32 PAGE_SIZE=16 CASE_SENSITIVE=n SYSDBA_PWD=sysdba123 DB_NAME=dmtest INSTANCE_NAME=dmtest PORT_NUM=5236
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-11-09
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /data/dmdata/dmtest/dmtest01.loglog file path: /data/dmdata/dmtest/dmtest02.logwrite to dir [/data/dmdata/dmtest].
create dm database success. 2023-12-28 19:21:29
2.10:注册实例服务的脚本
su - root
[root@localhost root]# pwd
/home/dmdba/dmdbms/script/root[root@localhost root]# ./dm_service_installer.sh -t dmserver -p TEST -dm_ini /data/dmdata/dmtest/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceTEST.service to /usr/lib/systemd/system/DmServiceTEST.service.
创建服务(DmServiceTEST)完成
2.11:启动数据库服务
[root@localhost root]# systemctl start DmServiceTEST[root@localhost root]# systemctl status DmServiceTEST   #查看状态
● DmServiceTEST.service - DM Instance Service(DmServiceTEST).Loaded: loaded (/usr/lib/systemd/system/DmServiceTEST.service; enabled; vendor preset: disabled)Active: active (running) since Thu 2023-12-28 19:28:33 CST; 10s agoProcess: 67672 ExecStart=/home/dmdba/dmdbms/bin/DmServiceTEST start (code=exited, status=0/SUCCESS)Main PID: 67695 (dmserver)Tasks: 83CGroup: /system.slice/DmServiceTEST.service└─67695 /home/dmdba/dmdbms/bin/dmserver path=/data/dmdata/dmtest/dm.ini -noconsoleDec 28 19:28:18 localhost.localdomain systemd[1]: Starting DM Instance Service(DmServiceTEST)....
Dec 28 19:28:33 localhost.localdomain DmServiceTEST[67672]: [35B blob data]
Dec 28 19:28:33 localhost.localdomain systemd[1]: Started DM Instance Service(DmServiceTEST)..
[root@localhost root]# 或安装bin目录下进行启动
# ./DmServiceTEST start

3:DM数据库配置

3.1:配置环境变量
达梦数据库提供了命令行客户端工具disql(类似oracle的sqlplus),用于连接数据库。
disql工具在安装目录的bin目录下,可以把bin目录添加到环境变量PATH中,dmdba用户下查看配置文件[root@localhost root]# su - dmdba
[dmdba@localhost ~]$ vi ~/.bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
export PATH[dmdba@localhost ~]$ source ~/.bash_profile这样我们在任何地方都可以使用命令登录数据库了[dmdba@localhost ~]$ disql SYSDBA/SYSDBA123
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.518(ms)
disql V8
SQL> 切换root用户使用软连接
[dmdba@localhost ~]$ su root
[root@localhost ~]# vi ~/.bash_profile把下列数据插入到指定的位置即可
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
3.2:创建表空间、用户
create tablespace aaa datafile '/data/dmdata/dmtest/AAA.DBF' size 128 autoextend on next 4 maxsize 1024;create user "dameng" identified by "dameng123" default tablespace "aaa" default index tablespace "aaa";grant "PUBLIC","RESOURCE","VTI" to "dameng";
grant SELECT on "DMHR"."CITY" to "dameng";
alter user "dameng" limit  failed_login_attemps unlimited, password_lock_time unlimited, password_grace_time unlimited;select * from dba_users;CALL SP_TABLEDEF('DAMENG', 't1');  查看建表语句
3.3:达梦数据库开启归档模式
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/dmarch, TYPE=LOCAL, FILE_SIZE=2048, SPACE_LIMIT=102400';
ALTER DATABASE OPEN;
3.4:配置 SQL 日志

SQL 日志内容包含系统各会话执行的 SQL 语句、参数信息、错误信息等。
SQL 跟踪日志主要用于分析错误和分析性能问题,基于跟踪日志可以对系统运行状态有一个分析,比如,可以挑出系统现在执行速度较慢的 SQL 语句,进而对其进行优化。

打开 SQL 日志会对系统的性能会有较大影响,一般用于查错和调优的时候才会打开,默认情况下系统是关闭 SQL 跟踪日志的。若需要 SQL 跟踪日志但对日志的实时性没有严格的要求,又希望系统有较高的效率,可以设置 sqllog.ini 参数 SQL_TRACE_MASK 和 MIN_EXEC_TIME 只记录关注的相关记录,减少日志总量;设置 sqllog.ini 参数 ASYNC_FLUSH 打开 SQL 日志异步刷盘功能,以提高系统性能。

创建 SQL 日志存放目录
su - dmdba
mkdir -p /data/logcommitselect * from v$parameter where name like 'SVR_LOG%';
修改实例路径下 sqllog.ini 文件如下:设置 sql 日志为异步,按照文件大小进行切换,每个 1024M,20 个文件循环写。
cd /data/dmdata/dmtest
vi sqllog.iniBUF_TOTAL_SIZE = 10240 #SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE = 1024 #SQLs Log Buffer Size(K)(50~409600)
BUF_KEEP_CNT = 6 #SQLs Log buffer keeped count(1~100)[SLOG_ALL]
FILE_PATH = /data/logcommit  #sql 日志生成路径
PART_STOR = 0
SWITCH_MODE = 2
SWITCH_LIMIT = 1024  #每个日志文件 1024M
ASYNC_FLUSH = 1
FILE_NUM = 20  #循环收集 20 个可以根据实际情况做调整
ITEMS = 0
SQL_TRACE_MASK = 1
MIN_EXEC_TIME = 0
USER_MODE = 0
USERS =执行调用存储过程生效配置文件,并开启 SQLLOG 日志。
SP_REFRESH_SVR_LOG_CONFIG();
sp_set_para_value(1,'SVR_LOG',1);--检查 SVR_LOG 参数。
select * from v$parameter where name like ‘SVR_LOG’;
3.5:备份

达梦数据库中的数据存储在数据库的物理数据文件中,数据文件按照页、簇和段的方式进行管理,数据页是最小的数据存储单元。任何一个对达梦数据库的操作,其根本都是对某个数据文件页的读写操作。因此,DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中,这里的有效数据页包括数据文件的描述页和被分配使用的数据页。数据库备份可按照实际需求进行手动备份或设置定时备份。手动备份详细内容可参考数据库安装目录 doc 路径下《DM8 备份与还原》手册。以下主要详细介绍定时备份相关内容。

达梦数据库提供定时备份功能。在设置定时备份前,应依据实际业务需求和数据量大小,采用不同的备份策略,达梦数据库常用备份策略包括全量备份 + 删除和全量备份 + 增量备份 + 删除。可使用命令行或图形化方式设置定时备份。

1. 全量备份 + 删除(推荐使用)
此备份策略适用于数据量小于 100G 的场景下。注意开启数据库归档,确定备份路径。
例如设置每天 23:00 全量备份、删除 10 天前的全量备份。备份路径为 /data/dmbak。

call SP_INIT_JOB_SYS(1);
call SP_CREATE_JOB('bakall_delall',1,0,'',0,0,'',0,'每天 23:00 全量备份、删除 10 天前的全量备份');
call SP_JOB_CONFIG_START('bakall_delall');
call SP_ADD_JOB_STEP('bakall_delall', 'bakall', 6, '01020000/data/dmbak', 3, 1, 0, 0, NULL, 0);call SP_ADD_JOB_STEP('bakall_delall', 'delall', 0, 'SF_BAKSET_BACKUP_DIR_ADD("DISK","/data/dmbak");
CALL SP_DB_BAKSET_REMOVE_BATCH("DISK",SYSDATE-10);', 1, 1, 0, 0, NULL, 0);call SP_ADD_JOB_SCHEDULE('bakall_delall', 'bakall_delall_time01', 1, 1, 1, 0, 0, '23:00:00', NULL, '2023-12-29 01:01:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakall_delall');

2. 全量 + 增量 + 删除
配置前明确以下内容:
(1)备份策略。例如每月第一个周六 23:00 全量备份。每天(除周六) 23:00 增量备份、删除 30 天前的增量备份、删除 40 天前的全量备份。
(2)注意开启数据库归档,在 bak 目录下手动创建全备文件夹(all)和增备文件夹(add)。即全量备份路径:/data/dmbak/all,增量备份路径:/data/dmbak/add。

--设置 2 分钟后自动进行一次全量备份
call SP_INIT_JOB_SYS(1);
call SP_CREATE_JOB('bakall_one',1,0,'',0,0,'',0,'执行一次全量备份');
call SP_JOB_CONFIG_START('bakall_one');
call SP_ADD_JOB_STEP('bakall_one', 'bakall', 6, '01020000/data/dmbak/all', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakall_one', 'bakall_one_time01', 1, 0, 0, 0, 0, NULL, NULL, SYSDATE()+0.0014, NULL, '');
call SP_JOB_CONFIG_COMMIT('bakall_one');--设置全量备份
call SP_CREATE_JOB('bakall',1,0,'',0,0,'',0,'每月第一个周六23:00全量备份');
call SP_JOB_CONFIG_START('bakall');
call SP_ADD_JOB_STEP('bakall', 'bakall', 6, '01020000/data/dmbak/all', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakall', 'bakall_time01', 1, 4, 1, 7, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakall');--设置增量备份 + 删除备份
call SP_CREATE_JOB('bakadd_delbak',1,0,'',0,0,'',0,'每天(除周六)23:00增量备份、删除30天前的增量备份、删除40天前的全量备份');
call SP_JOB_CONFIG_START('bakadd_delbak');
call SP_ADD_JOB_STEP('bakadd_delbak', 'bakadd', 6, '11020000/data/dmbak/all|/data/dmbak/add', 3, 1, 0, 0, NULL, 0);call SP_ADD_JOB_STEP('bakadd_delbak', 'delbak', 0, 'SF_BAKSET_BACKUP_DIR_ADD("DISK","/data/dmbak/add");
CALL SP_DB_BAKSET_REMOVE_BATCH("DISK",SYSDATE-30);
SF_BAKSET_BACKUP_DIR_ADD("DISK","/data/dmbak/all");
CALL SP_DB_BAKSET_REMOVE_BATCH("DISK",SYSDATE-40);', 1, 1, 0, 0, NULL, 0);call SP_ADD_JOB_SCHEDULE('bakadd_delbak', 'bakadd_delbak_time01', 1, 2, 1, 63, 0, '23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakadd_delbak');

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

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

相关文章

IPD-PDP产品开发流程-PDT产品开发计划Charter文档模板(word)3

今天继续为家分享PDT的产品开发计划Charter模板的内容。 Charter任务书模板内容7:人力资源和技能需求 在这一部分,列出项目在不同阶段所需要的不同人力资源需求、数量、能力要求,以及对于一些特殊人力资源的需求。 7.1不同阶段的人力资源汇…

概率论基础复习题

一、填空题 二、选择题 答案:B 答案:C 答案:C 答案:D。统计量不含任何未知参数。 答案:A 答案:C 样本均值是总体均值的无偏估计;样本方差是总体方差的无偏估计。 答案:B。统计值是一…

4.25 构建onnx结构模型-Split

前言 构建onnx方式通常有两种: 1、通过代码转换成onnx结构,比如pytorch —> onnx 2、通过onnx 自定义结点,图,生成onnx结构 本文主要是简单学习和使用两种不同onnx结构, 下面以 Slice 结点进行分析 方式 方法一…

Spring + SpringMVC + SpringBoot

Spring: 优点: Spring是一个开源的免费框架(容器)!Spring是一个轻量级的,非入侵的框架!控制反转(IOC),面向切面编程(AOP)支持事务的…

改进模型性能入手点

改进模型性能: 增加数据量: 更多的数据通常可以提高模型的泛化能力。尽量收集更多的训练数据,或者考虑使用数据增强技术来扩充现有数据集。调整模型架构: 考虑修改模型的架构,增加或减少层的数量,调整每层…

Linux学习网站

学习 Linux 的资源非常丰富,包括官方文档、在线教程、交互式学习平台和视频课程。以下是一些推荐的网站和资源,适合不同层次的 Linux 用户,从初学者到高级用户: 在线教程和课程 Linux Foundation Training: 网址: training.linu…

elasticsearch+Kibana

什么是es(elasticsearch) Elasticsearch是一个开源的分布式搜索和分析引擎,它构建在Apache Lucene搜索引擎库之上。它提供了一个分布式多用户能力的实时搜索和分析引擎,能够处理大规模的数据。Elasticsearch被广泛用于构建全文搜索、日志分析、实时应用…

油猴脚本开发,之如何添加html和css

简介 油猴是一个脚本管理器,让我们能够方便的使用js脚本,以实现对页面内容的修改、功能增强或其他定制化操作。 常见脚本管理器 Tampermonkey 应该是各位见得最多的也是最知名的,好用又稳定,多浏览器支持Greasemonkey 用户脚本始祖&#x…

4.24 构建onnx结构模型-Slice

前言 构建onnx方式通常有两种: 1、通过代码转换成onnx结构,比如pytorch —> onnx 2、通过onnx 自定义结点,图,生成onnx结构 本文主要是简单学习和使用两种不同onnx结构, 下面以 Slice 结点进行分析 方式 方法一:pytorch --> onnx 暂缓,主要研究方式二 方法…

omlox定位标准(二)——定位核心

上一篇文章中介绍了关于omlox hub相关内容,可以用于整合多种API接口,便于实现统一的应用,本文中介绍omlox core,介绍了基础设施、定位技术、定位引擎等内容。 2.omlox core zone and air-interface 随着越来越多的业务应用基于室…

鸿蒙4.0实战教学—基础ArkTS(简易视频播放器)

构建主界面 主界面由视频轮播模块和多个视频列表模块组成,效果图如图: VideoData.ets中定义的视频轮播图数组SWIPER_VIDEOS和视频列表图片数组HORIZONTAL_VIDEOS。 // VideoData.ets import { HorizontalVideoItem } from ./HorizontalVideoItem; impo…

优化v-viewer加载性能

v-viewer简介 v-viewer 是一个 Vue 组件&#xff0c;用于显示图片和其他媒体内容的全屏查看器。它基于 Viewer.js&#xff0c;一个强大的图片查看库。 以下是一个基本的使用示例&#xff1a; <template><div v-viewer><img src"image1.jpg" />&…

业务中台-研发篇

在业务中台研发阶段&#xff0c;我们主要聚焦于研发工作。首先&#xff0c;让我们了解一下我们的研发团队构成&#xff1a;UI设计师、开发工程师、测试工程师和前端工程师。 在业务中台项目中&#xff0c;我们采取了领域划分的策略&#xff0c;成立了商品、订单、库存、客户和…

【Java开发岗面试】八股文—Java框架(Spring+SpringMVC+MyBatis+SpringBoot)

声明&#xff1a; 背景&#xff1a;本人为24届双非硕校招生&#xff0c;已经完整经历了一次秋招&#xff0c;拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验&#xff08;主要是校招&#xff09;&#xff0c;包括我自己总结的八股文、算法、项目介绍、HR面和面试…

Jmeter学习总结(4)——提取接口响应内容JSON Extractor

后置提取常见的方式&#xff1a;正则表达式和JSON Extractor。 而接口响应大多是JSON格式。 在JSON提取器之前&#xff0c;可以根据响应结果去编写所需要的JSON表达式&#xff0c;在结果树中选择JSON PATH TESTER。 {"server_time": 1232333333333,"data&quo…

学习Vue的key作用和原理

今天主要学习了列表渲染和key的作用和原理&#xff0c;先来说说列表渲染&#xff0c;顾名思义想要渲染列表最快的方式就是使用for循环&#xff0c;我们要学习的就是Vue中对标签实现for循环的语法&#xff0c;它和我们传统的js语法有些不同&#xff0c;它是先要有Vue实例中data的…

尽量避免删改List

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 学习必须往深处挖&…

Apipost一键压测参数化功能详解

最近更新中Apipost对UI页面进行了一些调整&#xff0c;另外一键压测功能支持参数化&#xff01;本篇文章将详细介绍这些改动&#xff01; API调试页面的细节改动 在请求区填入请求参数或脚本时会有相应的标识 如在Query中填入多个参数时上方会展示数量 在预、后执行脚本中写…

【MCAL】TC397+EB-tresos之MCU配置实战 - 芯片时钟

本篇文章介绍了在TC397平台使用EB-treso对MCU驱动模块进行配置的实战过程&#xff0c;主要介绍了后续基本每个外设模块都要涉及的芯片时钟部分&#xff0c;帮助读者了解TC397芯片的时钟树结构&#xff0c;在后续计算配置不同外设模块诸如通信速率&#xff0c;定时器周期等&…

Unity UnityWebRequest 在Mac上使用报CommectionError

今天是想把前两天写的Demo拿到Mac上打个IPA的完事我发现 在运行时释放游戏资源的时候UnityWebRequest返回的结果不是Success 查看Log发现是 req.result 是CommectionError error是 Cannot connect to destination host 代码如下&#xff1a; UnityWebRequest req UnityWebRequ…